.greeting-wrap {
	padding-top: 67px;
	padding-left: 30px;
	padding-right: 30px;
	/* Symmetry */
	padding-bottom: 60px;
	color: #333333;
}

/* Base text properties mapped to Noto Sans KR */
.greeting-wrap p {
	font-family: 'Noto Sans KR', sans-serif;
	letter-spacing: 0px;
	margin: 0;
}

.greeting-wrap b {
	font-weight: 700;
}

/* Watermark Background */
.watermark-bg {
	position: absolute;
	top: 253px;
	right: 29px;
	width: 770px;
	height: 231px;
	z-index: 0;
	opacity: 1;
}

.watermark-bg img {
	width: 100%;
	height: 100%;
	display: block;
}

/* Header Decoration */
.header-deco-group {
	position: absolute;
	top: 54px;
	right: 60px;
	width: 347px;
	height: 198px;
	z-index: 1;
}

.header-deco-group img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: block;
}

/* Ensure text stays above absolute elements */
.greeting-header,
.greeting-body,
.greeting-footer {
	position: relative;
	z-index: 2;
}

/* Header Contents */
.greeting-sub {
	font-size: 22px;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: -1px;
}

.greeting-title {
	margin-top: 6px;
	/* 108 - 67 = 41. 41 - 35(line-height-box) = 6 */
	font-size: 28px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: -1px;
	color: #258352;
}

/* Body Contents */
.greeting-body {
	margin-top: 70px;
	/* 296 - (108 + 118) = 70 */
}

.greeting-welcome {
	font-size: 22px;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: -1px;
}

.greeting-desc {
	margin-top: 18px;
	/* 349 - 296 = 53. 53 - 35(line-height-box) = 18 */
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
}

/* Footer Signature */
.greeting-footer {
	position: relative;
	margin-top: 10px;
	/* 628(stamp) - 618(body text bottom) = 10px */
	height: 88px;
	width: 100%;
}

.greeting-footer p,
.greeting-footer div {
	position: absolute;
}

/* right coords calc from 1100px width minus 30px padding on .greeting-wrap means local container is 1040. 
   Original wrappers were relative to 1100 absolute.
   Wait! If .greeting-wrap has left padding 30, right padding 30, its inner width is 1040.
   Absolute positioning with Right will base off 1040px inner width!
   Stamp left: 1015, width: 55. Right dist from 1100: 30px.
   If padding-right is 30px, inner boundary exactly matches the stamp's right edge!
   So right: 0px!
*/
.stamp-image {
	top: 0px;
	/* local 0 = 628 original */
	right: 0px;
	width: 55px;
	height: 81px;
}

.stamp-image img {
	width: 100%;
	height: 100%;
	display: block;
}

/* Sign text '집사 배상' left: 943. width: 79. Right dist from 1100: 78px.
   Since inner right is 30, local right = 78 - 30 = 48px. */
.sign-name {
	top: 56px;
	/* 684 - 628 = 56 */
	right: 48px;
	width: 79px;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
	text-align: left;
}

/* Sign image left: 843. width: 90. Right dist from 1100: 167px. 
   Local right = 167 - 30 = 137px. */
.sign-image {
	top: 35px;
	/* 663 - 628 = 35 */
	right: 137px;
	width: 90px;
	height: 49px;
}

.sign-image img {
	width: 100%;
	height: 100%;
	display: block;
}

/* Sign text '대표이사' left: 754. width: 79. Right dist from 1100: 267px.
   Local right = 267 - 30 = 237px. */
.sign-title {
	top: 56px;
	/* 684 - 628 = 56 */
	right: 237px;
	width: 79px;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
	text-align: right;
}

/* Watermark and Deco positioning adjustment for padding.
   .greeting-wrap has position: relative and padding: 0 30px.
   Absolute positioning coordinates originate from the PADDING EDGE!
   Therefore, top: 0 corresponds to the outer box top, and right: 0 corresponds to the outer box right edge.
   Original Deco right distance from outer border: 60px.
   Original Deco top: 54px.
*/
.header-deco-group {
	top: 54px;
	right: 60px;
}

/* Watermark right distance from outer border: 29px.
   Original Watermark top: 253px.
*/
.watermark-bg {
	top: 253px;
	right: 29px;
}

/* Responsive Scaling */
@media screen and (max-width: 1100px) {
	.greeting-wrap {
		padding-left: 0;
		padding-right: 0;
	}

	.header-deco-group {
		width: 250px;
		height: auto;
		opacity: 0.8;
	}

	.watermark-bg {
		width: 80%;
		max-width: 600px;
		height: auto;
		opacity: 0.4;
	}

	.greeting-title {
		font-size: 24px;
	}

	.greeting-title br,
	.pc-br {
		display: none;
	}

	.greeting-sub,
	.greeting-welcome {
		font-size: 18px;
	}
}

@media screen and (max-width: 800px) {

	.watermark-bg,
	.header-deco-group {
		display: none;
	}

	.greeting-title {
		font-size: 20px;
	}

	.greeting-sub,
	.greeting-welcome {
		font-size: 16px;
	}

	.greeting-desc {
		font-size: 14px;
	}

	.greeting-footer {
		height: auto;
		display: flex;
		align-items: center;
		justify-content: flex-end;
		gap: 8px;
		flex-wrap: wrap;
	}

	.greeting-footer p,
	.greeting-footer div {
		position: relative;
		top: auto;
		right: auto;
		bottom: auto;
		left: auto;
	}

	.sign-title {
		order: 1;
		width: auto;
		text-align: left;
	}

	.sign-image {
		order: 2;
		width: 70px;
		height: 38px;
	}

	.sign-name {
		order: 3;
		width: auto;
	}

	.stamp-image {
		order: 4;
		width: 42px;
		height: 62px;
	}
}