:root{
	--navy:#001330;
	--cream:#F8F4F0;
	--teal:#0F766E;
	--stone:#D6D3D1;
	--orange:#FF9500;
	--white:#FFFFFF;
	--slate:#475569;
	--muted:#64748B;
	--soft:#F3F0EC;
	--line:rgba(0,19,48,.12);
	--teal-soft:#E7F3F1;
}

*{
	box-sizing:border-box;
}

html{
	font-size:100%;
}

body{
	margin:0;
	background:var(--cream);
	color:var(--navy);
	font-family:-apple-system,BlinkMacSystemFont,"Pretendard","Noto Sans KR","Segoe UI",sans-serif;
	letter-spacing:-.018em;
}

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

button{
	font-family:inherit;
	cursor:pointer;
}

.wrap{
	width:min(1180px,calc(100% - 64px));
	margin:0 auto;
}

.TopHeader{
	position:sticky;
	top:0;
	z-index:50;
	background:rgba(248,244,240,.94);
	border-bottom:1px solid var(--stone);
	backdrop-filter:blur(12px);
}

.nav{
	height:76px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:28px;
}

.logo{
	display:inline-flex;
	align-items:center;
	border:0;
	background:none;
	color:var(--navy);
	font-size:29px;
	font-weight:950;
	letter-spacing:-.06em;
}

.menu{
	display:flex;
	gap:30px;
	color:var(--navy);
	font-size:14px;
	font-weight:850;
	white-space:nowrap;
}

.menu a:hover{
	color:var(--teal);
}

.login{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	border:1px solid var(--navy);
	border-radius:999px;
	background:#fff;
	color:var(--navy);
	padding:11px 20px;
	font-size:13px;
	font-weight:900;
}

.label{
	color:var(--teal);
	font-size:12px;
	font-weight:950;
	letter-spacing:.26em;
	text-transform:uppercase;
}

.label.orange{
	color:var(--orange);
}

.badge{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	border-radius:999px;
	padding:5px 9px;
	background:var(--orange);
	color:#fff;
	font-size:10px;
	font-weight:950;
	letter-spacing:.08em;
	line-height:1;
	vertical-align:middle;
	margin-right:8px;
}

.Content{
	min-height:500px;
}

.hero{
	position:relative;
	padding:92px 0 88px;
	overflow:hidden;
}

.hero-bg-word{
	position:absolute;
	right:-56px;
	top:108px;
	color:rgba(0,19,48,.045);
	font-size:180px;
	font-weight:950;
	letter-spacing:-.09em;
	line-height:.8;
	pointer-events:none;
}

.hero-grid{
	display:grid;
	grid-template-columns:1.08fr .92fr;
	gap:56px;
	align-items:center;
	position:relative;
	z-index:2;
}

.hero .label{
	margin-bottom:34px;
	font-size:20px;
	letter-spacing:.18em;
	color:var(--teal);
}

.hero h1{
	margin:0 0 32px;
	color:var(--navy);
	font-size:clamp(64px,7.8vw,106px);
	line-height:.9;
	font-weight:950;
	letter-spacing:-.082em;
}

.hero-desc{
	max-width:770px;
	color:var(--navy);
	font-size:20px;
	line-height:1.78;
	font-weight:700;
}

.flow-cardbox{
	background:#fff;
	border:1px solid var(--line);
	border-radius:34px;
	padding:32px;
	box-shadow:0 24px 80px rgba(0,19,48,.08);
}

.flow-list{
	display:grid;
	gap:12px;
	margin-top:20px;
}

.flow-item{
	display:grid;
	grid-template-columns:54px 1fr;
	gap:16px;
	align-items:start;
	border:1px solid rgba(0,19,48,.1);
	border-radius:24px;
	background:var(--cream);
	padding:18px;
}

.flow-num{
	display:flex;
	align-items:center;
	justify-content:center;
	width:44px;
	height:44px;
	border-radius:999px;
	background:var(--navy);
	color:#fff;
	font-size:13px;
	font-weight:950;
	letter-spacing:.04em;
}

.flow-item strong{
	display:block;
	margin-bottom:5px;
	color:var(--navy);
	font-size:20px;
	line-height:1.1;
	font-weight:950;
	letter-spacing:-.045em;
}

.flow-item span{
	display:block;
	color:var(--slate);
	font-size:13px;
	line-height:1.55;
	font-weight:650;
}

.pierce{
	background:#fff;
	border-top:1px solid var(--stone);
}

