@charset "utf-8";

/* ============================================================
   msub24 — 편지형 기사
   봉투 헤더 + 편지지 본문 + 마진 노트 + 동봉 사진
   ============================================================ */

:root {
	--lc-cream: #f5f0e8;
	--lc-paper: #faf8f4;
	--lc-env-bg: #ede4d4;
	--lc-env-border: #c8b89a;
	--lc-ink: #2c2416;
	--lc-ink-mid: #5a4a3a;
	--lc-ink-light: #8b7d6b;
	--lc-sepia: #8b6f47;
	--lc-sepia-light: #c4a882;
	--lc-red: rgba(155, 35, 53, 0.2);
	--lc-line: rgba(139, 111, 71, 0.1);
	--lc-line-strong: rgba(44, 36, 22, 0.15);
}

body { background: var(--lc-cream); }
body.dark { background: #1a1612; }

body.page-light-header #header,
body.page-light-header #header.on,
body.page-light-header #header.act { background-color: var(--lc-cream) !important; }

/* =========================================================
   ① 봉투 히어로
   ========================================================= */
.lc-hero {
	min-height: 100vh;
	background: var(--lc-cream);
	background-image: repeating-linear-gradient(
		0deg,
		transparent,
		transparent 47px,
		rgba(139, 111, 71, 0.08) 47px,
		rgba(139, 111, 71, 0.08) 48px
	);
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: relative;
	overflow: hidden;
}

.lc-hero-inner {
	max-width: 1080px;
	margin: 0 auto;
	width: 100%;
	padding: 80px 60px 48px;
	display: flex;
	flex-direction: column;
	gap: 24px;
	position: relative;
	z-index: 1;
}

/* 봉투 상단 정보 줄 */
.lc-envelope-top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	padding-bottom: 24px;
	border-bottom: 1px solid var(--lc-line-strong);
}

.lc-addr-block { display: flex; flex-direction: column; gap: 4px; }

.lc-addr-label {
	font-family: var(--font-sub-title);
	font-size: clamp(14px, calc(10px + 0.8vw), 18px);
	color: var(--lc-sepia);
	font-weight: 600;
}

.lc-addr-name {
	font-family: var(--font-serif);
	font-size: clamp(18px, calc(12px + 1.2vw), 24px);
	font-weight: 700;
	color: var(--lc-ink);
}

.lc-addr-detail {
	font-family: var(--font-sub-title);
	font-size: clamp(14px, calc(10px + 0.8vw), 18px);
	color: var(--lc-ink-light);
}

/* 소인 */
.lc-postmark {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 80px;
	height: 80px;
	border: 2px solid var(--lc-sepia-light);
	border-radius: 50%;
	gap: 2px;
	opacity: 0.6;
	overflow: hidden;
}

.lc-postmark span {
	font-family: var(--font-sub-title);
	font-size: 13px;
	font-weight: 700;
	color: var(--lc-sepia);
}

.lc-pm-line {
	display: block;
	width: 44px;
	height: 1px;
	background: var(--lc-sepia-light);
}

/* 우표 */
.lc-stamp {
	width: 68px;
	height: 82px;
	background: var(--lc-cream);
	border: 2px solid var(--lc-env-border);
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	position: relative;
}

.lc-stamp::after {
	content: '';
	position: absolute;
	inset: 4px;
	border: 1px dashed var(--lc-sepia-light);
}

.lc-stamp span {
	font-family: var(--font-serif);
	font-size: 12px;
	color: var(--lc-sepia);
	font-weight: 600;
	position: relative;
	z-index: 1;
}

/* 수신인 */
.lc-addr-to {
	display: flex;
	gap: 12px;
	align-items: baseline;
}

.lc-addr-to .lc-addr-name {
	font-size: clamp(18px, calc(10px + 1.6vw), 26px);
}

