@charset "utf-8";
/* 하위메뉴 탭(.category-tabs/.tab_select) 스타일은 css/tabs.css 공통 파일에서 관리한다 */
/* manifesto - 매니페스토란? (PC 기준) */

.mf_page{--ink:#12253d; --ink2:#4a5a6e; --pt:#1a5fb4; --pt2:#2ba7ac; --line:#e1e5ea;}

/* ── 배경 : 비전/공약 페이지와 동일 재질 ───────── */
.mf_page.sub_content{background:linear-gradient(180deg,#fbfcfe 0%,#f4f7fb 55%,#f7fafb 100%); padding:10rem 0 14rem;}
.mf_page .bg_dot{opacity:.3; background-image:radial-gradient(rgba(18,37,61,.09) 1.2px,transparent 1.2px); background-size:26px 26px;}
.mf_page .sp_aur{position:absolute; border-radius:50%; pointer-events:none; filter:blur(11rem); opacity:.55; z-index:0;}
.mf_page .sp_aur.a1{width:62rem; height:62rem; left:-16rem; top:-14rem; background:radial-gradient(circle,rgba(43,167,172,.22),transparent 70%);}
.mf_page .sp_aur.a2{width:70rem; height:70rem; right:-20rem; top:18%; background:radial-gradient(circle,rgba(26,95,180,.16),transparent 70%);}
.mf_page .sp_aur.a3{width:64rem; height:64rem; right:2%; bottom:-10rem; background:radial-gradient(circle,rgba(43,167,172,.16),transparent 70%);}
/* .sub_in 폭·좌우 여백은 sub.css 공통 규칙을 그대로 사용한다 (개별 지정 금지) */

/* ── 상단 유틸 ─────────────────────── */
.mf_page .head_util{display:flex; gap:.8rem;}
.mf_page .util_btn{display:grid; place-items:center; width:4.6rem; height:4.6rem; border-radius:50%; color:#1c3a5e;
	background:rgba(255,255,255,.55); border:1px solid rgba(255,255,255,.9); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); transition:background .25s,transform .25s;}
.mf_page .util_btn:hover{background:#fff; color:var(--pt); transform:translateY(-2px);}
.mf_page .util_btn svg{width:2rem; height:2rem; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round;}

.mf_area{position:relative; z-index:2; width:100%; min-width:0; margin:0 auto;}

/* ── 섹션 공통 헤드 ─────────────────── */
.mf_sec_head{display:flex; align-items:flex-end; justify-content:space-between; gap:3rem;
	padding-bottom:2rem; margin-bottom:3.6rem; border-bottom:1px solid rgba(18,37,61,.14);}
.mf_sec_head .sh_tit{display:flex; align-items:center; gap:1.1rem;
	font-family:'YuhanKimberlyPureunSup',"Pretendard Variable",sans-serif;
	font-size:3.2rem; font-weight:700; letter-spacing:-.08rem; line-height:1.25; color:#0f2740;}
.mf_sec_head .sh_tit::before{content:''; flex:0 0 auto; width:1rem; height:1rem; border-radius:50%;
	background:linear-gradient(140deg,#54cdd4,#1a5fb4); box-shadow:0 0 1.6rem rgba(43,167,172,.55);}
.mf_sec_head .sh_eng{padding-bottom:.8rem; font-family:"Pretendard Variable","Pretendard",sans-serif; font-size:1.4rem; font-weight:600;
	letter-spacing:.22em; text-transform:uppercase; color:#7b94b1;}

/* ── 개요 : 상단 2단(비주얼+선언문) + 하단 3단 본문 ──────── */
.mf_intro{position:relative;}
.mf_top{display:grid; grid-template-columns:minmax(0,42rem) minmax(0,1fr); gap:0 6rem; align-items:center;}
.mf_visual{position:relative; display:block; width:100%; aspect-ratio:3/2; margin:0; overflow:hidden; border-radius:2rem;
	background:
		repeating-linear-gradient(135deg,rgba(26,95,180,.06) 0 10px,rgba(26,95,180,0) 10px 20px),
		linear-gradient(150deg,rgba(43,167,172,.12),rgba(255,255,255,.55) 50%,rgba(26,95,180,.10));
	border:1px solid rgba(255,255,255,.9);
	box-shadow:0 1.8rem 4.4rem -2rem rgba(20,50,90,.26), inset 0 1px 0 rgba(255,255,255,.9);}
.mf_visual img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.mf_visual .slot_txt{position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); padding:0 2rem; text-align:center;
	font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:1.3rem; color:#7f93a8;}

.mf_lead_wrap{padding:1rem 0;}
.mf_lead{font-family:'YuhanKimberlyPureunSup',"Pretendard Variable",sans-serif;
	font-size:3rem; font-weight:700; line-height:1.6; letter-spacing:-.08rem; color:#0f2740; word-break:keep-all; text-wrap:pretty;}
.mf_lead_sub{margin-top:2.4rem; font-size:1.9rem; font-weight:500; line-height:1.85; letter-spacing:-.04rem; color:#4a6482; word-break:keep-all; text-wrap:pretty;}
.mf_lead_sub .em{font-weight:700; color:var(--pt);}

.mf_paras{margin-top:6rem; columns:2; column-gap:6rem;}
.mf_paras .para{margin:0 0 2.6rem; break-inside:avoid; font-size:1.7rem; line-height:1.95; letter-spacing:-.03rem; color:var(--ink2);
	word-break:keep-all; text-wrap:pretty;}

/* ── 바로가기 버튼 ─────────────────── */
.mf_link_wrap{display:flex; justify-content:flex-start; margin-top:2.8rem; break-inside:avoid;}
.mf_link{display:inline-flex; align-items:center; gap:1.2rem; height:5.6rem; padding:0 2.8rem; border-radius:2.8rem;
	background:linear-gradient(160deg,#2f7fd1,#0f4d93); color:#fff;
	font-size:1.7rem; font-weight:700; letter-spacing:-.04rem; line-height:1;
	box-shadow:0 1.6rem 3.2rem -1.6rem rgba(15,77,147,.7), inset 0 1px 0 rgba(255,255,255,.3);
	transition:transform .25s cubic-bezier(.16,1,.3,1), box-shadow .25s;}
.mf_link:hover,.mf_link:focus-visible{color:#fff; transform:translateY(-.3rem); box-shadow:0 2.6rem 5rem -1.6rem rgba(15,77,147,.78), inset 0 1px 0 rgba(255,255,255,.35);}
.mf_link svg{width:2rem; height:2rem; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round;}

/* ── 여러나라의 매니페스토 ───────────── */
.mf_world{
	margin-top:6rem;
	padding:5.4rem 4.8rem 6rem;
	background:linear-gradient(180deg,rgba(26,95,180,.05),rgba(43,167,172,.07));
	border:1px solid rgba(18,37,61,.08);
	border-radius:2.4rem;
}
.mf_intro .mf_sec_head,.mf_world .mf_sec_head{justify-content:flex-start;}
.mf_intro .mf_sec_head .sh_eng,.mf_world .mf_sec_head .sh_eng{display:none;}
.mf_world .mf_sec_head{border-bottom:0; padding-bottom:0; margin-bottom:2.8rem;}
.mf_world .sh_tit{gap:1.3rem;}
.mf_world .sh_tit::before{width:1.5rem; height:1.5rem; box-shadow:0 0 0 .6rem rgba(43,167,172,.14), 0 0 1.6rem rgba(43,167,172,.5);}
.mf_country_grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem;}
.country-card{position:relative; overflow:hidden; display:grid; grid-template-columns:12rem minmax(0,1fr); gap:0 3rem;
	align-items:start; padding:3.2rem 3.4rem; border-radius:2rem;
	background:rgba(255,255,255,.72); border:1px solid rgba(255,255,255,.9);
	backdrop-filter:blur(20px) saturate(160%); -webkit-backdrop-filter:blur(20px) saturate(160%);
	box-shadow:0 1.6rem 4rem -1.6rem rgba(20,50,90,.18), inset 0 1px 0 rgba(255,255,255,.9);
	transition:transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s, border-color .3s, background .3s;}
.country-card::before{content:''; position:absolute; left:3.4rem; top:0; width:7rem; height:4px; border-radius:0 0 2px 2px;
	background:linear-gradient(90deg,var(--c1),var(--c2));}
.country-card:hover{transform:translateY(-.6rem); background:rgba(255,255,255,.9); border-color:rgba(26,95,180,.35);
	box-shadow:0 2.8rem 6rem -1.8rem rgba(20,50,90,.28), inset 0 1px 0 #fff;}

.country-card .cc_flag{position:relative; width:12rem; height:12rem; margin:0; overflow:hidden; border-radius:50%;
	background:
		repeating-linear-gradient(135deg,rgba(18,37,61,.06) 0 6px,rgba(18,37,61,0) 6px 12px),
		#f2f5f9;
	border:1px solid rgba(18,37,61,.08); box-shadow:inset 0 1px 0 rgba(255,255,255,.9);}
.country-card .cc_flag img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.country-card .cc_flag .slot_txt{position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
	font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:1.2rem; color:#8b9aab;}

.country-card .cc_body{padding-top:.4rem;}
.country-card .cc_name{display:flex; align-items:baseline; gap:.9rem; flex-wrap:wrap; margin-bottom:1.4rem;}
.country-card .cc_name strong{font-family:'YuhanKimberlyPureunSup',"Pretendard Variable",sans-serif;
	font-size:2.4rem; font-weight:700; letter-spacing:-.06rem; line-height:1.2; color:#0f2740;}
.country-card .cc_name span{font-family:"Pretendard Variable","Pretendard",sans-serif; font-size:1.5rem; font-weight:500; letter-spacing:-.01em; color:#7b8fa5;}
.country-card .cc_body p{margin:0 0 1.2rem; font-size:1.65rem; line-height:1.8; letter-spacing:-.03rem; color:var(--ink2);
	word-break:keep-all; text-wrap:pretty;}
.country-card .cc_body p:last-child{margin-bottom:0;}
.country-card .cc_body p .kw{font-weight:600; color:#22405f;}

.country-card.c_kr{--c1:#c8102e; --c2:#1a5fb4;}
.country-card.c_uk{--c1:#1f4a9b; --c2:#c8102e;}
.country-card.c_us{--c1:#1a3d7c; --c2:#c8102e;}
.country-card.c_jp{--c1:#c8102e; --c2:#e88a96;}

/* ── 진입 효과 ─────────────────────── */
.mf_page .mf_rv{opacity:0; transform:translateY(2.4rem);
	transition:opacity .9s cubic-bezier(.16,1,.3,1), transform .9s cubic-bezier(.16,1,.3,1), box-shadow .35s, border-color .3s, background .3s;}
.mf_page .mf_rv.is_in{opacity:1; transform:none;}
.mf_page .country-card.mf_rv:nth-child(2n){transition-delay:.08s;}
@media (prefers-reduced-motion:reduce){
	.mf_page .mf_rv{opacity:1; transform:none; transition:none;}
}

/* ══ 반응형 ─ 기준점 : 1440 / 1280 / 1024 / 768 / 480 / 380 ══════════ */
@media (max-width:1440px){
	.mf_page.sub_content{padding:8rem 0 12rem;}
	.mf_sec_head .sh_tit{font-size:3.1rem;}
	.mf_lead{font-size:2.9rem;}
}
@media (max-width:1280px){
	.mf_top{grid-template-columns:minmax(0,34rem) minmax(0,1fr); gap:0 4.4rem;}
	.mf_lead{font-size:2.6rem;}
	.mf_lead_sub{font-size:1.8rem; margin-top:2rem;}
	.mf_paras{margin-top:5.2rem; column-gap:4.4rem;}
	.mf_country_grid{grid-template-columns:minmax(0,1fr);}
	.mf_world{margin-top:8rem;}
}
@media (max-width:1024px){
	.mf_page.sub_content{padding:6rem 0 10rem;}
	.mf_sec_head{margin-bottom:3rem; padding-bottom:1.6rem;}
	.mf_sec_head .sh_tit{font-size:3rem;}
	.mf_sec_head .sh_eng{font-size:1.5rem;}
	.mf_top{grid-template-columns:minmax(0,1fr); gap:3.2rem 0;}
	.mf_visual{aspect-ratio:2/1; max-width:600px; margin:0 auto;}
	.mf_lead_wrap{padding:0;}
	.mf_lead{font-size:2.5rem; line-height:1.55;}
	.mf_lead br{display:none;}
	.mf_paras{columns:1; margin-top:4.4rem;}
	.mf_paras .para{font-size:1.75rem; line-height:1.9; margin-bottom:2.2rem;}
	.mf_lead_sub{font-size:1.85rem;}
	.country-card .cc_body p{font-size:1.7rem;}
	.mf_world{margin-top:7rem; padding:4rem 3.6rem 4.6rem; border-radius:1.8rem;}
	.country-card{grid-template-columns:10rem minmax(0,1fr); gap:0 2.4rem; padding:2.8rem 2.8rem;}
	.country-card::before{left:2.8rem;}
	.country-card .cc_flag{width:10rem; height:10rem;}
}
@media (max-width:768px){
	.mf_page.sub_content{padding:5rem 0 8rem;}
	.mf_sec_head{flex-direction:column; align-items:flex-start; gap:.8rem; margin-bottom:2.6rem;}
	.mf_sec_head .sh_tit{font-size:2.8rem; gap:.9rem;}
	.mf_sec_head .sh_tit::before{width:.8rem; height:.8rem;}
	.mf_sec_head .sh_eng{padding-bottom:0; padding-left:1.7rem; font-size:1.5rem; letter-spacing:.18em;}
	.mf_visual{border-radius:1.6rem;}
	.mf_lead{font-size:2.4rem; letter-spacing:-.06rem;}
	.mf_lead_sub{font-size:1.8rem; line-height:1.8; margin-top:1.8rem;}
	.mf_paras{margin-top:3.6rem;}
	.mf_paras .para{font-size:1.7rem; line-height:1.85; margin-bottom:2rem;}
	.mf_link_wrap{margin-top:2.4rem;}
	.mf_link{height:5.4rem; padding:0 2.2rem; font-size:1.7rem; gap:1rem;}
	.mf_world{margin-top:6rem; padding:3.2rem 2.6rem 3.8rem; border-radius:1.6rem;}
	/* 국가 카드 : 국기를 본문 위로 올려 1단 구성 */
	.country-card{grid-template-columns:minmax(0,1fr); gap:1.8rem 0; padding:2.6rem 2.2rem; border-radius:1.6rem;}
	.country-card::before{left:2.2rem; width:5.6rem;}
	.country-card:hover{transform:none;}
	.country-card .cc_flag{width:8rem; height:8rem;}
	.country-card .cc_body{padding-top:0;}
	.country-card .cc_name{margin-bottom:1rem;}
	.country-card .cc_name strong{font-size:2.3rem;}
	.country-card .cc_name span{font-size:1.5rem;}
	.country-card .cc_body p{font-size:1.7rem; line-height:1.8;}
	.mf_page .sp_aur{filter:blur(7rem); opacity:.45;}
	.mf_page .sp_aur.a1{width:34rem; height:34rem; left:-10rem; top:-8rem;}
	.mf_page .sp_aur.a2{width:38rem; height:38rem; right:-12rem;}
	.mf_page .sp_aur.a3{width:34rem; height:34rem;}
}
@media (max-width:480px){
	.mf_page.sub_content{padding:4.4rem 0 6.4rem;}
	.mf_sec_head .sh_tit{font-size:2.6rem;}
	.mf_lead{font-size:2.2rem; line-height:1.5;}
	.mf_lead_sub{font-size:1.75rem;}
	.mf_paras .para{font-size:1.7rem; line-height:1.82;}
	.mf_link{width:100%; justify-content:center; height:5.4rem; padding:0 1.8rem; font-size:1.7rem;}
	.country-card{padding:2.2rem 1.8rem;}
	.country-card::before{left:1.8rem;}
	.country-card .cc_flag{width:6.8rem; height:6.8rem;}
	.country-card .cc_name strong{font-size:2.15rem;}
	.country-card .cc_body p{font-size:1.7rem; line-height:1.78;}
	.mf_world{margin-top:5rem;}
}
@media (max-width:380px){
	.mf_lead{font-size:2.05rem;}
	.mf_lead_sub{font-size:1.7rem;}
	.mf_paras .para{font-size:1.65rem; line-height:1.78;}
	.country-card .cc_name strong{font-size:2.05rem;}
	.mf_sec_head .sh_tit{font-size:2.4rem;}
}

/* ══ 하위 메뉴 : 태블릿(세로형 카드) / 모바일(셀렉트) ══════════ */

/* 웹접근성 : 모바일 최소 본문 크기 보정 (vision3 기준과 동일 하한) */
@media (max-width:768px){
	.mf_visual .slot_txt{font-size:1.4rem;}
	.country-card .cc_flag .slot_txt{font-size:1.3rem;}
}

.mf_world{
	margin-top:6rem;
	padding:5.4rem 4.8rem 6rem;
	background:linear-gradient(180deg,rgba(26,95,180,.05),rgba(43,167,172,.07));
	border:1px solid rgba(18,37,61,.08);
	border-radius:2.4rem;
}

@media (max-width:1024px){
	.mf_world{padding:4rem 3.6rem 4.6rem; border-radius:1.8rem;}
}
@media (max-width:768px){
	.mf_world{padding:3.2rem 2.6rem 3.8rem; border-radius:1.6rem;}
}

/* 영문 소제목(sh_eng) 제거 — 개요/여러나라 공통 */
.mf_sec_head .sh_eng{display:none;}
.mf_sec_head{justify-content:flex-start;}

/* '여러나라의 매니페스토' 타이틀 : 박스 안에 들어간 상태에 맞게 밑줄 제거하고
   점 마커를 은은한 헤일로로 강조해 배경 톤과 어울리게 조정 */
.mf_world .mf_sec_head{border-bottom:0; padding-bottom:0; margin-bottom:2.8rem;}
.mf_world .sh_tit{gap:1.3rem;}
.mf_world .sh_tit::before{width:1.5rem; height:1.5rem; box-shadow:0 0 0 .6rem rgba(43,167,172,.14), 0 0 1.6rem rgba(43,167,172,.5);}