.pierce-bar{
	background:var(--navy);
	color:#fff;
	text-align:center;
	padding:42px 0;
}

.pierce-bar .label{
	margin-bottom:18px;
	color:var(--orange);
}

.pierce-bar h2{
	margin:0;
	font-size:clamp(28px,3.4vw,44px);
	line-height:1.1;
	font-weight:950;
	letter-spacing:-.055em;
}

.pierce-bar p{
	margin:15px auto 0;
	max-width:900px;
	color:#E7E8EC;
	font-size:17px;
	line-height:1.6;
	font-weight:650;
}

.program-zone{
	padding:76px 0 90px;
	background:var(--cream);
}

.section-title-row{
	margin-bottom:38px;
}

.section-title-row h2{
	margin:0;
	color:var(--navy);
	font-size:48px;
	line-height:1.02;
	font-weight:950;
	letter-spacing:-.06em;
}

.program-layout{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:22px;
}

.program-card{
	position:relative;
	overflow:hidden;
	min-height:420px;
	background:#fff;
	border:1px solid var(--line);
	border-radius:34px;
	padding:36px;
	box-shadow:0 20px 70px rgba(0,19,48,.06);
}

.program-badge{
	display:inline-flex;
	align-items:center;
	gap:8px;
	border-radius:999px;
	padding:9px 14px;
	background:rgba(15,118,110,.1);
	color:var(--teal);
	font-size:12px;
	font-weight:950;
	margin-bottom:28px;
}

.program-card h3{
	margin:0 0 26px;
	color:var(--navy);
	font-size:48px;
	line-height:1;
	font-weight:950;
	letter-spacing:-.07em;
}

.program-card p{
	margin:0 0 30px;
	max-width:500px;
	color:var(--slate);
	font-size:17px;
	line-height:1.7;
	font-weight:650;
}

.feature-list{
	display:grid;
	gap:13px;
	margin-top:28px;
}

.feature{
	display:flex;
	align-items:flex-start;
	gap:12px;
	color:var(--navy);
	font-size:15px;
	line-height:1.55;
	font-weight:850;
}

.feature:before{
	content:"";
	width:8px;
	height:8px;
	margin-top:7px;
	border-radius:50%;
	background:var(--orange);
	flex:0 0 auto;
}

.study{
	background:#fff;
	padding:88px 0 98px;
	border-block:1px solid var(--stone);
}

.study-head{
	display:grid;
	grid-template-columns:.9fr 1.1fr;
	gap:54px;
	align-items:end;
	margin-bottom:38px;
}

.study-head h2{
	margin:24px 0 26px;
	color:var(--navy);
	font-size:54px;
	line-height:1;
	font-weight:950;
	letter-spacing:-.07em;
}

.study-head p{
	margin:0;
	color:var(--slate);
	font-size:18px;
	line-height:1.78;
	font-weight:650;
}

.track-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:22px;
}

.track-card{
	border-radius:34px;
	border:1px solid var(--line);
	background:var(--cream);
	padding:32px;
}

.track-card .label{
	margin-bottom:22px;
}

.track-card h3{
	margin:0 0 16px;
	color:var(--navy);
	font-size:32px;
	line-height:1.08;
	font-weight:950;
	letter-spacing:-.06em;
}

.track-card p{
	margin:0 0 28px;
	color:var(--slate);
	font-size:15px;
	line-height:1.68;
	font-weight:700;
}

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

.center-row{
	display:grid;
	grid-template-columns:140px 1fr;
	gap:18px;
	align-items:start;
	border-top:1px solid rgba(0,19,48,.12);
	padding-top:16px;
}

.center-row h4{
	margin:0;
	color:var(--teal);
	font-size:23px;
	line-height:1.12;
	font-weight:950;
	letter-spacing:-.055em;
}

.center-row p{
	margin:0;
	color:var(--muted);
	font-size:14px;
	line-height:1.6;
	font-weight:700;
}

.philosophy{
	background:#fff;
	padding:86px 0 98px;
}

.philosophy-head{
	max-width:760px;
	margin-bottom:42px;
}

.philosophy-head h2{
	margin:16px 0 18px;
	color:var(--navy);
	font-size:50px;
	line-height:1.02;
	font-weight:950;
	letter-spacing:-.065em;
}

.philosophy-head p{
	margin:0;
	color:var(--slate);
	font-size:18px;
	line-height:1.78;
	font-weight:650;
}