/* 타이틀 */
.lc-hero-tit-wrap {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.lc-issue-tag {
	font-family: var(--font-sub-title);
	font-size: clamp(14px, calc(10px + 0.8vw), 18px);
	font-weight: 600;
	color: var(--lc-sepia);
	background: rgba(139, 111, 71, 0.1);
	padding: 4px 14px;
	border-radius: 2px;
	width: fit-content;
}

.lc-hero-tit {
	font-family: var(--font-serif);
	font-size: clamp(36px, calc(20px + 3.2vw), 64px);
	font-weight: 700;
	color: var(--lc-ink);
}

.lc-hero-sub {
	font-family: var(--font-serif);
	font-size: clamp(15px, calc(9px + 0.9vw), 18px);
	color: var(--lc-ink-mid);
}

/* 봉투 하단 접힘선 */
.lc-hero-fold {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 40px;
	background: var(--lc-env-bg);
	clip-path: polygon(0 100%, 50% 0, 100% 100%);
}

/* =========================================================
   ② 편지 본문
   ========================================================= */
.lc-letter {
	padding: 56px 0 72px;
	background: var(--lc-cream);
}

.lc-paper {
	position: relative;
	max-width: 1080px;
	margin: 0 auto;
	padding: 48px 48px 60px 80px;
	background: var(--lc-paper);
	border: 1px solid var(--lc-env-border);
	box-shadow: 0 4px 32px rgba(44, 36, 22, 0.08), 0 1px 4px rgba(44, 36, 22, 0.05);
	overflow: visible;
}

/* 수평 편지지 선 */
.lc-paper-lines {
	position: absolute;
	inset: 0;
	background-image: repeating-linear-gradient(
		0deg,
		transparent,
		transparent 35px,
		var(--lc-line) 35px,
		var(--lc-line) 36px
	);
	background-position: 0 64px;
	pointer-events: none;
}

/* 빨간 여백선 */
.lc-red-margin {
	position: absolute;
	top: 0;
	left: 72px;
	bottom: 0;
	width: 1px;
	background: var(--lc-red);
	pointer-events: none;
}

.lc-paper-body {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	gap: 28px;
}

/* Dear 인사 */
.lc-salutation {
	font-family: 'Caveat', cursive;
	font-size: clamp(24px, calc(12px + 2.4vw), 36px);
	font-weight: 500;
	color: var(--lc-sepia);
}

/* 단락 블록 — 본문 + 마진 노트 */
.lc-block {
	display: grid;
	grid-template-columns: 1fr 180px;
	gap: 24px;
	align-items: start;
}

.lc-text {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.lc-para {
	font-family: var(--font-serif);
	font-size: clamp(15px, calc(9px + 0.9vw), 18px);
	color: var(--lc-ink-mid);
}

/* 마진 노트 — 스크롤 시 등장 */
.lc-margin-note {
	font-family: var(--font-serif);
	font-size: clamp(18px, calc(10px + 1.6vw), 24px);
	font-weight: 500;
	color: var(--lc-sepia);
	opacity: 0;
	transform: translateY(8px);
	padding-top: 4px;
	border-left: 2px solid var(--lc-sepia-light);
	padding-left: 12px;
}

/* 동봉 사진 */
.lc-photo {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.lc-photo img {
	width: 100%;
	display: block;
	border: 1px solid var(--lc-env-border);
}

.lc-photo--half .lc-photo-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}

.lc-photo-cap {
	font-family: var(--font-sub-title);
	font-size: clamp(14px, calc(10px + 0.8vw), 18px);
	color: var(--lc-ink-light);
}

/* 서명 */
.lc-sign {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 4px;
	padding-top: 16px;
	border-top: 1px solid var(--lc-line-strong);
}

.lc-sign-closing {
	font-family: var(--font-serif);
	font-size: clamp(14px, calc(10px + 0.8vw), 18px);
	color: var(--lc-ink-mid);
}

.lc-sign-name {
	font-family: 'Caveat', cursive;
	font-size: clamp(28px, calc(16px + 2.4vw), 40px);
	font-weight: 600;
	color: var(--lc-sepia);
}

.lc-sign-from {
	font-family: var(--font-sub-title);
	font-size: clamp(14px, calc(10px + 0.8vw), 18px);
	color: var(--lc-ink-light);
}

/* 소인 장식 */
.lc-paper-postmark {
	position: absolute;
	bottom: 48px;
	right: 48px;
	opacity: 0.12;
	transform: rotate(-10deg);
}

.lc-pm-ring {
	width: 100px;
	height: 100px;
	border: 3px solid var(--lc-ink);
	border-radius: 50%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
}

.lc-pm-ring span {
	font-family: var(--font-sub-title);
	font-size: 13px;
	font-weight: 700;
	color: var(--lc-ink);
	text-align: center;
}

/* =========================================================
   ③ 다음 편지
   ========================================================= */
.lc-next {
	padding: 56px 0 72px;
	background: var(--lc-env-bg);
	background-image:
		repeating-linear-gradient(45deg, transparent, transparent 20px, rgba(139, 111, 71, 0.05) 20px, rgba(139, 111, 71, 0.05) 21px),
		repeating-linear-gradient(-45deg, transparent, transparent 20px, rgba(139, 111, 71, 0.05) 20px, rgba(139, 111, 71, 0.05) 21px);
}

.lc-next-inner {
	max-width: 1080px;
	margin: 0 auto;
	padding: 0 60px;
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.lc-next-label {
	font-family: var(--font-sub-title);
	font-size: clamp(14px, calc(10px + 0.8vw), 18px);
	font-weight: 600;
	color: var(--lc-sepia);
}

.lc-next-card {
	display: block;
	text-decoration: none;
	color: inherit;
}

.lc-next-env {
	position: relative;
	background: var(--lc-paper);
	border: 1.5px solid var(--lc-env-border);
	border-radius: 2px;
	overflow: hidden;
	transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.lc-next-card:hover .lc-next-env {
	box-shadow: 0 12px 40px rgba(44, 36, 22, 0.13);
	transform: translateY(-4px);
}

.lc-next-flap {
	height: 56px;
	background: var(--lc-env-bg);
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	transition: transform 0.4s ease;
	transform-origin: top center;
}

.lc-next-card:hover .lc-next-flap {
	transform: perspective(400px) rotateX(-28deg);
}

.lc-next-body {
	padding: 32px 40px 36px;
	display: flex;
	align-items: center;
	gap: 20px;
}

.lc-next-kicker {
	font-family: var(--font-sub-title);
	font-size: clamp(14px, calc(10px + 0.8vw), 18px);
	font-weight: 600;
	color: var(--lc-sepia);
	white-space: nowrap;
}

.lc-next-tit {
	font-family: var(--font-serif);
	font-size: clamp(18px, calc(12px + 1.2vw), 24px);
	font-weight: 700;
	color: var(--lc-ink);
	flex: 1;
}

.lc-next-arrow {
	font-size: clamp(20px, calc(14px + 1.2vw), 28px);
	color: var(--lc-sepia);
	transition: transform 0.3s ease;
}

.lc-next-card:hover .lc-next-arrow {
	transform: translateX(6px);
}

/* =========================================================
   반응형
   ========================================================= */
@media (max-width: 999px) {
	.lc-hero-inner { padding: 72px 40px 40px; gap: 20px; }
	.lc-paper { padding: 40px 36px 52px 68px; }
	.lc-red-margin { left: 44px; }
	.lc-next-inner { padding: 0 40px; }
	.lc-block { grid-template-columns: 1fr 148px; gap: 20px; }
	.lc-letter { padding: 44px 0 56px; }
	.lc-next { padding: 44px 0 56px; }
}

@media (max-width: 768px) {
	.lc-hero-inner { padding: 80px 24px 36px; gap: 20px; }
	.lc-paper { padding: 32px 24px 44px 24px; }
	.lc-red-margin { display: none; }
	.lc-block { grid-template-columns: 1fr; }
	.lc-margin-note { border-left: none; padding-left: 0; border-top: 1px dashed var(--lc-sepia-light); padding-top: 10px; }
	.lc-next-inner { padding: 0 24px; }
	.lc-next-body { flex-direction: column; align-items: flex-start; gap: 10px; padding: 24px 24px 28px; }
	.lc-photo--half .lc-photo-grid { grid-template-columns: 1fr; }
	.lc-envelope-top { flex-wrap: wrap; gap: 14px; }
	.lc-letter { padding: 36px 0 48px; }
	.lc-next { padding: 36px 0 52px; }
}

@media (max-width: 499px) {
	.lc-hero-inner { padding: 72px 20px 32px; }
	.lc-paper { padding: 28px 20px 40px; }
	.lc-next-inner { padding: 0 20px; }
	.lc-letter { padding: 32px 0 44px; }
	.lc-next { padding: 32px 0 48px; }
}

/* =========================================================
   다크모드
   ========================================================= */
body.dark .lc-hero,
body.dark .lc-letter { background: #1a1612; }

body.dark .lc-next { background: #13110e; }

body.dark .lc-paper {
	background: #211c17;
	border-color: #3d3228;
}

body.dark .lc-next-env {
	background: #211c17;
	border-color: #3d3228;
}

body.dark .lc-next-flap { background: #2a231c; }

body.dark .lc-hero-tit,
body.dark .lc-next-tit,
body.dark .lc-addr-name,
body.dark .lc-hero-sub { color: #e8ddd0; }

body.dark .lc-para,
body.dark .lc-sign-closing,
body.dark .lc-sign-from { color: #a89278; }

body.dark .lc-addr-label,
body.dark .lc-addr-detail,
body.dark .lc-photo-cap,
body.dark .lc-next-label,
body.dark .lc-next-kicker { color: #7a6a58; }

body.dark .lc-salutation,
body.dark .lc-sign-name { color: #c4a882; }

body.dark .lc-issue-tag {
	background: rgba(196, 168, 130, 0.12);
	color: #c4a882;
}

body.dark .lc-hero-fold { background: #2a231c; }

body.dark .lc-red-margin { background: rgba(155, 35, 53, 0.15); }
