/* ===== greeting section ===== */
.greeting-section .greeting-inner { display: flex; align-items: flex-start; gap: 80px; }

/* image */
.greeting-section .greeting-inner .greeting-img { flex: 0 0 460px; }
.greeting-section .greeting-inner .greeting-img .greeting-img-placeholder { width: 100%; aspect-ratio: 4 / 5; background: #E8EDF5; border-radius: 24px; overflow: hidden; }
.greeting-section .greeting-inner .greeting-img .greeting-img-placeholder img { width: 100%; height: 100%; object-fit: cover; }

/* content */
.greeting-section .greeting-inner .greeting-content { flex: 1; padding-top: 10px; }
.greeting-section .greeting-inner .greeting-content .greeting-eng { font-size: 1.3rem; font-weight: 700; color: var(--theme); letter-spacing: 3px; margin-bottom: 22px; }
.greeting-section .greeting-inner .greeting-content .greeting-title { font-size: 3.6rem; font-weight: 700; color: #111; line-height: 1.45; margin-bottom: 36px; word-break: keep-all; }
.greeting-section .greeting-inner .greeting-content .greeting-title strong { color: var(--theme); font-weight: 700; }

/* body paragraphs */
.greeting-section .greeting-inner .greeting-content .greeting-body { display: flex; flex-direction: column; gap: 18px; margin-bottom: 40px; padding-bottom: 40px; border-bottom: 1px solid var(--line); }
.greeting-section .greeting-inner .greeting-content .greeting-body p { font-size: 1.7rem; color: #444; line-height: 1.9; word-break: keep-all; }
.greeting-section .greeting-inner .greeting-content .greeting-body .greeting-highlight { font-weight: 700; color: #222; }

/* signature */
.greeting-section .greeting-inner .greeting-content .greeting-sign { display: flex; flex-direction: column; gap: 6px; }
.greeting-section .greeting-inner .greeting-content .greeting-sign .sign-org { font-size: 1.5rem; color: #6f6f6f; }
.greeting-section .greeting-inner .greeting-content .greeting-sign .sign-name { font-size: 2rem; font-weight: 700; color: #111; }

/* ===== responsive ===== */
@media (max-width: 1280px) {
	.greeting-section .greeting-inner { gap: 60px; }
	.greeting-section .greeting-inner .greeting-img { flex: 0 0 380px; }
	.greeting-section .greeting-inner .greeting-content .greeting-title { font-size: 3.2rem; }
}

@media (max-width: 1024px) {
	.greeting-section .greeting-inner { gap: 48px; }
	.greeting-section .greeting-inner .greeting-img { flex: 0 0 320px; }
	.greeting-section .greeting-inner .greeting-content .greeting-title { font-size: 2.8rem; }
	.greeting-section .greeting-inner .greeting-content .greeting-body p { font-size: 1.6rem; }
}

@media (max-width: 768px) {
	.greeting-section .greeting-inner { flex-direction: column; gap: 32px; }
	.greeting-section .greeting-inner .greeting-img { flex: none; width: 100%; }
	.greeting-section .greeting-inner .greeting-img .greeting-img-placeholder { aspect-ratio: 10 / 10; border-radius: 16px; }
	.greeting-section .greeting-inner .greeting-content { padding-top: 0; }
	.greeting-section .greeting-inner .greeting-content .greeting-title { font-size: 2.4rem; margin-bottom: 28px; }
	.greeting-section .greeting-inner .greeting-content .greeting-body { gap: 14px; margin-bottom: 36px; padding-bottom: 36px; }
	.greeting-section .greeting-inner .greeting-content .greeting-body p { font-size: 1.5rem; }
	.greeting-section .greeting-inner .greeting-content .greeting-sign { gap: 4px;}
	.greeting-section .greeting-inner .greeting-content .greeting-sign .sign-name { font-size: 1.8rem; }
	.greeting-section .greeting-inner .greeting-content .greeting-sign .sign-org { font-size: 1.3rem; }
}

@media (max-width: 480px) {
	.greeting-section .greeting-inner .greeting-content .greeting-title { font-size: 2.2rem; }
    .greeting-section .greeting-inner .greeting-content .greeting-eng { font-size: 1.2rem; margin-bottom: 10px;}
}