.philosophy-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	border-top:1px solid var(--stone);
	border-left:1px solid var(--stone);
}

.philosophy-cell{
	min-height:330px;
	padding:54px 54px 48px;
	border-right:1px solid var(--stone);
	border-bottom:1px solid var(--stone);
	background:#fff;
}

.philosophy-cell .label{
	font-size:15px;
	letter-spacing:.32em;
	color:var(--teal);
}

.philosophy-cell h3{
	margin:34px 0 24px;
	color:var(--navy);
	font-size:43px;
	line-height:1.1;
	font-weight:950;
	letter-spacing:-.07em;
}

.philosophy-cell p{
	margin:0;
	color:var(--slate);
	font-size:18px;
	line-height:1.85;
	font-weight:650;
}

.cta{
	background:var(--cream);
	padding:80px 0 100px;
}

.cta-box{
	display:grid;
	grid-template-columns:1.2fr .8fr;
	gap:36px;
	align-items:center;
	background:var(--navy);
	color:#fff;
	border-radius:36px;
	padding:46px;
	box-shadow:0 24px 80px rgba(0,19,48,.14);
}

.cta-box .label{
	color:var(--orange);
}

.cta-box h2{
	margin:0;
	font-size:58px;
	line-height:1;
	font-weight:950;
	letter-spacing:-.07em;
}

.cta-buttons{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:12px;
}

.cta-buttons button{
	border:0;
	border-radius:999px;
	background:#fff;
	color:var(--navy);
	padding:17px 20px;
	font-size:15px;
	font-weight:950;
}

.floating{
	position:fixed;
	right:24px;
	bottom:24px;
	z-index:100;
	display:grid;
	gap:10px;
	justify-items:end;
}

.kakao{
	border:0;
	border-radius:999px;
	background:#FEE500;
	color:#191919;
	padding:14px 20px;
	font-weight:950;
	box-shadow:0 16px 50px rgba(0,19,48,.18);
}

.qr{
	background:#fff;
	border:1px solid var(--stone);
	border-radius:24px;
	padding:16px;
	width:214px;
	box-shadow:0 20px 70px rgba(0,19,48,.16);
}

.qr .label{
	letter-spacing:.18em;
	margin-bottom:10px;
}

.qr div:not(.label){
	color:var(--slate);
	font-size:12px;
	font-weight:800;
	line-height:1.9;
}

.BottomFooter{
	background:var(--navy);
	color:#D6D3D1;
	padding:62px 0;
	font-size:14px;
}

.footer-grid{
	display:grid;
	grid-template-columns:1.5fr .9fr .8fr .8fr .8fr;
	gap:38px;
}

.footer-brand strong{
	display:block;
	color:#fff;
	font-size:30px;
	font-weight:950;
	letter-spacing:-.06em;
	margin-bottom:18px;
}

.footer-quote{
	color:#fff;
	font-size:18px;
	line-height:1.55;
	font-weight:800;
	margin-bottom:14px;
}

.footer-brand p{
	margin:0;
	color:#D6D3D1;
	line-height:1.65;
	font-weight:600;
}

.footer-col h4{
	margin:0 0 20px;
	color:var(--orange);
	font-size:12px;
	font-weight:950;
	letter-spacing:.18em;
}

.footer-col strong{
	display:block;
	color:#fff;
	margin:18px 0 8px;
	font-size:14px;
	font-weight:900;
}

.footer-col span{
	display:block;
	color:#D6D3D1;
	margin:8px 0;
	font-size:14px;
	font-weight:650;
}

.Content_page{
	line-height:20px;
	font-size:15px;
	font-weight:bold;
}

@media(max-width:1000px){
	.menu{
		display:none;
	}

	.hero-grid,
	.program-layout,
	.study-head,
	.track-grid,
	.philosophy-grid,
	.cta-box,
	.footer-grid{
		grid-template-columns:1fr;
	}

	.center-row{
		grid-template-columns:1fr;
	}
}

@media(max-width:640px){
	.wrap{
		width:calc(100% - 40px);
	}

	.login{
		display:none;
	}

	.hero h1{
		font-size:64px;
	}

	.hero-desc{
		font-size:18px;
	}

	.program-card h3,
	.study-head h2,
	.cta-box h2{
		font-size:42px;
	}

	.floating{
		display:none;
	}

	.philosophy-cell{
		padding:40px 24px;
	}
}

