/* =========================
   main Page (index.php)
========================= */
:root{
		--primary:#2f80ed;
		--primary-dark:#1d67c9;
		--sub:#6b7280;
		--text:#111827;
		--line:#e5e7eb;
		--bg:#f7f9fc;
		--white:#ffffff;
		--shadow:0 10px 30px rgba(0,0,0,0.08);
		--radius:20px;
	}

/* =========================
   Brand Theme
========================= */
body.theme-worklink{
	--primary:#2f80ed;
	--primary-dark:#1d67c9;
	--primary-light:#eaf3ff;
	--primary-light2:#f8fbff;
	--primary-border:#dbeafe;
	--primary-border2:#dfeafe;
	--primary-point:#4aa3ff;
	--primary-rgb:47,128,237;
}

body.theme-theborn{
	--primary:#D50215;
	--primary-dark:#9e111d;
	--primary-light:#fff1f2;
	--primary-light2:#fff7f7;
	--primary-border:#ffd6d9;
	--primary-border2:#ffc9ce;
	--primary-point:#D50215;
	--primary-rgb:230,0,18;
}

	*{
		box-sizing:border-box;
	}

	html{
		scroll-behavior:smooth;
	}

	body{
		margin:0;
		padding:0;
		font-family:"Pretendard","Noto Sans KR",sans-serif;
		color:var(--text);
		background:#fff;
	}

	a{
		text-decoration:none;
		color:inherit;
	}

	img{
		max-width:100%;
		display:block;
	}

	.container{
		width:100%;
		max-width:1280px;
		margin:0 auto;
		padding:0 24px;
	}

	/* =========================
	   Header
	========================= */
	.header{
		position:sticky;
		top:0;
		z-index:1000;
		background:rgba(255,255,255,0.94);
		backdrop-filter:blur(12px);
		border-bottom:1px solid rgba(229,231,235,0.8);
	}

	.header-inner{
		height:84px;
		display:flex;
		align-items:center;
		justify-content:space-between;
		gap:20px;
	}

	.logo-wrap{
		display:flex;
		align-items:center;
		gap:14px;
		flex-shrink:0;
	}

	.logo-mark{
		width:44px;
		height:44px;
		border-radius:14px;
		background:linear-gradient(135deg, #4aa3ff 0%, #2f80ed 100%);
		display:flex;
		align-items:center;
		justify-content:center;
		box-shadow:0 8px 18px rgba(47,128,237,0.28);
		position:relative;
	}

	.logo-mark:before,
	.logo-mark:after{
		content:"";
		position:absolute;
		background:#fff;
		border-radius:999px;
	}

	.logo-mark:before{
		width:18px;
		height:4px;
		top:14px;
		left:13px;
	}

	.logo-mark:after{
		width:8px;
		height:8px;
		bottom:12px;
		right:12px;
	}

	.logo-text{
		display:flex;
		flex-direction:column;
		line-height:1.1;
	}

	.logo-text .brand{
		font-size:20px;
		font-weight:800;
		letter-spacing:-0.03em;
	}

	.logo-text .sub{
		font-size:12px;
		color:#6b7280;
		font-weight:600;
		margin-top:4px;
	}

	.nav{
		display:flex;
		align-items:center;
		gap:36px;
		flex:1;
		justify-content:center;
	}

	.nav a{
		font-size:16px;
		font-weight:700;
		color:#374151;
		transition:all .2s ease;
		position:relative;
	}

	.nav a:hover{
		color:var(--primary);
	}

	.nav a:after{
		content:"";
		position:absolute;
		left:0;
		bottom:-8px;
		width:0;
		height:2px;
		background:var(--primary);
		transition:width .2s ease;
	}

	.nav a:hover:after{
		width:100%;
	}

	.header-btn{
		flex-shrink:0;
	}

	.header-btn a{
		display:inline-flex;
		align-items:center;
		justify-content:center;
		height:46px;
		padding:0 20px;
		border-radius:12px;
		background:#eaf3ff;
		color:var(--primary-dark);
		font-size:15px;
		font-weight:800;
		border:1px solid #dbeafe;
		transition:all .2s ease;
	}

	.header-btn a:hover{
		background:var(--primary);
		color:#fff;
		border-color:var(--primary);
	}

	/* =========================
	   Hero
	========================= */
	.hero{
		position:relative;
		overflow:hidden;
		background:
			radial-gradient(circle at 15% 10%, rgba(47,128,237,0.08), transparent 28%),
			radial-gradient(circle at 90% 20%, rgba(74,163,255,0.10), transparent 24%),
			linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
	}

	.hero-inner{
		min-height:720px;
		display:grid;
		grid-template-columns:1.1fr 0.9fr;
		align-items:center;
		gap:40px;
		padding:56px 0 72px;
	}

	.hero-copy{
		max-width:660px;
	}

	.hero-kicker{
		display:inline-flex;
		align-items:center;
		gap:8px;
		padding:10px 16px;
		border-radius:999px;
		background:#edf5ff;
		color:var(--primary-dark);
		font-size:14px;
		font-weight:800;
		margin-bottom:24px;
	}

	.hero-kicker .dot{
		width:8px;
		height:8px;
		border-radius:50%;
		background:var(--primary);
	}

	.hero-title{
		margin:0;
		font-size:64px;
		line-height:1.22;
		letter-spacing:-0.05em;
		font-weight:900;
		color:#111827;
	}

	.hero-title .accent{
		color:var(--primary);
	}

	.hero-desc{
		margin:28px 0 0;
		font-size:23px;
		line-height:1.75;
		color:#374151;
		font-weight:600;
		word-break:keep-all;
	}

	.hero-desc .light{
		color:#6b7280;
		font-weight:500;
	}

	.hero-btns{
		display:flex;
		gap:16px;
		margin-top:40px;
		flex-wrap:wrap;
	}

	.btn-primary,
	.btn-secondary{
		min-width:180px;
		height:60px;
		border-radius:16px;
		display:inline-flex;
		align-items:center;
		justify-content:center;
		font-size:18px;
		font-weight:800;
		padding:0 28px;
		transition:all .2s ease;
	}

	.btn-primary{
		background:linear-gradient(135deg, var(--primary) 0%, #4aa3ff 100%);
		color:#fff;
		box-shadow:0 12px 24px rgba(47,128,237,0.25);
	}

	.btn-primary:hover{
		transform:translateY(-2px);
		box-shadow:0 18px 30px rgba(47,128,237,0.32);
	}

	.btn-secondary{
		background:#fff;
		color:var(--primary-dark);
		border:1px solid #dbeafe;
		box-shadow:0 8px 18px rgba(0,0,0,0.05);
	}

	.btn-secondary:hover{
		transform:translateY(-2px);
		border-color:var(--primary);
		color:var(--primary);
	}

	.hero-note{
		margin-top:18px;
		font-size:14px;
		color:#6b7280;
		font-weight:600;
	}

	.hero-visual{
		display:flex;
		justify-content:center;
		align-items:center;
	}

	.visual-box{
		width:100%;
		max-width:520px;
		background:#fff;
		border-radius:32px;
		box-shadow:var(--shadow);
		padding:20px;
		border:1px solid rgba(229,231,235,0.7);
		position:relative;
	}

	.visual-box:before{
		content:"";
		position:absolute;
		top:-18px;
		right:24px;
		width:120px;
		height:120px;
		background:radial-gradient(circle, rgba(47,128,237,0.18) 0%, rgba(47,128,237,0) 70%);
		filter:blur(8px);
		pointer-events:none;
	}

	.visual-img{
		width:100%;
		height:100%;
		min-height:420px;
		object-fit:cover;
		border-radius:24px;
		background:#eef5ff;
	}

	.visual-fallback{
		min-height:420px;
		border-radius:24px;
		background:linear-gradient(135deg, #e9f3ff 0%, #f7fbff 100%);
		display:flex;
		flex-direction:column;
		align-items:center;
		justify-content:center;
		text-align:center;
		padding:30px;
	}

	.visual-fallback strong{
		font-size:30px;
		color:var(--primary-dark);
		margin-bottom:14px;
		letter-spacing:-0.03em;
	}

	.visual-fallback p{
		margin:0;
		font-size:17px;
		line-height:1.7;
		color:#4b5563;
		word-break:keep-all;
	}

	/* =========================
	   Quick Cards
	========================= */
	.quick-section{
		padding:40px 0 24px;
		background:#fff;
	}

	.quick-grid{
		display:grid;
		grid-template-columns:repeat(3, 1fr);
		gap:18px;
	}

	.quick-card{
		background:#fff;
		border:1px solid #eef2f7;
		border-radius:22px;
		padding:26px 24px;
		box-shadow:0 10px 24px rgba(17,24,39,0.04);
	}

	.quick-card .label{
		font-size:14px;
		font-weight:800;
		color:var(--primary);
		margin-bottom:12px;
	}

	.quick-card strong{
		display:block;
		font-size:22px;
		line-height:1.45;
		letter-spacing:-0.03em;
		margin-bottom:10px;
	}

	.quick-card p{
		margin:0;
		font-size:15px;
		line-height:1.7;
		color:#6b7280;
	}

	
    /* =========================
	   Worklink Info Section
	========================= */
	.worklink-info{
		padding:90px 0 110px;
		background:linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
	}

	.worklink-info__wrap{
		display:flex;
		flex-direction:column;
		gap:24px;
	}

	.worklink-info__intro{
		display:grid;
		grid-template-columns:1.1fr 0.9fr;
		gap:24px;
		align-items:center;
		background:#f4f8ff;
		border:1px solid #dfeafe;
		border-radius:28px;
		padding:34px 32px;
		box-shadow:0 12px 26px rgba(28, 86, 165, 0.08);
	}

	.worklink-intro__text{
		min-width:0;
	}

	.worklink-intro__visual{
		min-width:0;
	}

	.worklink-badge{
		display:inline-block;
		padding:7px 12px;
		border-radius:999px;
		background:#e3efff;
		color:#2f80ed;
		font-size:13px;
		font-weight:800;
		margin-bottom:18px;
	}

	.worklink-title{
		margin:0;
		font-size:42px;
		line-height:1.35;
		letter-spacing:-0.045em;
		font-weight:900;
		color:#111827;
		word-break:keep-all;
	}

	.worklink-title span{
		color:#2f80ed;
	}

	.worklink-desc{
		margin:20px 0 0;
		font-size:18px;
		line-height:1.8;
		color:#5b6472;
		font-weight:600;
		word-break:keep-all;
	}

	.worklink-visual{
		position:relative;
		height:320px;
		border-radius:24px;
		background:linear-gradient(135deg, #eef5ff 0%, #ffffff 100%);
		overflow:hidden;
		display:flex;
		align-items:center;
		justify-content:center;
	}

	.visual-card{
		position:absolute;
		background:#fff;
		border-radius:22px;
		box-shadow:0 16px 26px rgba(47,128,237,0.14);
	}

	.visual-card--main{
		width:220px;
		height:176px;
		transform:rotate(-8deg);
		display:flex;
		align-items:center;
		justify-content:center;
	}

	.visual-card--sub{
		width:96px;
		height:96px;
		display:flex;
		align-items:center;
		justify-content:center;
	}

	.visual-card--left{
		left:42px;
		top:60px;
		transform:rotate(-14deg);
	}

	.visual-card--right{
		right:42px;
		bottom:34px;
		transform:rotate(12deg);
	}

	.mini-window{
		width:142px;
		height:112px;
		border-radius:16px;
		background:#f7fbff;
		border:1px solid #e0ebfb;
		overflow:hidden;
	}

	.mini-window__head{
		height:18px;
		background:linear-gradient(90deg, #8fc3ff 0%, #dcebff 100%);
	}

	.mini-window__body{
		padding:12px;
	}

	.line{
		height:8px;
		border-radius:999px;
		background:#d9e8fb;
		margin-bottom:8px;
	}

	.w70{width:70%;}
	.w50{width:50%;}

	.chart-bar{
		display:flex;
		align-items:flex-end;
		gap:6px;
		margin-top:12px;
		height:34px;
	}

	.chart-bar span{
		display:block;
		width:14px;
		border-radius:6px 6px 0 0;
		background:linear-gradient(180deg, #79b7ff 0%, #2f80ed 100%);
	}

	.chart-bar span:nth-child(1){height:18px;}
	.chart-bar span:nth-child(2){height:28px;}
	.chart-bar span:nth-child(3){height:22px;}

	.check-ico{
		width:46px;
		height:46px;
		border-radius:14px;
		background:#2f80ed;
		color:#fff;
		display:flex;
		align-items:center;
		justify-content:center;
		font-size:24px;
		font-weight:900;
	}

	.circle-graph{
		width:52px;
		height:52px;
		border-radius:50%;
		background:conic-gradient(#2f80ed 0 240deg, #d9e8fb 240deg 360deg);
		display:flex;
		align-items:center;
		justify-content:center;
	}

	.circle-graph__inner{
		width:26px;
		height:26px;
		border-radius:50%;
		background:#fff;
	}

	.worklink-checks{
		list-style:none;
		padding:0;
		margin:26px 0 0;
		display:grid;
		grid-template-columns:1fr 1fr;
		gap:12px 18px;
	}

	.worklink-checks li{
		position:relative;
		padding-left:20px;
		font-size:15px;
		line-height:1.6;
		color:#334155;
		font-weight:700;
	}

	.worklink-checks li:before{
		content:"■";
		position:absolute;
		left:0;
		top:0;
		font-size:11px;
		color:#2f80ed;
		line-height:24px;
	}

	.worklink-info__services{
		background:#fff;
		border:1px solid #edf2f8;
		border-radius:28px;
		padding:30px 28px;
		box-shadow:0 12px 26px rgba(17,24,39,0.05);
	}

	.services-head{
		margin-bottom:18px;
	}

	.services-head h3{
		margin:0;
		font-size:34px;
		line-height:1.4;
		letter-spacing:-0.03em;
		color:#1f2937;
	}

	.service-list{
		display:grid;
		grid-template-columns:1fr 1fr;
		gap:14px;
	}

	.service-item{
		display:flex;
		gap:14px;
		align-items:flex-start;
		padding:18px 16px;
		border:1px solid #edf2f7;
		border-radius:18px;
		background:#fbfdff;
		transition:all .2s ease;
	}

	.service-item:hover{
		transform:translateY(-2px);
		border-color:#d7e6ff;
		box-shadow:0 10px 22px rgba(47,128,237,0.08);
	}

	.service-icon{
		width:46px;
		height:46px;
		border-radius:14px;
		background:#eaf3ff;
		color:#2f80ed;
		display:flex;
		align-items:center;
		justify-content:center;
		font-size:22px;
		flex-shrink:0;
	}

	.service-text strong{
		display:block;
		font-size:17px;
		line-height:1.4;
		margin-bottom:6px;
		color:#111827;
		letter-spacing:-0.02em;
	}

	.service-text p{
		margin:0;
		font-size:14px;
		line-height:1.7;
		color:#6b7280;
		word-break:keep-all;
	}

	.services-bottom{
		margin-top:22px;
		text-align:right;
	}

	.services-link{
		display:inline-flex;
		align-items:center;
		justify-content:center;
		height:52px;
		padding:0 22px;
		border-radius:14px;
		background:#2f80ed;
		color:#fff;
		font-size:15px;
		font-weight:800;
		box-shadow:0 10px 20px rgba(47,128,237,0.22);
	}

	.services-link:hover{
		background:#1d67c9;
	}

	@media (max-width:1024px){
		.worklink-info__intro{
			grid-template-columns:1fr;
			padding:28px 24px;
		}

		.worklink-title{
			font-size:34px;
		}

		.worklink-visual{
			height:280px;
		}
	}

	@media (max-width:768px){
		.worklink-info{
			padding:70px 0 80px;
		}

		.worklink-info__intro,
		.worklink-info__services{
			padding:24px 18px;
			border-radius:22px;
		}

		.worklink-title{
			font-size:28px;
		}

		.worklink-desc{
			font-size:15px;
		}

		.worklink-checks{
			grid-template-columns:1fr;
			margin-top:20px;
		}

		.worklink-visual{
			height:220px;
		}

		.visual-card--main{
			width:160px;
			height:128px;
		}

		.visual-card--left{
			left:20px;
			top:40px;
		}

		.visual-card--right{
			right:20px;
			bottom:24px;
		}

		.service-list{
			grid-template-columns:1fr;
		}

		.services-head h3{
			font-size:26px;
		}

		.services-bottom{
			text-align:center;
		}

		.services-link{
			width:100%;
		}
	}
	

	/* =========================
	   Footer
	========================= */
	.footer{
		border-top:1px solid #edf0f4;
		background:#fff;
	}

	.footer-inner{
		padding:28px 0 40px;
		text-align:center;
	}

	.footer-logo{
		font-size:22px;
		font-weight:900;
		color:#1f2937;
		letter-spacing:-0.03em;
		margin-bottom:10px;
	}

	.footer-copy{
		font-size:14px;
		color:#6b7280;
		line-height:1.8;
	}

	.footer-contact {
		margin-top: 8px;
		font-size: 14px;
		color: #666;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 14px;
		flex-wrap: wrap;
	}

	.footer-contact span {
		display: inline-block;
	}

	/* =========================
	   Responsive
	========================= */
	@media (max-width:1180px){
		.hero-title{
			font-size:54px;
		}

		.hero-desc{
			font-size:21px;
		}

		.worklink-info__wrap{
			grid-template-columns:1fr;
		}
	}

	@media (max-width:1024px){
		.header-inner{
			height:auto;
			padding:18px 0;
			flex-wrap:wrap;
			justify-content:center;
		}

		.nav{
			order:3;
			width:100%;
			justify-content:center;
			gap:24px;
			flex-wrap:wrap;
		}

		.hero-inner{
			grid-template-columns:1fr;
			padding-top:40px;
			min-height:auto;
		}

		.hero-copy{
			max-width:100%;
			text-align:center;
		}

		.hero-btns{
			justify-content:center;
		}

		.hero-note{
			text-align:center;
		}

		.quick-grid{
			grid-template-columns:1fr;
		}
	}

	@media (max-width:768px){
		.container{
			padding:0 18px;
		}

		.logo-text .brand{
			font-size:18px;
		}

		.nav a{
			font-size:14px;
		}

		.header-btn a{
			height:42px;
			padding:0 16px;
			font-size:14px;
		}

		.hero-title{
			font-size:40px;
		}

		.hero-desc{
			font-size:18px;
		}

		.btn-primary,
		.btn-secondary{
			width:100%;
			min-width:auto;
			height:56px;
			font-size:17px;
		}

		.visual-img,
		.visual-fallback{
			min-height:280px;
		}

		.worklink-info{
			padding:70px 0 80px;
		}

		.worklink-info__intro,
		.worklink-info__services{
			padding:24px 18px;
			border-radius:22px;
		}

		.worklink-title{
			font-size:28px;
		}

		.worklink-desc{
			font-size:15px;
		}

		.worklink-visual{
			height:220px;
		}

		.visual-card--main{
			width:160px;
			height:128px;
		}

		.visual-card--left{
			left:20px;
			top:40px;
		}

		.visual-card--right{
			right:20px;
			bottom:24px;
		}

		.service-list{
			grid-template-columns:1fr;
		}

		.services-head h3{
			font-size:24px;
		}

		.services-bottom{
			text-align:center;
		}

		.services-link{
			width:100%;
		}
	}

/* =========================
   Write Page (write.php)
========================= */
.counsel-write-page{
	background:linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
}

.sub-hero{
	padding:60px 0 24px;
}

.sub-hero__inner{
	background:linear-gradient(135deg, #eef6ff 0%, #ffffff 100%);
	border:1px solid #dfeafe;
	border-radius:28px;
	padding:42px 38px;
	box-shadow:0 12px 26px rgba(28, 86, 165, 0.08);
}

.sub-hero__badge{
	display:inline-block;
	padding:8px 14px;
	border-radius:999px;
	background:#e3efff;
	color:#2f80ed;
	font-size:13px;
	font-weight:800;
	margin-bottom:16px;
}

.sub-hero__title{
	margin:0;
	font-size:46px;
	line-height:1.28;
	letter-spacing:-0.04em;
	font-weight:900;
	color:#111827;
}

.sub-hero__desc{
	margin:18px 0 0;
	font-size:18px;
	line-height:1.8;
	color:#5b6472;
	word-break:keep-all;
}

.sub-hero__desc strong{
	color:#1d67c9;
}

.form-section{
	padding:8px 0 100px;
}

.form-shell{
	display:grid;
	grid-template-columns:0.92fr 1.08fr;
	gap:24px;
	align-items:start;
}

.form-info-card{
	background:#f4f8ff;
	border:1px solid #dfeafe;
	border-radius:28px;
	padding:34px 30px;
	box-shadow:0 12px 26px rgba(28, 86, 165, 0.08);
}

.form-info-card__badge{
	display:inline-block;
	padding:7px 12px;
	border-radius:999px;
	background:#e3efff;
	color:#2f80ed;
	font-size:13px;
	font-weight:800;
	margin-bottom:18px;
}

.form-info-card__title{
	margin:0;
	font-size:36px;
	line-height:1.36;
	letter-spacing:-0.04em;
	font-weight:900;
	color:#111827;
	word-break:keep-all;
}

.form-info-card__desc{
	margin:18px 0 0;
	font-size:17px;
	line-height:1.8;
	color:#5b6472;
	font-weight:600;
	word-break:keep-all;
}

.form-info-visual{
	position:relative;
	height:260px;
	margin:28px 0 24px;
	border-radius:24px;
	background:linear-gradient(135deg, #eef5ff 0%, #ffffff 100%);
	overflow:hidden;
	display:flex;
	align-items:center;
	justify-content:center;
}

.form-info-visual__main{
	width:220px;
	height:170px;
	border-radius:24px;
	background:#ffffff;
	box-shadow:0 18px 30px rgba(47,128,237,0.16);
	transform:rotate(-8deg);
	display:flex;
	align-items:center;
	justify-content:center;
}

.form-info-visual__paper{
	width:150px;
	height:110px;
	border-radius:18px;
	background:#f7fbff;
	border:1px solid #deebff;
	padding:16px 14px;
}

.paper-line{
	height:10px;
	border-radius:999px;
	background:#d6e6ff;
	margin-bottom:10px;
}

.w80{width:80%;}
.w60{width:60%;}
.w90{width:90%;}
.w50{width:50%;}

.form-info-visual__floating{
	position:absolute;
	width:72px;
	height:72px;
	border-radius:22px;
	background:#fff;
	box-shadow:0 14px 26px rgba(47,128,237,0.16);
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:30px;
	font-weight:900;
}

.form-info-visual__floating--check{
	left:42px;
	top:46px;
	color:#2f80ed;
	transform:rotate(-12deg);
}

.form-info-visual__floating--chat{
	right:34px;
	bottom:34px;
	transform:rotate(10deg);
}

.form-info-list{
	list-style:none;
	padding:0;
	margin:0;
	display:grid;
	gap:12px;
}

.form-info-list li{
	position:relative;
	padding-left:22px;
	font-size:15px;
	line-height:1.7;
	color:#334155;
	font-weight:700;
	word-break:keep-all;
}

.form-info-list li:before{
	content:"■";
	position:absolute;
	left:0;
	top:0;
	font-size:11px;
	line-height:25px;
	color:#2f80ed;
}

.form-card{
	background:#fff;
	border:1px solid #edf2f8;
	border-radius:28px;
	padding:34px 30px;
	box-shadow:0 12px 26px rgba(17,24,39,0.05);
}

.form-card__head{
	margin-bottom:24px;
}

.form-card__head h3{
	margin:0;
	font-size:34px;
	line-height:1.35;
	letter-spacing:-0.03em;
	color:#111827;
}

.form-card__head p{
	margin:10px 0 0;
	font-size:16px;
	line-height:1.7;
	color:#6b7280;
}

.c-form-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:16px;
}

.c-form-group{
	margin-bottom:18px;
}

.c-form-group label{
	display:block;
	margin-bottom:10px;
	font-size:15px;
	font-weight:800;
	color:#1f2937;
}

.c-form-group input,
.c-form-group textarea{
	width:100%;
	border:1px solid #dce6f2;
	border-radius:16px;
	background:#fbfdff;
	padding:16px 18px;
	font-size:15px;
	color:#111827;
	outline:none;
	transition:all .2s ease;
	font-family:"Pretendard","Noto Sans KR",sans-serif;
}

.c-form-group input:focus,
.c-form-group textarea:focus{
	border-color:#8cbcff;
	background:#fff;
	box-shadow:0 0 0 4px rgba(47,128,237,0.08);
}

.c-form-group input::placeholder,
.c-form-group textarea::placeholder{
	color:#9aa4b2;
}

.c-form-group textarea{
	min-height:220px;
	resize:vertical;
	line-height:1.7;
}

.c-form-group--full{
	grid-column:1 / -1;
}

.form-notice-box{
	margin-top:10px;
	padding:18px 20px;
	border-radius:18px;
	background:#f8fbff;
	border:1px solid #e1ecfb;
}

.form-notice-box__title{
	font-size:14px;
	font-weight:800;
	color:#2f80ed;
	margin-bottom:8px;
}

.form-notice-box__text{
	font-size:14px;
	line-height:1.7;
	color:#5b6472;
	word-break:keep-all;
}

.form-btns{
	display:flex;
	gap:14px;
	margin-top:24px;
}

.form-btn{
	height:58px;
	border-radius:16px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	font-size:17px;
	font-weight:800;
	padding:0 26px;
	border:none;
	cursor:pointer;
	transition:all .2s ease;
	flex:1;
}

.form-btn--line{
	background:#fff;
	border:1px solid #dbe7f6;
	color:#1d67c9;
}

.form-btn--line:hover{
	border-color:#2f80ed;
	color:#2f80ed;
	transform:translateY(-2px);
}

.form-btn--primary{
	background:linear-gradient(135deg, #2f80ed 0%, #4aa3ff 100%);
	color:#fff;
	box-shadow:0 12px 24px rgba(47,128,237,0.24);
}

.form-btn--primary:hover{
	transform:translateY(-2px);
	box-shadow:0 18px 30px rgba(47,128,237,0.32);
}

.form-bottom-link{
	margin-top:22px;
	text-align:center;
}

.form-bottom-link__btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	height:54px;
	padding:0 22px;
	border-radius:14px;
	background:#eaf3ff;
	color:#1d67c9;
	font-size:15px;
	font-weight:800;
	border:1px solid #dbeafe;
	transition:all .2s ease;
}

.form-bottom-link__btn:hover{
	background:#2f80ed;
	color:#fff;
	border-color:#2f80ed;
}

/* =========================
   문의 약관 동의
   - theme-worklink / theme-theborn 자동 색상 적용
========================= */
.form-info-card {
	display: flex;
	flex-direction: column;
}

.form-info-notice {
	margin-top: auto;
	padding-top: 24px;
}

.form-info-notice__box {
	padding: 18px 18px 16px;
	border: 1px solid var(--primary-border);
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.76);
	box-shadow: 0 14px 30px rgba(var(--primary-rgb), 0.07);
}

.form-info-notice__title {
	margin-bottom: 10px;
	font-size: 14px;
	font-weight: 800;
	color: var(--primary-dark);
}

.form-info-notice__list {
	margin: 0;
	padding-left: 17px;
}

.form-info-notice__list li {
	margin-top: 6px;
	font-size: 12.5px;
	line-height: 1.65;
	color: #42526e;
	word-break: keep-all;
}

.notice-agree-check {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin-top: 14px;
	padding: 12px 13px;
	border: 1px solid var(--primary-border2);
	border-radius: 15px;
	background: var(--primary-light2);
	cursor: pointer;
	transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}

.notice-agree-check:hover {
	border-color: var(--primary);
	background: #ffffff;
	box-shadow: 0 8px 20px rgba(var(--primary-rgb), 0.08);
}

.notice-agree-check input {
	width: 16px;
	height: 16px;
	margin-top: 2px;
	flex: 0 0 auto;
	accent-color: var(--primary);
}

.notice-agree-check span {
	font-size: 12.5px;
	font-weight: 700;
	line-height: 1.5;
	color: var(--primary-dark);
	word-break: keep-all;
}

@media (max-width: 900px) {
	.form-info-notice {
		margin-top: 22px;
		padding-top: 0;
	}

	.form-info-notice__box {
		padding: 16px 15px;
	}

	.form-info-notice__list li,
	.notice-agree-check span {
		font-size: 12px;
	}
}

/* =========================
   문의 유형 Select
========================= */
.c-form-group select {
	width: 100%;
	height: 52px;
	padding: 0 44px 0 16px;
	border: 1px solid var(--primary-border);
	border-radius: 12px;
	background-color: #fff;
	color: #222;
	font-size: 15px;
	font-weight: 500;
	box-sizing: border-box;
	outline: none;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
	background-image:
		linear-gradient(45deg, transparent 50%, var(--primary) 50%),
		linear-gradient(135deg, var(--primary) 50%, transparent 50%);
	background-position:
		calc(100% - 22px) 22px,
		calc(100% - 16px) 22px;
	background-size:
		6px 6px,
		6px 6px;
	background-repeat: no-repeat;
}

.c-form-group select:hover {
	border-color: var(--primary-point);
	background-color: var(--primary-light2);
}

.c-form-group select:focus {
	border-color: var(--primary);
	box-shadow: 0 0 0 4px rgba(var(--primary-rgb), 0.12);
	background-color: #fff;
}

.c-form-group select option {
	color: #222;
	background-color: #fff;
}


@media (max-width:1180px){
	.sub-hero__title{
		font-size:40px;
	}
}

@media (max-width:1024px){
	.form-shell{
		grid-template-columns:1fr;
	}

	.sub-hero__title{
		font-size:36px;
	}

	.form-card__head h3{
		font-size:30px;
	}
}

@media (max-width:768px){
	.sub-hero{
		padding:42px 0 18px;
	}

	.sub-hero__inner{
		padding:28px 20px;
		border-radius:22px;
	}

	.sub-hero__title{
		font-size:30px;
	}

	.sub-hero__desc{
		font-size:15px;
	}

	.form-section{
		padding:8px 0 80px;
	}

	.form-info-card,
	.form-card{
		padding:24px 18px;
		border-radius:22px;
	}

	.form-info-card__title{
		font-size:28px;
	}

	.form-info-card__desc{
		font-size:15px;
	}

	.form-info-visual{
		height:220px;
	}

	.form-info-visual__main{
		width:170px;
		height:130px;
	}

	.form-info-visual__paper{
		width:118px;
		height:90px;
		padding:12px 10px;
	}

	.paper-line{
		height:8px;
		margin-bottom:8px;
	}

	.form-info-visual__floating{
		width:60px;
		height:60px;
		font-size:24px;
		border-radius:18px;
	}

	.form-info-visual__floating--check{
		left:18px;
		top:30px;
	}

	.form-info-visual__floating--chat{
		right:18px;
		bottom:20px;
	}

	.c-form-grid{
		grid-template-columns:1fr;
		gap:0;
	}

	.c-form-group{
		margin-bottom:16px;
	}

	.c-form-group input,
	.c-form-group textarea{
		padding:15px 16px;
		border-radius:14px;
		font-size:15px;
	}

	.c-form-group textarea{
		min-height:180px;
	}

	.form-btns{
		flex-direction:column;
	}

	.form-btn{
		width:100%;
		height:54px;
		font-size:16px;
	}
}

#promo{
	scroll-margin-top:110px;
}

/* =========================
   Board
========================= */
.board-page{
	background:linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
}

.board-section,
.board-view-section{
	padding:8px 0 100px;
}

.board-card,
.board-view-card{
	background:#fff;
	border:1px solid #edf2f8;
	border-radius:28px;
	padding:30px 28px;
	box-shadow:0 12px 26px rgba(17,24,39,0.05);
}

.board-card__top{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:16px;
	margin-bottom:22px;
	flex-wrap:wrap;
}

.board-card__top h2{
	margin:0;
	font-size:30px;
	line-height:1.35;
	letter-spacing:-0.03em;
	color:#111827;
}

.board-write-btn{
	min-width:160px;
	flex:none;
}

.board-table-wrap{
	overflow-x:auto;
}

.board-table{
	width:100%;
	border-collapse:collapse;
	table-layout:fixed;
}

.board-table th,
.board-table td{
	padding:16px 12px;
	border-bottom:1px solid #edf2f7;
	font-size:15px;
	color:#374151;
	text-align:center;
}

.board-table th{
	background:#f8fbff;
	font-weight:800;
	color:#1f2937;
}

.board-table__subject{
	text-align:left !important;
}

.board-table__subject a{
	display:block;
	color:#111827;
	font-weight:700;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}

.board-table__subject a:hover{
	color:#2f80ed;
}

.board-empty{
	padding:40px 12px !important;
	color:#6b7280;
}

.board-pagination{
	margin-top:24px;
	text-align:center;
}

.board-pagination a,
.board-pagination strong{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:42px;
	height:42px;
	padding:0 12px;
	margin:0 4px;
	border-radius:12px;
	border:1px solid #dbe7f6;
	font-size:15px;
	font-weight:800;
}

.board-pagination a{
	background:#fff;
	color:#1d67c9;
}

.board-pagination strong{
	background:#2f80ed;
	color:#fff;
	border-color:#2f80ed;
}

.board-view-head{
	padding-bottom:20px;
	border-bottom:1px solid #edf2f7;
}

.board-view-head h2{
	margin:0;
	font-size:34px;
	line-height:1.4;
	letter-spacing:-0.03em;
	color:#111827;
	word-break:keep-all;
}

.board-view-meta{
	display:flex;
	flex-wrap:wrap;
	gap:10px 18px;
	margin-top:14px;
	font-size:14px;
	color:#6b7280;
}

.board-view-body{
	padding:26px 0;
}

.board-view-info{
	padding:16px 18px;
	border-radius:18px;
	background:#f8fbff;
	border:1px solid #e3edf9;
	font-size:15px;
	line-height:1.7;
	color:#4b5563;
	margin-bottom:18px;
}

.board-view-info strong{
	color:#111827;
	margin-right:10px;
}

.board-view-content{
	min-height:180px;
	font-size:16px;
	line-height:1.9;
	color:#1f2937;
	word-break:keep-all;
	white-space:pre-wrap;
}

.board-answer-box{
	margin-top:6px;
	padding:22px 20px;
	border-radius:20px;
	background:#f8fbff;
	border:1px solid #e3edf9;
}

.board-answer-box__title{
	font-size:16px;
	font-weight:900;
	color:#2f80ed;
	margin-bottom:14px;
}

.board-answer-box__content{
	font-size:15px;
	line-height:1.9;
	color:#1f2937;
	white-space:pre-wrap;
}

.board-answer-box__date{
	margin-top:14px;
	font-size:14px;
	color:#6b7280;
}

.board-answer-box__wait{
	font-size:15px;
	line-height:1.8;
	color:#6b7280;
}

.board-view-btns{
	display:flex;
	gap:14px;
	margin-top:24px;
}

@media (max-width:768px){
	.board-section,
	.board-view-section{
		padding:8px 0 80px;
	}

	.board-card,
	.board-view-card{
		padding:24px 18px;
		border-radius:22px;
	}

	.board-card__top h2{
		font-size:24px;
	}

	.board-table th,
	.board-table td{
		padding:14px 8px;
		font-size:14px;
	}

	.board-view-head h2{
		font-size:28px;
	}

	.board-view-btns{
		flex-direction:column;
	}
}

/* =========================
   Complete Page (wilte_compleate.php)
========================= */
.complete-page{
	background:linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
}

.complete-section{
	padding:8px 0 100px;
}

.complete-card{
	max-width:820px;
	margin:0 auto;
	background:#fff;
	border:1px solid #edf2f8;
	border-radius:28px;
	padding:40px 34px;
	box-shadow:0 12px 26px rgba(17,24,39,0.05);
	text-align:center;
}

.complete-card__icon{
	width:84px;
	height:84px;
	margin:0 auto 22px;
	border-radius:24px;
	background:linear-gradient(135deg, #2f80ed 0%, #4aa3ff 100%);
	color:#fff;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:42px;
	font-weight:900;
	box-shadow:0 16px 30px rgba(47,128,237,0.24);
}

.complete-card__title{
	margin:0;
	font-size:36px;
	line-height:1.35;
	letter-spacing:-0.03em;
	color:#111827;
}

.complete-card__desc{
	margin:14px 0 0;
	font-size:17px;
	line-height:1.8;
	color:#6b7280;
}

.complete-info{
	margin-top:28px;
	border:1px solid #e6eef9;
	border-radius:22px;
	background:#f8fbff;
	padding:10px 22px;
	text-align:left;
}

.complete-info__row{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:20px;
	padding:16px 0;
	border-bottom:1px solid #e8eef7;
}

.complete-info__row:last-child{
	border-bottom:none;
}

.complete-info__label{
	font-size:15px;
	font-weight:800;
	color:#4b5563;
	flex-shrink:0;
}

.complete-info__value{
	font-size:16px;
	font-weight:700;
	color:#111827;
	text-align:right;
	word-break:break-all;
}

.complete-info__value--number{
	color:#2f80ed;
	font-size:20px;
	font-weight:900;
	letter-spacing:0.02em;
}

.complete-notice{
	margin-top:22px;
	padding:18px 20px;
	border-radius:18px;
	background:#f8fbff;
	border:1px solid #e1ecfb;
	text-align:left;
}

.complete-notice__title{
	font-size:14px;
	font-weight:800;
	color:#2f80ed;
	margin-bottom:8px;
}

.complete-notice__text{
	font-size:14px;
	line-height:1.8;
	color:#5b6472;
	word-break:keep-all;
}

.complete-btns{
	display:flex;
	gap:14px;
	margin-top:24px;
}

.complete-btns--sub{
	margin-top:14px;
	justify-content:center;
}

.complete-link-btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	height:50px;
	padding:0 18px;
	border-radius:14px;
	background:#eef5ff;
	color:#1d67c9;
	font-size:15px;
	font-weight:800;
	border:1px solid #dbeafe;
	transition:all .2s ease;
}

.complete-link-btn:hover{
	background:#2f80ed;
	color:#fff;
	border-color:#2f80ed;
}

@media (max-width:768px){
	.complete-section{
		padding:8px 0 80px;
	}

	.complete-card{
		padding:28px 18px;
		border-radius:22px;
	}

	.complete-card__icon{
		width:72px;
		height:72px;
		font-size:34px;
		border-radius:20px;
	}

	.complete-card__title{
		font-size:28px;
	}

	.complete-card__desc{
		font-size:15px;
	}

	.complete-info{
		padding:8px 16px;
		border-radius:18px;
	}

	.complete-info__row{
		flex-direction:column;
		align-items:flex-start;
		gap:6px;
		padding:14px 0;
	}

	.complete-info__value{
		text-align:left;
	}

	.complete-info__value--number{
		font-size:18px;
	}

	.complete-btns{
		flex-direction:column;
	}

	.complete-link-btn{
		width:100%;
	}
}

/* =========================
   익명체크 관련
========================= */
.anonymous-check-wrap{
	display:inline-flex;
	align-items:center;
	gap:8px;
	cursor:pointer;
	font-size:15px;
	font-weight:800;
	color:#111827;
	line-height:1.2;
}

.anonymous-check-wrap input[type="checkbox"]{
	width:16px;
	height:16px;
	margin:0;
	vertical-align:middle;
	flex-shrink:0;
}

.anonymous-check-wrap span{
	display:inline-block;
	vertical-align:middle;
}

.c-form-help{
	margin-top:8px;
	font-size:13px;
	line-height:1.6;
	color:#6b7280;
}


/* =========================
   Brand Color Override
   - body.theme-worklink / body.theme-theborn 기준
========================= */

/* Header */
body.theme-theborn .logo-mark{
	background:linear-gradient(135deg, var(--primary-point) 0%, var(--primary) 100%);
	box-shadow:0 8px 18px rgba(var(--primary-rgb),0.28);
}

body.theme-theborn .nav a:hover{
	color:var(--primary);
}

body.theme-theborn .nav a:after{
	background:var(--primary);
}

body.theme-theborn .header-btn a{
	background:var(--primary);
	color:#fff;
	border-color:var(--primary-border);
}

body.theme-theborn .header-btn a:hover{
	background:var(--primary-dark);
	color:#fff;
	border-color:var(--primary);
}

/* Main Hero */
body.theme-theborn .hero{
	background:
		radial-gradient(circle at 15% 10%, rgba(var(--primary-rgb),0.08), transparent 28%),
		radial-gradient(circle at 90% 20%, rgba(var(--primary-rgb),0.10), transparent 24%),
		linear-gradient(180deg, var(--primary-light2) 0%, #ffffff 100%);
}

body.theme-theborn .hero-kicker{
	background:var(--primary-light);
	color:var(--primary-dark);
}

body.theme-theborn .hero-kicker .dot{
	background:var(--primary);
}

body.theme-theborn .hero-title .accent{
	color:var(--primary);
}

body.theme-theborn .btn-primary,
body.theme-theborn .form-btn--primary{
	background:linear-gradient(135deg, var(--primary) 0%, var(--primary-point) 100%);
	box-shadow:0 12px 24px rgba(var(--primary-rgb),0.24);
}

body.theme-theborn .btn-primary:hover,
body.theme-theborn .form-btn--primary:hover{
	box-shadow:0 18px 30px rgba(var(--primary-rgb),0.32);
}

body.theme-theborn .btn-secondary{
	color:var(--primary-dark);
	border-color:var(--primary-border);
}

body.theme-theborn .btn-secondary:hover{
	color:var(--primary);
	border-color:var(--primary);
}

body.theme-theborn .visual-box:before{
	background:radial-gradient(circle, rgba(var(--primary-rgb),0.18) 0%, rgba(var(--primary-rgb),0) 70%);
}

body.theme-theborn .visual-img{
	background:var(--primary-light);
}

body.theme-theborn .visual-fallback{
	background:linear-gradient(135deg, var(--primary-light) 0%, #ffffff 100%);
}

body.theme-theborn .visual-fallback strong{
	color:var(--primary-dark);
}

/* Quick Card */
body.theme-theborn .quick-card .label{
	color:var(--primary);
}

/* Worklink Info / Service */
body.theme-theborn .worklink-info{
	background:linear-gradient(180deg, #ffffff 0%, var(--primary-light2) 100%);
}

body.theme-theborn .worklink-info__intro,
body.theme-theborn .form-info-card{
	background:var(--primary-light2);
	border-color:var(--primary-border2);
	box-shadow:0 12px 26px rgba(var(--primary-rgb),0.08);
}

body.theme-theborn .worklink-badge,
body.theme-theborn .form-info-card__badge,
body.theme-theborn .sub-hero__badge{
	background:var(--primary-light);
	color:var(--primary);
}

body.theme-theborn .worklink-title span{
	color:var(--primary);
}

body.theme-theborn .worklink-visual,
body.theme-theborn .form-info-visual{
	background:linear-gradient(135deg, var(--primary-light) 0%, #ffffff 100%);
}

body.theme-theborn .visual-card,
body.theme-theborn .form-info-visual__main,
body.theme-theborn .form-info-visual__floating{
	box-shadow:0 16px 26px rgba(var(--primary-rgb),0.14);
}

body.theme-theborn .mini-window{
	background:var(--primary-light2);
	border-color:var(--primary-border);
}

body.theme-theborn .mini-window__head{
	background:linear-gradient(90deg, var(--primary-point) 0%, var(--primary-light) 100%);
}

body.theme-theborn .line,
body.theme-theborn .paper-line{
	background:var(--primary-border);
}

body.theme-theborn .chart-bar span{
	background:linear-gradient(180deg, var(--primary-point) 0%, var(--primary) 100%);
}

body.theme-theborn .check-ico{
	background:var(--primary);
}

body.theme-theborn .circle-graph{
	background:conic-gradient(var(--primary) 0 240deg, var(--primary-border) 240deg 360deg);
}

body.theme-theborn .worklink-checks li:before,
body.theme-theborn .form-info-list li:before{
	color:var(--primary);
}

body.theme-theborn .service-item:hover{
	border-color:var(--primary-border);
	box-shadow:0 10px 22px rgba(var(--primary-rgb),0.08);
}

body.theme-theborn .service-icon{
	background:var(--primary-light);
	color:var(--primary);
}

body.theme-theborn .services-link{
	background:var(--primary);
	box-shadow:0 10px 20px rgba(var(--primary-rgb),0.22);
}

body.theme-theborn .services-link:hover{
	background:var(--primary-dark);
}

/* Sub Hero / Write / Check */
body.theme-theborn .counsel-write-page,
body.theme-theborn .board-page,
body.theme-theborn .complete-page{
	background:linear-gradient(180deg, var(--primary-light2) 0%, #ffffff 100%);
}

body.theme-theborn .sub-hero__inner{
	background:linear-gradient(135deg, var(--primary-light) 0%, #ffffff 100%);
	border-color:var(--primary-border2);
	box-shadow:0 12px 26px rgba(var(--primary-rgb),0.08);
}

body.theme-theborn .sub-hero__desc strong{
	color:var(--primary-dark);
}

body.theme-theborn .form-info-visual__floating--check{
	color:var(--primary);
}

body.theme-theborn .c-form-group input:focus,
body.theme-theborn .c-form-group textarea:focus{
	border-color:var(--primary-point);
	box-shadow:0 0 0 4px rgba(var(--primary-rgb),0.08);
}

body.theme-theborn .form-notice-box,
body.theme-theborn .board-view-info,
body.theme-theborn .board-answer-box,
body.theme-theborn .complete-info,
body.theme-theborn .complete-notice{
	background:var(--primary-light2);
	border-color:var(--primary-border);
}

body.theme-theborn .form-notice-box__title,
body.theme-theborn .board-answer-box__title,
body.theme-theborn .complete-notice__title{
	color:var(--primary);
}

body.theme-theborn .form-btn--line{
	border-color:var(--primary-border);
	color:var(--primary-dark);
}

body.theme-theborn .form-btn--line:hover{
	border-color:var(--primary);
	color:var(--primary);
}

body.theme-theborn .form-bottom-link__btn,
body.theme-theborn .complete-link-btn{
	background:var(--primary-light);
	color:var(--primary-dark);
	border-color:var(--primary-border);
}

body.theme-theborn .form-bottom-link__btn:hover,
body.theme-theborn .complete-link-btn:hover{
	background:var(--primary);
	color:#fff;
	border-color:var(--primary);
}

/* Board */
body.theme-theborn .board-table th{
	background:var(--primary-light2);
}

body.theme-theborn .board-table__subject a:hover{
	color:var(--primary);
}

body.theme-theborn .board-pagination a{
	color:var(--primary-dark);
	border-color:var(--primary-border);
}

body.theme-theborn .board-pagination strong{
	background:var(--primary);
	border-color:var(--primary);
	color:#fff;
}

/* Complete */
body.theme-theborn .complete-card__icon{
	background:linear-gradient(135deg, var(--primary) 0%, var(--primary-point) 100%);
	box-shadow:0 16px 30px rgba(var(--primary-rgb),0.24);
}

body.theme-theborn .complete-info__value--number{
	color:var(--primary);
}

/* =========================
   Brand Logo Image
========================= */
.logo-mark.logo-mark--image{
	background:#fff;
	box-shadow:none;
	border-radius:12px;
	overflow:hidden;
	padding:1px;
	border:1px solid #f0f0f0;
}

.logo-mark.logo-mark--image:before,
.logo-mark.logo-mark--image:after{
	display:none;
}


.logo-mark.logo-mark--image img{
	width:100%;
	height:100%;
	object-fit:contain;
	display:block;
}

body.theme-worklink .logo-mark.logo-mark--image{
	background:#2f80ed;
	border:none;
	padding:6px;
	border-radius:14px;
}

body.theme-worklink .logo-mark.logo-mark--image img{
	width:100%;
	height:100%;
	object-fit:contain;
	display:block;
}

/* =========================
   FAQ
========================= */
.faq-page{
	background:var(--primary-light2);
	min-height:calc(100vh - 160px);
}

.faq-hero{
	padding:48px 0 22px;
}

.faq-hero-box{
	background:linear-gradient(135deg, rgba(var(--primary-rgb), .12), rgba(var(--primary-rgb), .04));
	border:1px solid var(--primary-border);
	border-radius:24px;
	padding:34px 36px;
}

.faq-hero .eyebrow{
	margin:0 0 8px;
	font-size:13px;
	font-weight:800;
	color:var(--primary);
	letter-spacing:.08em;
}

.faq-hero h1{
	margin:0;
	font-size:34px;
	line-height:1.25;
	color:#172033;
}

.faq-hero .hero-desc{
	margin:12px 0 0;
	font-size:16px;
	line-height:1.7;
	color:#5b6475;
}

.faq-section{
	padding:18px 0 70px;
}

.faq-toolbar{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:16px;
	margin-bottom:18px;
}

.faq-search{
	flex:1;
}

.faq-search input{
	width:100%;
	height:54px;
	border:1px solid var(--primary-border2);
	border-radius:16px;
	background:#fff;
	padding:0 18px;
	font-size:15px;
	color:#222;
	outline:none;
	box-shadow:0 10px 30px rgba(15, 23, 42, .04);
}

.faq-search input:focus{
	border-color:var(--primary);
	box-shadow:0 0 0 4px rgba(var(--primary-rgb), .12);
}

.faq-count{
	flex:0 0 auto;
	font-size:15px;
	color:#647085;
}

.faq-count strong{
	color:var(--primary);
}

.faq-category-tabs{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin-bottom:18px;
}

.faq-tab{
	border:1px solid var(--primary-border2);
	background:#fff;
	color:#4b5565;
	border-radius:999px;
	padding:11px 18px;
	font-size:14px;
	font-weight:700;
	cursor:pointer;
	transition:.2s ease;
}

.faq-tab:hover,
.faq-tab.active{
	background:var(--primary);
	border-color:var(--primary);
	color:#fff;
}

.faq-list-wrap{
	display:flex;
	flex-direction:column;
	gap:12px;
}

.faq-item{
	background:#fff;
	border:1px solid #e8edf5;
	border-radius:18px;
	box-shadow:0 12px 34px rgba(15, 23, 42, .045);
	overflow:hidden;
}

.faq-question{
	width:100%;
	display:flex;
	align-items:center;
	gap:14px;
	border:0;
	background:#fff;
	padding:22px 24px;
	text-align:left;
	cursor:pointer;
}

.faq-no{
	flex:0 0 auto;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:48px;
	height:30px;
	border-radius:999px;
	background:var(--primary-light);
	color:var(--primary);
	font-size:13px;
	font-weight:900;
}

.faq-question-text{
	flex:1;
	font-size:17px;
	font-weight:800;
	line-height:1.55;
	color:#1d2638;
}

.faq-toggle{
	position:relative;
	flex:0 0 auto;
	width:26px;
	height:26px;
	border-radius:50%;
	background:var(--primary-light);
}

.faq-toggle:before,
.faq-toggle:after{
	content:"";
	position:absolute;
	left:50%;
	top:50%;
	width:12px;
	height:2px;
	background:var(--primary);
	transform:translate(-50%, -50%);
	border-radius:2px;
}

.faq-toggle:after{
	transform:translate(-50%, -50%) rotate(90deg);
	transition:.2s ease;
}

.faq-item.open .faq-toggle:after{
	transform:translate(-50%, -50%) rotate(0deg);
}

.faq-answer{
	display:none;
	border-top:1px solid #edf1f6;
	padding:22px 24px 26px 86px;
	background:#fff;
}

.faq-item.open .faq-answer{
	display:block;
}

.faq-tags{
	display:flex;
	flex-wrap:wrap;
	gap:6px;
	margin-bottom:14px;
}

.faq-tags span{
	display:inline-flex;
	align-items:center;
	height:28px;
	padding:0 10px;
	border-radius:999px;
	background:var(--primary-light2);
	border:1px solid var(--primary-border);
	color:var(--primary-dark);
	font-size:12px;
	font-weight:700;
}

.faq-answer-body{
	font-size:15px;
	line-height:1.85;
	color:#414b5c;
}

.faq-answer-body p{
	margin:0 0 12px;
}

.faq-answer-body p:last-child{
	margin-bottom:0;
}

.faq-desc{
	color:#687386;
	font-size:14px;
}

.faq-list{
	margin:0;
	padding-left:18px;
}

.faq-table-wrap{
	width:100%;
	overflow-x:auto;
	margin-top:14px;
	border:1px solid #e1e7f0;
	border-radius:14px;
}

.faq-data-table{
	width:100%;
	min-width:620px;
	border-collapse:collapse;
	background:#fff;
}

.faq-data-table caption{
	position:absolute;
	width:1px;
	height:1px;
	margin:-1px;
	overflow:hidden;
	clip:rect(0,0,0,0);
}

.faq-data-table th,
.faq-data-table td{
	border-bottom:1px solid #e7edf5;
	border-right:1px solid #e7edf5;
	padding:12px 14px;
	font-size:14px;
	line-height:1.65;
	vertical-align:middle;
	color:#3f4756;
}

.faq-data-table tr:last-child th,
.faq-data-table tr:last-child td{
	border-bottom:0;
}

.faq-data-table th:last-child,
.faq-data-table td:last-child{
	border-right:0;
}

.faq-data-table thead th{
	background:var(--primary-light);
	color:var(--primary-dark);
	font-weight:900;
	text-align:center;
}

.faq-data-table tbody th{
	background:#fbfcff;
	color:#263144;
	font-weight:800;
	text-align:center;
	white-space:nowrap;
}

.faq-empty{
	background:#fff;
	border:1px dashed var(--primary-border2);
	border-radius:18px;
	padding:42px 20px;
	text-align:center;
	color:#667085;
	font-size:15px;
}

.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;
}

@media (max-width:768px){
	.faq-hero{
		padding:30px 0 16px;
	}

	.faq-hero-box{
		padding:26px 22px;
		border-radius:20px;
	}

	.faq-hero h1{
		font-size:27px;
	}

	.faq-toolbar{
		display:block;
	}

	.faq-count{
		margin-top:10px;
		text-align:right;
	}

	.faq-question{
		padding:18px 18px;
		align-items:flex-start;
	}

	.faq-no{
		min-width:42px;
		height:28px;
		font-size:12px;
	}

	.faq-question-text{
		font-size:15px;
	}

	.faq-answer{
		padding:18px 18px 22px;
	}

	.faq-data-table{
		min-width:560px;
	}
}
/* ====================================
   게시판 PC / Mobile 반응형 (board.php)
======================================= */
.board-table-wrap {
	width: 100%;
	overflow-x: auto;
}
.board-table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
}
.board-table th,
.board-table td {
	vertical-align: middle;
}
.board-table__subject a {
	display: block;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: inherit;
	text-decoration: none;
}
.board-table__subject a:hover {
	color: var(--primary);
	text-decoration: underline;
}
.board-status {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 72px;
	height: 30px;
	padding: 0 10px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
}
.board-status--wait {
	background: #f4f6f8;
	color: #667085;
	border: 1px solid #e5e7eb;
}
.board-status--answer {
	background: var(--primary-light);
	color: var(--primary);
	border: 1px solid var(--primary-border);
}
.board-status--hold {
	background: #fff7ed;
	color: #c2410c;
	border: 1px solid #fed7aa;
}
.board-mobile-list {
	display: none;
}
.board-empty {
	padding: 50px 20px !important;
	text-align: center;
	color: #888;
}
.board-empty-mobile {
	display: none;
}
/* =========================
   모바일 카드 UI (board.php)
========================= */
@media (max-width: 768px) {
	.board-card {
		padding: 20px 16px;
		border-radius: 18px;
	}
	.board-card__top {
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
		gap: 12px;
		margin-bottom: 18px;
	}
	.board-card__top h2 {
		font-size: 20px;
		line-height: 1.3;
	}
	.board-write-btn {
		flex: 0 0 auto;
		height: 40px;
		padding: 0 14px;
		font-size: 14px;
		white-space: nowrap;
	}
	.board-table-wrap {
		display: none;
	}
	.board-mobile-list {
		display: flex;
		flex-direction: column;
		gap: 12px;
	}
	.board-mobile-item {
		display: block;
		padding: 16px;
		border: 1px solid #e8edf3;
		border-radius: 16px;
		background: #fff;
		text-decoration: none;
		color: inherit;
		box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
		transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
	}
	.board-mobile-item:active {
		transform: scale(0.99);
	}
	.board-mobile-item:hover {
		border-color: var(--primary-border);
		box-shadow: 0 10px 24px rgba(15, 23, 42, 0.07);
	}
	.board-mobile-item__head {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 10px;
		margin-bottom: 10px;
	}
	.board-mobile-item__no {
		font-size: 13px;
		font-weight: 700;
		color: #98a2b3;
	}
	.board-mobile-item__title {
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
		margin-bottom: 14px;
		font-size: 16px;
		font-weight: 800;
		line-height: 1.45;
		color: #111827;
		word-break: keep-all;
	}
	.board-mobile-item__meta {
		display: flex;
		flex-wrap: wrap;
		gap: 8px 12px;
		padding-top: 12px;
		border-top: 1px solid #f0f2f5;
		font-size: 13px;
		color: #667085;
	}
	.board-mobile-item__meta span {
		position: relative;
		display: inline-flex;
		align-items: center;
		gap: 4px;
	}
	.board-mobile-item__meta span strong {
		font-weight: 700;
		color: #475467;
	}
	.board-empty-mobile {
		display: block;
		padding: 42px 16px;
		border: 1px solid #e8edf3;
		border-radius: 16px;
		background: #fff;
		text-align: center;
		color: #888;
		font-size: 15px;
	}
	.board-pagination {
		margin-top: 22px;
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		gap: 6px;
	}
	.board-pagination a,
	.board-pagination strong {
		min-width: 34px;
		height: 34px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		border-radius: 10px;
		font-size: 14px;
	}
}
@media (max-width: 480px) {
	.sub-hero__title {
		font-size: 28px;
	}
	.sub-hero__desc {
		font-size: 14px;
		line-height: 1.6;
	}
	.board-card__top {
		align-items: stretch;
		flex-direction: column;
	}
	.board-write-btn {
		width: 100%;
	}
	.board-mobile-item {
		padding: 15px;
	}
	.board-status {
		min-width: 68px;
		height: 28px;
		font-size: 12px;
	}
}

/* ===================================
   Header Responsive Menu (header.php)
==================================== */
.header {
	position: sticky;
	top: 0;
	z-index: 1000;
	background: rgba(255, 255, 255, 0.96);
	backdrop-filter: blur(10px);
	border-bottom: 1px solid rgba(15, 23, 42, 0.06);
}

.header-inner {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	min-height: 76px;
}

.logo-wrap {
	display: flex;
	align-items: center;
	gap: 12px;
	text-decoration: none;
	color: inherit;
	flex-shrink: 0;
}

.logo-mark {
	flex-shrink: 0;
}

.logo-mark--image img {
	display: block;
	width: 46px;
	height: 46px;
	object-fit: contain;
}

.logo-text .brand {
	font-size: 18px;
	font-weight: 800;
	color: #111827;
	line-height: 1.2;
}

.logo-text .sub {
	margin-top: 3px;
	font-size: 13px;
	color: #667085;
	line-height: 1.2;
}

.nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 26px;
	flex: 1;
}

.nav a {
	position: relative;
	display: inline-flex;
	align-items: center;
	height: 76px;
	font-size: 15px;
	font-weight: 700;
	color: #344054;
	text-decoration: none;
	white-space: nowrap;
	transition: color 0.15s ease;
}

.nav a:hover,
.nav a.active {
	color: var(--primary);
}

.nav a.active::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 3px;
	border-radius: 999px 999px 0 0;
	background: var(--primary);
}

.header-btn {
	flex-shrink: 0;
}

.header-btn a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 42px;
	padding: 0 18px;
	border-radius: 999px;
	background: var(--primary);
	color: #fff;
	font-size: 14px;
	font-weight: 800;
	text-decoration: none;
	white-space: nowrap;
	transition: background 0.15s ease, transform 0.15s ease;
}

.header-btn a:hover {
	background: var(--primary-dark);
}

.header-btn a:active {
	transform: scale(0.98);
}

/* 햄버거 버튼 */
.mobile-menu-btn {
	display: none;
	width: 42px;
	height: 42px;
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	background: #fff;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 5px;
	cursor: pointer;
	flex-shrink: 0;
}

.mobile-menu-btn span {
	display: block;
	width: 20px;
	height: 2px;
	border-radius: 999px;
	background: #111827;
	transition: transform 0.2s ease, opacity 0.2s ease;
}

.mobile-menu-btn.is-active span:nth-child(1) {
	transform: translateY(7px) rotate(45deg);
}

.mobile-menu-btn.is-active span:nth-child(2) {
	opacity: 0;
}

.mobile-menu-btn.is-active span:nth-child(3) {
	transform: translateY(-7px) rotate(-45deg);
}

/* 모바일 메뉴 배경 */
.mobile-menu-dim {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: rgba(15, 23, 42, 0.45);
	z-index: 1001;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.2s ease;
}

.mobile-menu-dim.is-open {
	opacity: 1;
	pointer-events: auto;
}

/* 모바일 메뉴 패널 */
.mobile-menu {
	position: fixed;
	top: 0;
	right: 0;
	width: min(84%, 340px);
	height: 100%;
	background: #fff;
	z-index: 1002;
	transform: translateX(100%);
	transition: transform 0.25s ease;
	box-shadow: -20px 0 50px rgba(15, 23, 42, 0.18);
	display: flex;
	flex-direction: column;
}

.mobile-menu.is-open {
	transform: translateX(0);
}

.mobile-menu__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 20px;
	border-bottom: 1px solid #eef2f6;
}

.mobile-menu__logo {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
}

.mobile-menu__logo img {
	width: 40px;
	height: 40px;
	object-fit: contain;
	flex-shrink: 0;
}

.mobile-menu__logo strong {
	display: block;
	font-size: 16px;
	font-weight: 800;
	color: #111827;
	line-height: 1.2;
}

.mobile-menu__logo span {
	display: block;
	margin-top: 3px;
	font-size: 12px;
	color: #667085;
	line-height: 1.2;
}

.mobile-menu__close {
	width: 38px;
	height: 38px;
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	background: #fff;
	color: #111827;
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
}

.mobile-menu__nav {
	display: flex;
	flex-direction: column;
	padding: 12px 14px;
}

.mobile-menu__nav a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 52px;
	padding: 0 14px;
	border-radius: 12px;
	color: #344054;
	font-size: 15px;
	font-weight: 800;
	text-decoration: none;
}

.mobile-menu__nav a:hover,
.mobile-menu__nav a.active {
	background: var(--primary-light);
	color: var(--primary);
}

.mobile-menu__nav a::after {
	content: "›";
	font-size: 22px;
	color: #98a2b3;
}

.mobile-menu__nav a.active::after {
	color: var(--primary);
}

.mobile-menu__bottom {
	margin-top: auto;
	padding: 18px 20px 24px;
	border-top: 1px solid #eef2f6;
}

.mobile-menu__bottom a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 46px;
	border-radius: 14px;
	background: var(--primary);
	color: #fff;
	font-size: 15px;
	font-weight: 800;
	text-decoration: none;
}

body.mobile-menu-open {
	overflow: hidden;
}

/* =========================
   Header Mobile
========================= */

@media (max-width: 900px) {
	.header-inner {
		min-height: 66px;
		gap: 12px;
	}

	.nav,
	.header-btn {
		display: none;
	}

	.mobile-menu-btn {
		display: inline-flex;
	}

	.logo-mark--image img {
		width: 42px;
		height: 42px;
	}

	.logo-text .brand {
		font-size: 16px;
	}

	.logo-text .sub {
		font-size: 12px;
	}
}

@media (max-width: 480px) {
	.header-inner {
		min-height: 62px;
	}

	.logo-wrap {
		gap: 9px;
		min-width: 0;
	}

	.logo-mark--image img {
		width: 38px;
		height: 38px;
	}

	.logo-text {
		min-width: 0;
	}

	.logo-text .brand,
	.logo-text .sub {
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		max-width: 190px;
	}

	.logo-text .brand {
		font-size: 15px;
	}

	.logo-text .sub {
		font-size: 11px;
	}

	.mobile-menu-btn {
		width: 40px;
		height: 40px;
		border-radius: 11px;
	}

	.mobile-menu {
		width: 86%;
	}
}

/* =========================
   Mobile Menu Top Logo
========================= */

.mobile-menu__logo {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	min-width: 0;
}

.mobile-menu__brand-mark {
	width: 44px;
	height: 44px;
	border-radius: 13px;
	background: var(--primary);
	border: 1px solid var(--primary-border);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	overflow: hidden;
}

.mobile-menu__brand-mark img {
	display: block;
	width: 34px;
	height: 34px;
	object-fit: contain;
}

.mobile-menu__brand-mark span {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background: var(--primary);
	color: #fff;
	font-size: 15px;
	font-weight: 900;
	letter-spacing: -0.5px;
}

.mobile-menu__brand-text {
	min-width: 0;
}

.mobile-menu__brand-text strong {
	display: block;
	font-size: 17px;
	font-weight: 900;
	color: #111827;
	line-height: 1.25;
	letter-spacing: -0.4px;
}

.mobile-menu__brand-text span {
	display: block;
	margin-top: 3px;
	font-size: 13px;
	font-weight: 600;
	color: #667085;
	line-height: 1.2;
}

@media (max-width: 480px) {
	.mobile-menu__head {
		padding: 18px 16px;
	}

	.mobile-menu__brand-mark {
		width: 42px;
		height: 42px;
		border-radius: 12px;
	}

	.mobile-menu__brand-mark img {
		width: 32px;
		height: 32px;
	}

	.mobile-menu__brand-text strong {
		font-size: 16px;
	}

	.mobile-menu__brand-text span {
		font-size: 12px;
	}
}