.study-track-section{padding:0 0 64px}
.study-track-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:stretch}
.study-track-card{padding:42px 38px 38px;border:1px solid rgba(0,19,48,.14);border-radius:40px;background:rgba(248,244,240,.66);box-shadow:0 20px 54px rgba(0,19,48,.04);box-sizing:border-box}
.study-track-card.is-strategy{background:rgba(248,244,240,.72)}
.study-track-label{display:block;margin:0 0 22px;color:#007a68;font-size:14px;font-weight:950;letter-spacing:.42em;line-height:1;text-transform:uppercase}
.study-track-card.is-strategy .study-track-label{color:#ff8a00}
.study-track-title{margin:0;color:#001330;font-size:38px;font-weight:950;line-height:1.2;letter-spacing:-.065em;word-break:keep-all}
.study-track-desc{min-height:62px;margin:18px 0 26px;color:#40526a;font-size:18px;font-weight:850;line-height:1.72;letter-spacing:-.04em;word-break:keep-all}
.center-list{border-top:1px solid rgba(0,19,48,.13)}
.center-row{display:grid;grid-template-columns:210px minmax(0,1fr);gap:22px;align-items:center;padding:24px 0;border-bottom:1px solid rgba(0,19,48,.13)}
.center-name{display:flex;align-items:center;gap:10px;margin:0;color:#007a68;font-size:29px;font-weight:950;line-height:1.1;letter-spacing:-.065em;word-break:keep-all}
.center-name.has-new{align-items:flex-start;flex-direction:column;gap:8px}
.center-row p{margin:0;color:#53657d;font-size:16px;font-weight:850;line-height:1.62;letter-spacing:-.04em;word-break:keep-all}
.center-info{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px}
.center-phone,.center-map{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 12px;border-radius:999px;font-size:14px;font-weight:950;line-height:1;text-decoration:none;letter-spacing:-.025em;box-sizing:border-box;white-space:nowrap}
.center-phone{border:1px solid rgba(0,122,104,.18);background:rgba(0,122,104,.07);color:#007a68}
.center-map{gap:5px;border:1px solid rgba(40,86,163,.18);background:#eaf2ff;color:#2856a3;transition:background .14s ease,border-color .14s ease,transform .14s ease}
.center-map:hover{background:#dcebff;border-color:rgba(40,86,163,.32);transform:translateY(-1px)}
.center-map::before{content:"";width:10px;height:10px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#2856a3;box-shadow:inset 0 0 0 2.5px rgba(255,255,255,.9)}
.new-badge{display:inline-flex;align-items:center;justify-content:center;height:26px;padding:0 10px;border-radius:999px;background:#ff9500;color:#fff;font-size:13px;font-weight:950;letter-spacing:-.02em}

@media(max-width:1180px){
	.study-track-grid{grid-template-columns:1fr;gap:24px}
	.study-track-desc{min-height:0}
}

@media(max-width:760px){
	.study-track-section{padding-bottom:44px}
	.study-track-grid{gap:18px}
	.study-track-card{padding:28px 22px;border-radius:28px}
	.study-track-label{margin-bottom:16px;font-size:11px;letter-spacing:.32em}
	.study-track-title{font-size:30px;letter-spacing:-.06em}
	.study-track-desc{margin:15px 0 22px;font-size:15px;line-height:1.65}
	.center-row{grid-template-columns:1fr;gap:8px;padding:18px 0}
	.center-name{font-size:25px}
	.center-row p{font-size:14px;line-height:1.58}
	.center-info{margin-top:10px;gap:7px}
	.center-phone,.center-map{min-height:30px;padding:0 10px;font-size:13px}
	.new-badge{height:23px;padding:0 8px;font-size:11px}
}
.study-track-section{
	padding-top:56px;
}

@media(min-width:761px){
	.study .study-track-card{
		display:flex;
		flex-direction:column;
	}

	.study .study-track-desc{
		min-height:86px;
		margin-bottom:22px;
	}

	.study .center-list{
		display:grid;
		grid-template-rows:repeat(3, 1fr);
		flex:1;
		padding-bottom:15px;
	}

	.study .center-row{
		display:grid;
		grid-template-columns:210px minmax(0,1fr);
		gap:22px;
		align-items:center;
		min-height:150px;
		padding:0;
	}

	.study .center-row > div{
		display:flex;
		flex-direction:column;
		justify-content:center;
	}

	.study .center-name{
		min-height:0;
		align-items:center;
	}

	.study .center-name.has-new{
		align-items:flex-start;
		justify-content:flex-start;
	}
}