/* ==========================================================================
   SORIEL WARM EDITORIAL MAGAZINE & MINISTRY FOUNDATION THEME (soriel_layout V2)
   Palette: Warm Cream (#FAF7F2) · Linen Sand (#F1EBE0) · Deep Navy (#162133) · Antique Bronze (#9A7447)
   ========================================================================== */

:root {
	--ed-paper: #FAF7F2;
	--ed-sand: #F1EBE0;
	--ed-stone: #E6DEC8;
	--ed-stone-soft: #EAE3D5;
	--ed-white: #FFFFFF;
	--ed-navy: #162133;
	--ed-navy-hover: #22324C;
	--ed-bronze: #9A7447;
	--ed-bronze-dark: #7D5B34;
	--ed-bronze-soft: rgba(154, 116, 71, 0.12);
	--ed-gold-light: #D4B48C;
	--ed-ink: #1C222D;
	--ed-body: #3D4451;
	--ed-muted: #6C727F;
	--ed-line: rgba(22, 33, 51, 0.11);
	--ed-line-strong: rgba(22, 33, 51, 0.22);
	--ed-shadow-sm: 0 8px 24px rgba(22, 33, 51, 0.05);
	--ed-shadow-md: 0 18px 46px rgba(22, 33, 51, 0.08);
	--ed-shadow-lg: 0 28px 68px rgba(22, 33, 51, 0.12);
	--ed-sans: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
	--ed-serif-kr: "Noto Serif KR", Georgia, serif;
	--ed-serif-en: "Cormorant Garamond", "Noto Serif KR", Georgia, serif;
	--ed-max-w: 1280px;
}

/* Base & Legacy Reset Overrides */
html {
	scroll-behavior: smooth;
	max-width: 100%;
	overflow-x: hidden;
	overflow-x: clip;
}

body.soriel-editorial {
	background-color: var(--ed-paper) !important;
	color: var(--ed-ink);
	font-family: var(--ed-sans);
	font-size: 16px;
	line-height: 1.7;
	letter-spacing: -0.015em;
	-webkit-font-smoothing: antialiased;
	width: 100%;
	max-width: 100%;
	overflow-x: hidden;
	overflow-x: clip;
	margin: 0;
	padding-top: 114px; /* Topbar (36px) + Navbar (78px) */
}

@media (max-width: 1024px) {
	body.soriel-editorial {
		padding-top: 72px;
	}
}

body.soriel-editorial.ed-has-fs-hero {
	padding-top: 0 !important;
}

body.soriel-editorial *,
body.soriel-editorial *::before,
body.soriel-editorial *::after {
	box-sizing: border-box;
}

body.soriel-editorial a {
	color: inherit;
	text-decoration: none;
	transition: color 0.22s ease, background-color 0.22s ease, border-color 0.22s ease, transform 0.22s ease, opacity 0.22s ease;
}

#supersized,
#supersized-loader {
	display: none !important;
}

/* XEIcon 2.x -> Rhymix XEIcon 1.0.4 Compatibility Fallbacks (for board/calendar skins & widgets) */
span[class^="xi-"],
span[class*=" xi-"] {
	display: inline-block;
	font-family: xeicon;
	font-style: normal;
	font-weight: 400;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.xi-time-o:before,
.xi-clock-o:before { content: "\e790"; }
.xi-calendar-o:before { content: "\e7a9"; }
.xi-comment-o:before { content: "\e6eb"; }
.xi-eye-o:before { content: "\e64a"; }
.xi-heart-o:before { content: "\e6ff"; }
.xi-star-o:before { content: "\e6fe"; }
.xi-search:before { content: "\e63b"; }
.xi-call:before { content: "\e610"; }
.xi-mail-o:before { content: "\e6cc"; }
.xi-user-o:before { content: "\e68a"; }
.xi-youtube-play:before { content: "\e846"; }
.xi-send:before { content: "\e6d5"; }
.xi-angle-down-min:before { content: "\e619"; }
.xi-angle-up-min:before { content: "\e60e"; }
.xi-angle-left-min:before { content: "\e60b"; }
.xi-angle-right-min:before { content: "\e60d"; }
.xi-arrow-up-right:before { content: "\e626"; }
.xi-log-out:before { content: "\e643"; }
.xi-disc:before { content: "\e789"; }
.xi-maker:before,
.xi-maker-drop:before { content: "\e74a"; }
.xi-palette:before { content: "\e672"; }

.ed-wrap {
	width: 100%;
	max-width: var(--ed-max-w);
	margin: 0 auto;
	padding: 0 28px;
}

@media (max-width: 640px) {
	.ed-wrap {
		padding: 0 18px;
	}
}

/* Prevent CSS Grid & Flex Children from Expanding Mobile Viewport Width */
.ed-fs-stage > *,
.ed-fs-cards > *,
.ed-story-grid > *,
.ed-bento-layout > *,
.ed-pillars-bento > *,
.ed-cinema-grid > *,
.ed-album-grid > *,
.ed-bulletin-grid > *,
.ed-contact-layout > *,
.ed-milestones > *,
.ed-office-row > * {
	min-width: 0;
	max-width: 100%;
}

.ed-insta-embed,
.xet-code {
	max-width: 100%;
	overflow-x: hidden;
}

/* Editorial Kickers, Eyebrows & Typography Helpers */
.ed-eyebrow {
	display: inline-block;
	font-family: var(--ed-sans);
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ed-bronze);
}

.ed-eyebrow.is-gold {
	color: var(--ed-gold-light);
}

.ed-sec-kicker {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 14px;
}

.ed-serif-idx {
	font-family: var(--ed-serif-en);
	font-size: 20px;
	font-weight: 600;
	font-style: italic;
	color: var(--ed-bronze);
	line-height: 1;
}

.ed-kicker-line {
	width: 32px;
	height: 1px;
	background-color: var(--ed-bronze);
	opacity: 0.55;
}

.ed-sec-kicker.is-light .ed-serif-idx,
.ed-sec-kicker.is-light .ed-eyebrow {
	color: var(--ed-gold-light);
}

.ed-sec-kicker.is-light .ed-kicker-line {
	background-color: var(--ed-gold-light);
}

.ed-sec-title {
	font-family: var(--ed-serif-kr);
	font-size: clamp(1.75rem, 2.7vw, 2.45rem);
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: -0.025em;
	color: var(--ed-navy);
	margin: 0;
}

.ed-sec-sub {
	font-size: 15.5px;
	color: var(--ed-muted);
	margin: 10px 0 0;
	line-height: 1.65;
}

.ed-sec-header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	padding-bottom: 28px;
	margin-bottom: 40px;
	border-bottom: 1px solid var(--ed-line);
}

.ed-sec-header-actions {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	flex-shrink: 0;
}

@media (max-width: 820px) {
	.ed-sec-header {
		flex-direction: column;
		align-items: flex-start;
		padding-bottom: 22px;
		margin-bottom: 28px;
	}
}

/* Section Surfaces */
.ed-section {
	position: relative;
	width: 100%;
	max-width: 100%;
	overflow-x: hidden;
	overflow-x: clip;
	padding: 96px 0;
	border-top: 1px solid var(--ed-line);
}

.ed-bg-paper {
	background-color: var(--ed-paper);
}

.ed-bg-sand {
	background-color: var(--ed-sand);
}

@media (max-width: 768px) {
	.ed-section {
		padding: 64px 0;
	}
}

/* Editorial Buttons & Links */
.ed-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	padding: 13px 24px;
	border-radius: 999px;
	font-family: var(--ed-sans);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: -0.01em;
	line-height: 1.2;
	cursor: pointer;
	border: 1px solid transparent;
	white-space: nowrap;
}

.ed-btn-full {
	width: 100%;
}

.ed-btn-navy {
	background-color: var(--ed-navy);
	color: #FFFFFF !important;
	border-color: var(--ed-navy);
}

.ed-btn-navy:hover {
	background-color: var(--ed-navy-hover);
	border-color: var(--ed-navy-hover);
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(22, 33, 51, 0.18);
}

.ed-btn-bronze {
	background-color: var(--ed-bronze);
	color: #FFFFFF !important;
	border-color: var(--ed-bronze);
}

.ed-btn-bronze:hover {
	background-color: var(--ed-bronze-dark);
	border-color: var(--ed-bronze-dark);
	transform: translateY(-2px);
}

.ed-btn-outline {
	background-color: transparent;
	color: var(--ed-navy) !important;
	border-color: var(--ed-line-strong);
}

.ed-btn-outline:hover {
	background-color: var(--ed-navy);
	color: #FFFFFF !important;
	border-color: var(--ed-navy);
}

.ed-btn-ghost {
	background-color: var(--ed-sand);
	color: var(--ed-navy) !important;
	border-color: var(--ed-line);
}

.ed-btn-ghost:hover {
	background-color: var(--ed-stone);
}

.ed-btn-glass {
	background-color: rgba(255, 255, 255, 0.1);
	color: #FFFFFF !important;
	border-color: rgba(255, 255, 255, 0.24);
}

.ed-btn-glass:hover {
	background-color: rgba(255, 255, 255, 0.2);
}

.ed-arrow-link {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--ed-navy) !important;
	padding-bottom: 2px;
	border-bottom: 1px solid rgba(22, 33, 51, 0.25);
}

.ed-arrow-link i {
	transition: transform 0.2s ease;
	color: var(--ed-bronze);
}

.ed-arrow-link:hover {
	color: var(--ed-bronze) !important;
	border-bottom-color: var(--ed-bronze);
}

.ed-arrow-link:hover i {
	transform: translateX(4px);
}

.ed-text-link {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 14px;
	font-weight: 600;
	color: var(--ed-muted) !important;
}

.ed-text-link:hover {
	color: var(--ed-navy) !important;
}

/* ==========================================================================
   HEADER: CULTURAL FOUNDATION TOPBAR + WARM FROSTED MASTHEAD
   ========================================================================== */
#xet-header.ed-header {
	position: fixed !important;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: auto !important;
	z-index: 1000;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

.ed-topbar {
	height: 36px;
	background-color: #EAE3D5;
	border-bottom: 1px solid var(--ed-line);
	font-size: 12px;
	color: var(--ed-body);
	transition: height 0.26s ease, opacity 0.24s ease;
	overflow: hidden;
}

body.ed-scrolled .ed-topbar {
	height: 0;
	opacity: 0;
	border-bottom-color: transparent;
}

.ed-topbar-inner {
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.ed-topbar-left {
	display: flex;
	align-items: center;
	gap: 10px;
}

.ed-topbar-brand {
	font-weight: 700;
	letter-spacing: 0.12em;
	font-size: 11px;
	color: var(--ed-navy);
}

.ed-dot {
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background-color: var(--ed-bronze);
}

.ed-topbar-since {
	font-family: var(--ed-serif-en);
	font-style: italic;
	font-size: 13.5px;
	color: var(--ed-muted);
}

.ed-topbar-right {
	display: flex;
	align-items: center;
	gap: 18px;
}

.ed-topbar-link,
.ed-topbar-btn {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: 12px;
	font-weight: 500;
	color: var(--ed-body) !important;
	background: none;
	border: 0;
	padding: 0;
	cursor: pointer;
}

.ed-topbar-link i,
.ed-topbar-btn i {
	color: var(--ed-bronze);
	font-size: 13px;
}

.ed-topbar-link:hover,
.ed-topbar-btn:hover {
	color: var(--ed-navy) !important;
}

.ed-navbar {
	background-color: rgba(250, 247, 242, 0.93);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	border-bottom: 1px solid var(--ed-line);
	transition: box-shadow 0.25s ease, background-color 0.25s ease;
}

body.ed-scrolled .ed-navbar {
	background-color: rgba(250, 247, 242, 0.97);
	box-shadow: 0 10px 30px rgba(22, 33, 51, 0.06);
}

.ed-navbar-inner {
	height: 78px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.ed-logo-area {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-shrink: 0;
}

.ed-logo-link {
	position: relative;
	display: inline-flex;
	align-items: center;
}

.ed-logo-img {
	height: 40px;
	width: auto;
	display: block;
	transition: opacity 0.28s ease;
}

.ed-logo-light {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	pointer-events: none;
}

/* Transparent Glass Overlay Header State Over 100vh Full-Screen Hero */
body.ed-has-fs-hero:not(.ed-scrolled) .ed-topbar {
	height: 0;
	opacity: 0;
	border-bottom-color: transparent;
}

body.ed-has-fs-hero:not(.ed-scrolled) .ed-navbar {
	background: linear-gradient(180deg, rgba(8, 12, 20, 0.72) 0%, rgba(8, 12, 20, 0.26) 68%, rgba(8, 12, 20, 0) 100%);
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	border-bottom-color: rgba(255, 255, 255, 0.1);
	box-shadow: none;
}

body.ed-has-fs-hero:not(.ed-scrolled) .ed-navbar-inner {
	height: 88px;
}

@media (max-width: 1024px) {
	body.ed-has-fs-hero:not(.ed-scrolled) .ed-navbar-inner {
		height: 74px;
	}
}

body.ed-has-fs-hero:not(.ed-scrolled) .ed-logo-link.has-hero-logo .ed-logo-default {
	opacity: 0;
}

body.ed-has-fs-hero:not(.ed-scrolled) .ed-logo-link.has-hero-logo .ed-logo-light {
	opacity: 1;
}

body.ed-has-fs-hero:not(.ed-scrolled) .ed-logo-text {
	color: #FFFFFF;
}

body.ed-has-fs-hero:not(.ed-scrolled) .ed-logo-caption {
	color: rgba(250, 247, 242, 0.76);
	border-left-color: rgba(255, 255, 255, 0.24);
}

body.ed-has-fs-hero:not(.ed-scrolled) .ed-gnb > li > a {
	color: rgba(255, 255, 255, 0.92);
	text-shadow: 0 1px 10px rgba(0, 0, 0, 0.35);
}

body.ed-has-fs-hero:not(.ed-scrolled) .ed-gnb > li:hover > a,
body.ed-has-fs-hero:not(.ed-scrolled) .ed-gnb > li > a.is-active {
	color: var(--ed-gold-light);
}

body.ed-has-fs-hero:not(.ed-scrolled) .ed-gnb > li > a::after {
	background-color: var(--ed-gold-light);
}

body.ed-has-fs-hero:not(.ed-scrolled) .ed-caret {
	color: rgba(255, 255, 255, 0.7);
}

body.ed-has-fs-hero:not(.ed-scrolled) .ed-icon-btn {
	background-color: rgba(255, 255, 255, 0.1);
	border-color: rgba(255, 255, 255, 0.22);
	color: #FFFFFF;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

body.ed-has-fs-hero:not(.ed-scrolled) .ed-icon-btn:hover {
	background-color: var(--ed-bronze);
	border-color: var(--ed-bronze);
}

body.ed-has-fs-hero:not(.ed-scrolled) .ed-invite-cta {
	background-color: rgba(212, 180, 140, 0.18);
	border: 1px solid rgba(212, 180, 140, 0.55);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	color: #FFFFFF !important;
}

body.ed-has-fs-hero:not(.ed-scrolled) .ed-invite-cta:hover {
	background-color: var(--ed-bronze);
	border-color: var(--ed-bronze);
}

.ed-logo-text {
	font-family: var(--ed-serif-kr);
	font-size: 21px;
	font-weight: 700;
	color: var(--ed-navy);
}

.ed-logo-caption {
	padding-left: 14px;
	border-left: 1px solid var(--ed-line-strong);
	font-size: 12px;
	font-weight: 600;
	color: var(--ed-muted);
	letter-spacing: -0.01em;
}

@media (max-width: 1200px) {
	.ed-logo-caption {
		display: none;
	}
}

/* Desktop GNB */
.ed-desktop-nav {
	flex: 1;
	display: flex;
	justify-content: center;
}

.ed-gnb {
	display: flex;
	align-items: center;
	gap: 6px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.ed-gnb > li {
	position: relative;
}

.ed-gnb > li > a {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 10px 15px;
	font-size: 15px;
	font-weight: 600;
	color: var(--ed-ink);
	letter-spacing: -0.015em;
}

.ed-gnb > li > a::after {
	content: "";
	position: absolute;
	left: 15px;
	right: 15px;
	bottom: 4px;
	height: 2px;
	background-color: var(--ed-bronze);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 0.24s ease;
}

.ed-gnb > li:hover > a,
.ed-gnb > li > a.is-active {
	color: var(--ed-bronze-dark);
}

.ed-gnb > li:hover > a::after,
.ed-gnb > li > a.is-active::after {
	transform: scaleX(1);
}

.ed-caret {
	font-size: 13px;
	color: var(--ed-muted);
	transition: transform 0.2s ease;
}

.ed-gnb > li:hover .ed-caret {
	transform: rotate(180deg);
	color: var(--ed-bronze);
}

/* Warm Paper Dropdown Submenu */
.ed-submenu {
	position: absolute;
	top: calc(100% + 6px);
	left: 0;
	min-width: 205px;
	background-color: var(--ed-white);
	border: 1px solid var(--ed-line);
	border-radius: 14px;
	padding: 8px;
	list-style: none;
	margin: 0;
	box-shadow: var(--ed-shadow-md);
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
	z-index: 50;
}

.ed-gnb > li:hover > .ed-submenu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.ed-submenu > li > a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px 14px;
	border-radius: 9px;
	font-size: 14px;
	font-weight: 500;
	color: var(--ed-body);
}

.ed-submenu > li > a i {
	font-size: 12px;
	opacity: 0;
	transform: translateX(-4px);
	transition: opacity 0.2s ease, transform 0.2s ease;
	color: var(--ed-bronze);
}

.ed-submenu > li > a:hover,
.ed-submenu > li > a.is-active {
	background-color: var(--ed-paper);
	color: var(--ed-navy);
	font-weight: 600;
}

.ed-submenu > li > a:hover i {
	opacity: 1;
	transform: translateX(0);
}

.ed-nav-actions {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-shrink: 0;
}

.ed-icon-btn {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 1px solid var(--ed-line);
	background-color: rgba(255, 255, 255, 0.7);
	color: var(--ed-navy);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 17px;
	cursor: pointer;
	transition: all 0.2s ease;
}

.ed-icon-btn:hover {
	background-color: var(--ed-navy);
	border-color: var(--ed-navy);
	color: #FFFFFF;
}

.ed-invite-cta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 10px 18px;
	border-radius: 999px;
	background-color: var(--ed-navy);
	color: #FFFFFF !important;
	font-size: 13.5px;
	font-weight: 600;
}

.ed-invite-cta:hover {
	background-color: var(--ed-bronze);
	transform: translateY(-1px);
}

.ed-burger-btn {
	display: none;
}

@media (max-width: 1024px) {
	.ed-topbar,
	.ed-desktop-nav,
	.ed-invite-cta {
		display: none !important;
	}
	.ed-navbar-inner {
		height: 72px;
	}
	.ed-logo-img {
		height: 35px;
	}
	.ed-burger-btn {
		display: inline-flex;
	}
}

/* Mobile Drawer */
.ed-drawer-backdrop {
	position: fixed;
	inset: 0;
	background: rgba(22, 33, 51, 0.45);
	backdrop-filter: blur(4px);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.28s ease, visibility 0.28s ease;
	z-index: 1100;
}

.ed-drawer {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	width: min(360px, 88vw);
	background-color: var(--ed-paper);
	border-left: 1px solid var(--ed-line);
	display: flex;
	flex-direction: column;
	transform: translateX(100%);
	transition: transform 0.32s cubic-bezier(0.22, 1, 0.36, 1);
	z-index: 1110;
	box-shadow: -20px 0 50px rgba(22, 33, 51, 0.16);
}

body.ed-drawer-open .ed-drawer-backdrop {
	opacity: 1;
	visibility: visible;
}

body.ed-drawer-open .ed-drawer {
	transform: translateX(0);
}

.ed-drawer-head {
	padding: 22px 24px;
	border-bottom: 1px solid var(--ed-line);
	display: flex;
	align-items: center;
	justify-content: space-between;
	background-color: var(--ed-sand);
}

.ed-drawer-brand {
	display: block;
	font-family: var(--ed-serif-kr);
	font-size: 19px;
	color: var(--ed-navy);
	margin-top: 2px;
}

.ed-drawer-body {
	flex: 1;
	overflow-y: auto;
	padding: 14px 22px;
}

.ed-drawer-nav {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ed-drawer-nav > li {
	border-bottom: 1px solid var(--ed-line);
}

.ed-drawer-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.ed-drawer-link {
	flex: 1;
	padding: 15px 4px;
	font-family: var(--ed-serif-kr);
	font-size: 16.5px;
	font-weight: 600;
	color: var(--ed-navy);
}

.ed-drawer-link.is-active {
	color: var(--ed-bronze);
}

.ed-drawer-toggle {
	width: 38px;
	height: 38px;
	border: 0;
	background: transparent;
	color: var(--ed-muted);
	font-size: 16px;
	cursor: pointer;
	transition: transform 0.22s ease;
}

.ed-drawer-nav > li.is-open .ed-drawer-toggle {
	transform: rotate(180deg);
	color: var(--ed-bronze);
}

.ed-drawer-sub {
	display: none;
	list-style: none;
	margin: 0 0 14px;
	padding: 8px 14px;
	background-color: var(--ed-sand);
	border-radius: 12px;
}

.ed-drawer-nav > li.is-open .ed-drawer-sub {
	display: block;
}

.ed-drawer-sub li a {
	display: block;
	padding: 9px 4px;
	font-size: 14.5px;
	color: var(--ed-body);
}

.ed-drawer-sub li a.is-active,
.ed-drawer-sub li a:hover {
	color: var(--ed-bronze-dark);
	font-weight: 600;
}

.ed-drawer-foot {
	padding: 20px 22px;
	border-top: 1px solid var(--ed-line);
	background-color: var(--ed-sand);
}

.ed-drawer-sns {
	display: flex;
	justify-content: center;
	gap: 12px;
	margin-top: 14px;
}

.ed-drawer-sns a {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: var(--ed-white);
	border: 1px solid var(--ed-line);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--ed-navy);
	font-size: 17px;
}

/* ==========================================================================
   ① FULL-SCREEN 100VH INTERACTIVE CINEMA STAGE HERO (.ed-hero-fs)
   ========================================================================== */
.ed-hero-fs {
	position: relative;
	width: 100%;
	height: 100vh;
	height: 100svh;
	min-height: 700px;
	max-height: 1120px;
	overflow: hidden;
	background-color: #0A0F1A;
	color: #FFFFFF;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	user-select: none;
	cursor: grab;
}

.ed-hero-fs.is-dragging {
	cursor: grabbing;
}

.ed-hero-fs a,
.ed-hero-fs button {
	cursor: pointer;
}

/* Layer 1: Full-Viewport 3D Mouse-Parallax Visual Canvas */
.ed-fs-backgrounds {
	position: absolute;
	inset: 0;
	z-index: 1;
	overflow: hidden;
}

.ed-fs-parallax-layer {
	position: absolute;
	inset: -3.5%;
	transform: translate3d(var(--hero-px, 0px), var(--hero-py, 0px), 0);
	will-change: transform;
}

.ed-fs-bg-slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity 1.1s cubic-bezier(0.22, 1, 0.36, 1), visibility 1.1s ease;
}

.ed-fs-bg-slide.is-active {
	opacity: 1;
	visibility: visible;
	z-index: 2;
}

.ed-fs-bg-slide picture,
.ed-fs-bg-slide img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	object-position: center center;
}

.ed-fs-bg-slide img {
	transform: scale(1.1);
	transition: transform 7.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.ed-fs-bg-slide.is-active img {
	transform: scale(1.015);
}

@media (min-width: 993px) {
	.ed-fs-bg-slide.is-focal-center img {
		transform: translateX(-5.5%) scale(1.12);
	}
	.ed-fs-bg-slide.is-focal-center.is-active img {
		transform: translateX(-5.5%) scale(1.05);
	}
}

/* Layer 2: Multi-Zone Cinema Scrims & Cursor-Tracking Ambient Gold Spotlight */
.ed-fs-atmosphere {
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: none;
}

.ed-fs-scrim-top {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 170px;
	background: linear-gradient(180deg, rgba(7, 11, 18, 0.72) 0%, rgba(7, 11, 18, 0.24) 58%, rgba(7, 11, 18, 0) 100%);
}

.ed-fs-scrim-directional {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		90deg,
		rgba(9, 13, 22, 0.14) 0%,
		rgba(9, 13, 22, 0.22) 34%,
		rgba(9, 13, 22, 0.78) 60%,
		rgba(9, 13, 22, 0.91) 100%
	);
}

.ed-fs-scrim-bottom {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 44%;
	background: linear-gradient(0deg, rgba(8, 12, 20, 0.92) 0%, rgba(8, 12, 20, 0.5) 48%, rgba(8, 12, 20, 0) 100%);
}

.ed-fs-spotlight {
	position: absolute;
	inset: 0;
	background: radial-gradient(
		640px circle at var(--spot-x, 68%) var(--spot-y, 46%),
		rgba(212, 180, 140, 0.18),
		rgba(154, 116, 71, 0.05) 38%,
		transparent 68%
	);
	mix-blend-mode: screen;
	transition: opacity 0.4s ease;
}

/* Left-Edge Architectural Ministry Coordinates */
.ed-fs-rail {
	position: absolute;
	left: 28px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 4;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	pointer-events: none;
}

.ed-fs-rail-line {
	width: 1px;
	height: 44px;
	background: linear-gradient(180deg, transparent, rgba(212, 180, 140, 0.48), transparent);
}

.ed-fs-rail-text {
	writing-mode: vertical-rl;
	text-orientation: mixed;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.24em;
	color: rgba(250, 247, 242, 0.48);
}

@media (max-width: 1380px) {
	.ed-fs-rail {
		display: none;
	}
}

/* Layer 3: Kinetic Interactive Editorial & Multimedia Stage */
.ed-fs-stage-wrap {
	position: relative;
	z-index: 5;
	flex: 1;
	display: flex;
	align-items: center;
	padding-top: 108px;
	padding-bottom: 18px;
}

.ed-fs-stage {
	width: 100%;
	max-width: 600px;
	margin-left: auto;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	transform: translate3d(var(--hero-fgx, 0px), var(--hero-fgy, 0px), 0);
	will-change: transform;
}

.ed-fs-slide-content {
	grid-area: 1 / 1;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.45s ease, visibility 0.45s ease;
}

.ed-fs-slide-content.is-active {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

/* Kinetic Staggered Reveal Animations */
.ed-fs-reveal {
	opacity: 0;
	transform: translateY(32px);
	transition: opacity 0.78s cubic-bezier(0.16, 1, 0.3, 1), transform 0.78s cubic-bezier(0.16, 1, 0.3, 1);
}

.ed-fs-slide-content.is-active .ed-fs-reveal {
	opacity: 1;
	transform: translateY(0);
}

.ed-fs-slide-content.is-active .ed-fs-d1 {
	transition-delay: 0.06s;
}
.ed-fs-slide-content.is-active .ed-fs-d2 {
	transition-delay: 0.15s;
}
.ed-fs-slide-content.is-active .ed-fs-d3 {
	transition-delay: 0.24s;
}
.ed-fs-slide-content.is-active .ed-fs-d4 {
	transition-delay: 0.33s;
}

/* Live Soundwave Equalizer & Kicker Pill */
.ed-fs-kicker-pill {
	display: inline-flex;
	align-items: center;
	gap: 11px;
	max-width: 100%;
	padding: 8px 16px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(212, 180, 140, 0.36);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	margin-bottom: 22px;
}

.ed-fs-eq {
	display: inline-flex;
	align-items: flex-end;
	gap: 2.5px;
	height: 13px;
}

.ed-fs-eq i {
	display: block;
	width: 2.5px;
	border-radius: 2px;
	background-color: var(--ed-gold-light);
	animation: edEqWave 1.15s ease-in-out infinite;
}

.ed-fs-eq i:nth-child(1) {
	height: 6px;
	animation-delay: 0s;
}
.ed-fs-eq i:nth-child(2) {
	height: 13px;
	animation-delay: 0.22s;
}
.ed-fs-eq i:nth-child(3) {
	height: 9px;
	animation-delay: 0.42s;
}
.ed-fs-eq i:nth-child(4) {
	height: 12px;
	animation-delay: 0.14s;
}

.ed-hero-fs.is-paused .ed-fs-eq i {
	animation-play-state: paused;
}

@keyframes edEqWave {
	0%, 100% {
		transform: scaleY(0.45);
	}
	50% {
		transform: scaleY(1);
	}
}

.ed-fs-eyebrow {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ed-gold-light);
}

@media (max-width: 640px) {
	.ed-fs-kicker-pill {
		gap: 8px;
		padding: 6px 12px;
	}
	.ed-fs-eyebrow {
		font-size: 10px;
		letter-spacing: 0.1em;
	}
}

.ed-fs-kicker-sep {
	width: 1px;
	height: 11px;
	background-color: rgba(255, 255, 255, 0.22);
}

.ed-fs-count {
	font-family: var(--ed-serif-en);
	font-size: 15.5px;
	font-weight: 700;
	font-style: italic;
	color: #FFFFFF;
	line-height: 1;
}

.ed-fs-count em {
	color: rgba(255, 255, 255, 0.55);
	font-weight: 500;
}

.ed-fs-title-mask {
	overflow: hidden;
	padding-bottom: 4px;
	margin-bottom: 16px;
}

.ed-fs-title {
	font-family: var(--ed-serif-kr);
	font-size: clamp(2.55rem, 4.7vw, 4.35rem);
	font-weight: 700;
	line-height: 1.18;
	letter-spacing: -0.03em;
	color: #FFFFFF;
	margin: 0;
	word-break: keep-all;
	text-shadow: 0 12px 36px rgba(0, 0, 0, 0.38);
}

.ed-fs-subtitle {
	font-size: clamp(1rem, 1.25vw, 1.14rem);
	line-height: 1.72;
	color: rgba(250, 247, 242, 0.84);
	margin: 0 0 34px;
	word-break: keep-all;
	max-width: 520px;
}

/* Interactive Hero Media & Link Buttons */
.ed-fs-actions {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
}

.ed-fs-play-btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 14px;
	padding: 9px 24px 9px 10px;
	border-radius: 999px;
	background: linear-gradient(135deg, rgba(212, 180, 140, 0.96) 0%, rgba(154, 116, 71, 0.96) 100%);
	border: 1px solid rgba(255, 242, 222, 0.45);
	color: #FFFFFF;
	box-shadow: 0 16px 38px rgba(0, 0, 0, 0.35), 0 0 0 0 rgba(212, 180, 140, 0.45);
	transition: transform 0.25s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.25s ease;
}

.ed-fs-play-btn:hover {
	transform: translateY(-3px) scale(1.015);
	box-shadow: 0 22px 46px rgba(0, 0, 0, 0.45), 0 0 0 8px rgba(212, 180, 140, 0.16);
}

.ed-fs-play-orb {
	position: relative;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background-color: var(--ed-navy);
	color: var(--ed-gold-light);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 17px;
	flex-shrink: 0;
}

.ed-fs-play-orb i {
	margin-left: 2px;
}

.ed-fs-play-orb::after {
	content: "";
	position: absolute;
	inset: -4px;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.48);
	animation: edOrbPulse 2.2s ease-out infinite;
}

@keyframes edOrbPulse {
	0% {
		transform: scale(0.92);
		opacity: 0.85;
	}
	100% {
		transform: scale(1.28);
		opacity: 0;
	}
}

.ed-fs-play-text {
	display: flex;
	flex-direction: column;
	text-align: left;
	line-height: 1.25;
}

.ed-fs-play-text strong {
	font-size: 14.5px;
	font-weight: 700;
	color: #111827;
}

.ed-fs-play-text small {
	font-size: 11.5px;
	font-weight: 600;
	color: rgba(17, 24, 39, 0.72);
}

.ed-fs-more-btn {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	height: 62px;
	padding: 0 26px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.28);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	color: #FFFFFF !important;
	font-size: 14.5px;
	font-weight: 600;
	transition: all 0.24s ease;
}

.ed-fs-more-btn i {
	font-size: 15px;
	color: var(--ed-gold-light);
	transition: transform 0.22s ease;
}

.ed-fs-more-btn:hover {
	background: rgba(255, 255, 255, 0.2);
	border-color: rgba(255, 255, 255, 0.55);
	transform: translateY(-2px);
}

.ed-fs-more-btn:hover i {
	transform: translate(2px, -2px);
}

/* Layer 4: Bottom Interactive Frosted-Glass Dock & Transport Controls */
.ed-fs-dock {
	position: relative;
	z-index: 6;
	padding-bottom: 28px;
}

.ed-fs-dock-inner {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
}

.ed-fs-cards {
	flex: 1;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	max-width: 920px;
}

.ed-fs-card {
	position: relative;
	display: flex;
	align-items: center;
	gap: 13px;
	padding: 12px 15px 15px;
	border-radius: 16px;
	background: rgba(15, 22, 35, 0.46);
	border: 1px solid rgba(255, 255, 255, 0.14);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	color: #FFFFFF;
	text-align: left;
	overflow: hidden;
	transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1), background-color 0.25s ease, border-color 0.25s ease, box-shadow 0.28s ease;
}

.ed-fs-card:hover {
	background: rgba(24, 34, 52, 0.68);
	border-color: rgba(212, 180, 140, 0.44);
	transform: translateY(-3px);
}

.ed-fs-card.is-active {
	background: rgba(26, 36, 56, 0.82);
	border-color: rgba(212, 180, 140, 0.78);
	transform: translateY(-4px);
	box-shadow: 0 16px 36px rgba(0, 0, 0, 0.36);
}

.ed-fs-card-thumb {
	width: 58px;
	height: 42px;
	border-radius: 9px;
	overflow: hidden;
	flex-shrink: 0;
	border: 1px solid rgba(255, 255, 255, 0.18);
}

.ed-fs-card-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 32% center;
	display: block;
	transition: transform 0.35s ease;
}

.ed-fs-card:hover .ed-fs-card-thumb img,
.ed-fs-card.is-active .ed-fs-card-thumb img {
	transform: scale(1.1);
}

.ed-fs-card-body {
	min-width: 0;
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.ed-fs-card-top {
	display: flex;
	align-items: center;
	gap: 7px;
}

.ed-fs-card-num {
	font-family: var(--ed-serif-en);
	font-size: 16px;
	font-weight: 700;
	font-style: italic;
	color: var(--ed-gold-light);
	line-height: 1;
}

.ed-fs-card-tag {
	font-size: 9.5px;
	font-weight: 700;
	letter-spacing: 0.12em;
	color: rgba(250, 247, 242, 0.56);
	text-transform: uppercase;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.ed-fs-card-title {
	display: block;
	font-family: var(--ed-serif-kr);
	font-size: 14.5px;
	font-weight: 700;
	color: #FFFFFF;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.ed-fs-card-track {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 3px;
	background: rgba(255, 255, 255, 0.08);
}

.ed-fs-card-progress {
	display: block;
	height: 100%;
	width: 0%;
	background: linear-gradient(90deg, var(--ed-bronze), var(--ed-gold-light));
}

/* Transport Controls & Animated Scroll Beam */
.ed-fs-transport {
	display: flex;
	align-items: center;
	gap: 18px;
	flex-shrink: 0;
}

.ed-fs-nav-group {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px;
	border-radius: 999px;
	background: rgba(15, 22, 35, 0.52);
	border: 1px solid rgba(255, 255, 255, 0.15);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
}

.ed-fs-ctrl-btn {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 1px solid transparent;
	background: transparent;
	color: #FFFFFF;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	transition: all 0.2s ease;
}

.ed-fs-ctrl-btn:hover {
	background: rgba(212, 180, 140, 0.24);
	border-color: rgba(212, 180, 140, 0.55);
	color: var(--ed-gold-light);
}

.ed-fs-scroll-cue {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: 7px;
	padding: 4px 6px;
	background: transparent;
	border: 0;
	color: rgba(250, 247, 242, 0.75);
	transition: color 0.2s ease;
}

.ed-fs-scroll-cue:hover {
	color: var(--ed-gold-light);
}

.ed-fs-scroll-label {
	font-size: 9.5px;
	font-weight: 700;
	letter-spacing: 0.22em;
}

.ed-fs-scroll-beam {
	position: relative;
	width: 1.5px;
	height: 34px;
	background: rgba(255, 255, 255, 0.18);
	overflow: hidden;
}

.ed-fs-scroll-beam i {
	position: absolute;
	top: -100%;
	left: 0;
	width: 100%;
	height: 60%;
	background: var(--ed-gold-light);
	animation: edScrollBeam 1.9s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}

@keyframes edScrollBeam {
	0% {
		top: -60%;
	}
	100% {
		top: 110%;
	}
}

/* Responsive Tablet & Mobile Full-Screen Hero */
@media (max-width: 992px) {
	.ed-hero-fs {
		min-height: 640px;
		max-height: none;
	}

	.ed-fs-bg-slide.is-focal-left img {
		object-position: 28% 28%;
	}

	.ed-fs-bg-slide.is-focal-center img {
		object-position: 50% 34%;
	}

	.ed-fs-scrim-directional {
		background: linear-gradient(
			180deg,
			rgba(8, 12, 20, 0.35) 0%,
			rgba(8, 12, 20, 0.08) 34%,
			rgba(8, 12, 20, 0.78) 68%,
			rgba(8, 12, 20, 0.96) 100%
		);
	}

	.ed-fs-stage-wrap {
		align-items: flex-end;
		padding-top: 90px;
		padding-bottom: 18px;
	}

	.ed-fs-stage {
		margin-left: 0;
		max-width: 100%;
	}

	.ed-fs-kicker-pill {
		margin-bottom: 14px;
		padding: 6px 13px;
	}

	.ed-fs-title {
		font-size: clamp(2.05rem, 8vw, 2.85rem);
	}

	.ed-fs-subtitle {
		font-size: 15px;
		margin-bottom: 22px;
	}

	.ed-fs-more-btn {
		height: 54px;
		padding: 0 20px;
		font-size: 13.5px;
	}

	.ed-fs-play-btn {
		padding: 7px 18px 7px 8px;
	}

	.ed-fs-play-orb {
		width: 38px;
		height: 38px;
		font-size: 15px;
	}

	.ed-fs-dock {
		padding-bottom: 20px;
	}

	.ed-fs-dock-inner {
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
	}

	.ed-fs-cards {
		max-width: 100%;
		gap: 8px;
	}

	.ed-fs-card {
		padding: 9px 10px 12px;
		border-radius: 12px;
	}

	.ed-fs-card-thumb,
	.ed-fs-card-tag {
		display: none;
	}

	.ed-fs-card-title {
		font-size: 12.5px;
	}

	.ed-fs-transport {
		display: none;
	}
}

/* ==========================================================================
   ②-A PASTOR & ARTIST EDITORIAL PORTRAIT SPREAD (.ed-story-sec)
   ========================================================================== */
.ed-story-grid {
	display: grid;
	grid-template-columns: minmax(0, 4.7fr) minmax(0, 7.3fr);
	gap: 64px;
	align-items: center;
}

.ed-portrait-frame {
	position: relative;
	max-width: 440px;
	margin: 0 auto;
}

.ed-portrait-offset {
	position: absolute;
	top: 18px;
	left: -18px;
	right: 18px;
	bottom: -18px;
	border: 1.5px solid var(--ed-bronze);
	border-radius: 22px;
	opacity: 0.55;
	pointer-events: none;
}

.ed-portrait-box {
	position: relative;
	margin: 0;
	padding: 12px;
	background-color: var(--ed-white);
	border: 1px solid var(--ed-line);
	border-radius: 22px;
	box-shadow: var(--ed-shadow-md);
}

.ed-portrait-box img {
	width: 100%;
	aspect-ratio: 4 / 4.4;
	object-fit: cover;
	border-radius: 14px;
	display: block;
}

.ed-portrait-caption {
	position: absolute;
	right: -14px;
	bottom: 24px;
	background-color: var(--ed-navy);
	color: #FFFFFF;
	padding: 12px 20px;
	border-radius: 14px;
	box-shadow: var(--ed-shadow-md);
}

.ed-serif-italic {
	display: block;
	font-family: var(--ed-serif-en);
	font-style: italic;
	font-size: 14px;
	color: var(--ed-gold-light);
	line-height: 1.1;
}

.ed-portrait-caption strong {
	display: block;
	font-size: 12px;
	letter-spacing: 0.14em;
	margin-top: 3px;
}

.ed-story-heading-wrap {
	display: flex;
	align-items: baseline;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: 26px;
}

.ed-story-en {
	font-family: var(--ed-serif-en);
	font-style: italic;
	font-size: 20px;
	color: var(--ed-bronze);
}

.ed-story-bio {
	margin: 0 0 38px;
	padding: 6px 0 6px 24px;
	border-left: 2.5px solid var(--ed-bronze);
	font-size: 16.5px;
	line-height: 1.94;
	color: var(--ed-body);
	word-break: keep-all;
}

.ed-milestones {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid var(--ed-line-strong);
	border-bottom: 1px solid var(--ed-line-strong);
	margin-bottom: 38px;
}

.ed-milestone-cell {
	padding: 24px 18px;
	border-right: 1px solid var(--ed-line);
}

.ed-milestone-cell:first-child {
	padding-left: 0;
}

.ed-milestone-cell:last-child {
	border-right: 0;
}

.ed-milestone-num {
	display: block;
	font-family: var(--ed-serif-en);
	font-size: 32px;
	font-weight: 700;
	line-height: 1.1;
	color: var(--ed-navy);
	margin-bottom: 6px;
}

.ed-milestone-num em {
	font-style: normal;
	color: var(--ed-bronze);
}

.ed-milestone-cell span {
	display: block;
	font-size: 13px;
	color: var(--ed-muted);
	line-height: 1.45;
}

.ed-action-group {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}

@media (max-width: 992px) {
	.ed-story-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 44px;
	}
	.ed-portrait-caption {
		right: 12px;
	}
}

@media (max-width: 640px) {
	.ed-portrait-offset {
		top: 10px;
		left: -8px;
		right: 8px;
		bottom: -10px;
	}
	.ed-portrait-caption {
		right: 8px;
		bottom: 16px;
		padding: 10px 16px;
	}
	.ed-story-bio {
		margin-bottom: 28px;
		padding-left: 18px;
		font-size: 15.5px;
	}
}

@media (max-width: 600px) {
	.ed-milestones {
		grid-template-columns: minmax(0, 1fr);
		margin-bottom: 28px;
	}
	.ed-milestone-cell {
		border-right: 0;
		border-bottom: 1px solid var(--ed-line);
		padding: 16px 0;
	}
	.ed-milestone-cell:last-child {
		border-bottom: 0;
	}
}

/* ==========================================================================
   ②-B SFCM 4 CORE MINISTRIES BENTO GRID (.ed-sfcm-sec)
   ========================================================================== */
.ed-bento-layout {
	display: grid;
	grid-template-columns: minmax(0, 4.4fr) minmax(0, 7.6fr);
	gap: 28px;
	align-items: stretch;
}

.ed-manifesto-card {
	position: relative;
	background-color: var(--ed-navy);
	color: #FFFFFF;
	border-radius: 24px;
	overflow: hidden;
	padding: 44px 38px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	box-shadow: var(--ed-shadow-lg);
}

.ed-manifesto-bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	opacity: 0.16;
	mix-blend-mode: luminosity;
	pointer-events: none;
}

.ed-manifesto-inner {
	position: relative;
	z-index: 2;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 36px;
}

.ed-manifesto-title {
	font-family: var(--ed-serif-kr);
	font-size: clamp(1.65rem, 2.4vw, 2.15rem);
	font-weight: 700;
	line-height: 1.3;
	color: #FFFFFF;
	margin: 0;
}

.ed-manifesto-rule {
	width: 48px;
	height: 2px;
	background-color: var(--ed-bronze);
	margin: 22px 0;
}

.ed-manifesto-desc {
	font-size: 15.5px;
	line-height: 1.85;
	color: rgba(255, 255, 255, 0.82);
	margin: 0;
	word-break: keep-all;
}

.ed-manifesto-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 22px;
}

.ed-manifesto-tags span {
	padding: 5px 12px;
	border-radius: 999px;
	background-color: rgba(255, 255, 255, 0.09);
	border: 1px solid rgba(255, 255, 255, 0.14);
	font-size: 12.5px;
	color: var(--ed-gold-light);
}

/* 2x2 Architectural Bento Cards */
.ed-pillars-bento {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px;
}

.ed-bento-card {
	background-color: var(--ed-white);
	border: 1px solid var(--ed-line);
	border-radius: 22px;
	padding: 32px 30px;
	display: flex;
	flex-direction: column;
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.ed-bento-card:hover {
	transform: translateY(-5px);
	box-shadow: var(--ed-shadow-md);
	border-color: rgba(154, 116, 71, 0.4);
}

.ed-bento-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 22px;
}

.ed-bento-num {
	font-family: var(--ed-serif-en);
	font-size: 38px;
	font-weight: 600;
	font-style: italic;
	line-height: 1;
	color: var(--ed-bronze);
	opacity: 0.85;
}

.ed-bento-icon {
	width: 50px;
	height: 50px;
	border-radius: 14px;
	background-color: var(--ed-paper);
	border: 1px solid var(--ed-line);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--ed-navy);
}

.ed-bento-icon i {
	font-size: 22px !important;
}

.ed-bento-card:hover .ed-bento-icon {
	background-color: var(--ed-navy);
	color: var(--ed-gold-light);
	border-color: var(--ed-navy);
}

.ed-bento-kor {
	font-size: 12px;
	font-weight: 700;
	color: var(--ed-bronze);
	letter-spacing: 0.04em;
	margin-bottom: 4px;
}

.ed-bento-title {
	font-family: var(--ed-serif-kr);
	font-size: 20px;
	font-weight: 700;
	color: var(--ed-navy);
	margin: 0 0 12px;
}

.ed-bento-desc {
	font-size: 14.5px;
	line-height: 1.75;
	color: var(--ed-body);
	margin: 0 0 22px;
	flex: 1;
	word-break: keep-all;
}

.ed-bento-foot {
	padding-top: 16px;
	border-top: 1px solid var(--ed-line);
}

@media (max-width: 1024px) {
	.ed-bento-layout {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 640px) {
	.ed-pillars-bento {
		grid-template-columns: minmax(0, 1fr);
	}
	.ed-manifesto-card {
		padding: 32px 24px;
	}
}

/* ==========================================================================
   ③-A TOUCH WORSHIP CINEMA LOUNGE (.ed-cinema-sec)
   ========================================================================== */
.ed-cinema-grid {
	display: grid;
	grid-template-columns: minmax(0, 7.3fr) minmax(0, 4.7fr);
	gap: 28px;
	align-items: stretch;
}

.ed-stage-card {
	background-color: var(--ed-white);
	border: 1px solid var(--ed-line);
	border-radius: 22px;
	overflow: hidden;
	box-shadow: var(--ed-shadow-md);
	display: flex;
	flex-direction: column;
}

.ed-stage-screen {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	background-color: #0F1726;
	overflow: hidden;
}

.ed-stage-screen img,
.ed-stage-screen iframe {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border: 0;
	display: block;
}

.ed-stage-scrim {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(15, 23, 38, 0.12) 0%, rgba(15, 23, 38, 0.52) 100%);
	pointer-events: none;
}

.ed-stage-badge {
	position: absolute;
	top: 18px;
	left: 18px;
	padding: 6px 14px;
	border-radius: 999px;
	background-color: rgba(22, 33, 51, 0.85);
	backdrop-filter: blur(8px);
	color: var(--ed-gold-light);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	z-index: 3;
}

.ed-stage-play {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 10px 24px 10px 10px;
	border-radius: 999px;
	background-color: rgba(250, 247, 242, 0.94);
	border: 1px solid rgba(255, 255, 255, 0.6);
	color: var(--ed-navy);
	cursor: pointer;
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
	transition: transform 0.24s ease, background-color 0.24s ease;
	z-index: 3;
}

.ed-stage-play:hover {
	transform: translate(-50%, -50%) scale(1.04);
	background-color: #FFFFFF;
}

.ed-stage-play-ring {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background-color: var(--ed-navy);
	color: #FFFFFF;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
}

.ed-stage-play:hover .ed-stage-play-ring {
	background-color: var(--ed-bronze);
}

.ed-stage-play-label {
	font-size: 14px;
	font-weight: 700;
	color: var(--ed-navy);
}

.ed-stage-meta {
	padding: 24px 28px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	flex: 1;
}

.ed-stage-tags {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 8px;
}

.ed-tag-bronze {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 6px;
	background-color: var(--ed-bronze-soft);
	color: var(--ed-bronze-dark);
	font-size: 12px;
	font-weight: 700;
}

.ed-stage-date {
	font-size: 13px;
	color: var(--ed-muted);
}

.ed-stage-title {
	margin: 0;
	font-family: var(--ed-serif-kr);
	font-size: 20px;
	font-weight: 700;
	color: var(--ed-navy);
	line-height: 1.4;
	overflow-wrap: anywhere;
}

.ed-stage-title a:hover {
	color: var(--ed-bronze);
}

/* Playlist Queue Card */
.ed-playlist-card {
	background-color: var(--ed-white);
	border: 1px solid var(--ed-line);
	border-radius: 22px;
	padding: 22px;
	display: flex;
	flex-direction: column;
	box-shadow: var(--ed-shadow-sm);
}

.ed-playlist-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-bottom: 14px;
	margin-bottom: 12px;
	border-bottom: 1px solid var(--ed-line);
}

.ed-playlist-head strong {
	font-family: var(--ed-serif-kr);
	font-size: 16px;
	color: var(--ed-navy);
}

.ed-playlist-head a {
	font-size: 13px;
	font-weight: 600;
	color: var(--ed-bronze);
}

.ed-playlist-items {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.ed-playlist-item {
	display: flex;
	align-items: center;
	gap: 14px;
	width: 100%;
	padding: 10px;
	border-radius: 14px;
	border: 1px solid transparent;
	background: transparent;
	text-align: left;
	cursor: pointer;
	transition: all 0.2s ease;
}

.ed-playlist-item:hover {
	background-color: var(--ed-paper);
}

.ed-playlist-item.is-active {
	background-color: var(--ed-sand);
	border-color: rgba(154, 116, 71, 0.35);
}

.ed-playlist-thumb {
	position: relative;
	width: 112px;
	aspect-ratio: 16 / 9;
	border-radius: 9px;
	overflow: hidden;
	background-color: var(--ed-navy);
	flex-shrink: 0;
}

.ed-playlist-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.ed-playlist-playing {
	position: absolute;
	inset: 0;
	background: rgba(22, 33, 51, 0.45);
	color: #FFFFFF;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	opacity: 0;
	transition: opacity 0.2s ease;
}

.ed-playlist-item.is-active .ed-playlist-playing,
.ed-playlist-item:hover .ed-playlist-playing {
	opacity: 1;
}

.ed-playlist-info {
	min-width: 0;
	flex: 1;
}

.ed-playlist-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 4px;
}

.ed-playlist-ep {
	font-size: 11.5px;
	font-weight: 700;
	color: var(--ed-bronze-dark);
}

.ed-playlist-date {
	font-size: 11.5px;
	color: var(--ed-muted);
}

.ed-playlist-title {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--ed-navy);
}

@media (max-width: 992px) {
	.ed-cinema-grid {
		grid-template-columns: minmax(0, 1fr);
	}
	.ed-stage-meta {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* ==========================================================================
   ③-B DISCOGRAPHY & VINYL ALBUM ARCHIVE (.ed-album-sec)
   ========================================================================== */
.ed-album-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 32px 26px;
}

.ed-album-card {
	display: flex;
	flex-direction: column;
}

.ed-album-visual {
	position: relative;
	padding-right: 16px; /* Room for vinyl peek */
	margin-bottom: 16px;
}

.ed-album-jacket {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	border-radius: 14px;
	overflow: hidden;
	background-color: var(--ed-sand);
	border: 1px solid var(--ed-line);
	box-shadow: 0 14px 32px rgba(22, 33, 51, 0.10);
	z-index: 2;
}

.ed-album-jacket img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.45s ease;
}

.ed-album-card:hover .ed-album-jacket img {
	transform: scale(1.04);
}

.ed-album-nocover {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 42px;
	color: var(--ed-bronze);
}

/* Tactile Vinyl LP Record Peeking Out */
.ed-vinyl-disc {
	position: absolute;
	top: 6%;
	bottom: 6%;
	right: 16px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	background: radial-gradient(circle, #1e232c 0%, #11141a 40%, #232833 42%, #11141a 56%, #202530 58%, #0d1015 100%);
	box-shadow: 0 8px 22px rgba(0, 0, 0, 0.28);
	z-index: 1;
	transform: translateX(6px) rotate(0deg);
	transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
	display: flex;
	align-items: center;
	justify-content: center;
}

.ed-vinyl-label {
	width: 32%;
	height: 32%;
	border-radius: 50%;
	background: radial-gradient(circle, #FAF7F2 0%, #FAF7F2 18%, var(--ed-bronze) 20%, var(--ed-bronze-dark) 100%);
}

.ed-album-card:hover .ed-vinyl-disc {
	transform: translateX(22px) rotate(32deg);
}

.ed-album-listen-btn {
	position: absolute;
	left: 12px;
	bottom: 12px;
	z-index: 4;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 13px;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, 0.4);
	background-color: rgba(22, 33, 51, 0.84);
	backdrop-filter: blur(8px);
	color: #FFFFFF;
	font-size: 12px;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.2s ease, transform 0.2s ease;
}

.ed-album-listen-btn:hover {
	background-color: var(--ed-bronze);
	transform: scale(1.04);
}

.ed-album-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 6px;
}

.ed-album-edition {
	font-size: 12px;
	font-weight: 700;
	color: var(--ed-bronze);
}

.ed-album-date {
	font-size: 12px;
	color: var(--ed-muted);
}

.ed-album-title {
	margin: 0;
	font-family: var(--ed-serif-kr);
	font-size: 16.5px;
	font-weight: 700;
	line-height: 1.42;
	color: var(--ed-navy);
	overflow-wrap: anywhere;
}

.ed-album-title a:hover {
	color: var(--ed-bronze);
}

@media (max-width: 1024px) {
	.ed-album-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.ed-album-card:hover .ed-vinyl-disc {
		transform: translateX(8px) rotate(18deg);
	}
}

@media (max-width: 520px) {
	.ed-album-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 22px 14px;
	}
	.ed-album-visual {
		padding-right: 8px;
	}
	.ed-album-title {
		font-size: 14.5px;
	}
}

/* ==========================================================================
   ④-A NOTICE BULLETIN, SCHEDULE & DIRECT INVITATION (.ed-bulletin-sec)
   ========================================================================== */
.ed-bulletin-grid {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	gap: 44px;
	align-items: start;
}

.ed-col-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
	padding-bottom: 22px;
	border-bottom: 1.5px solid var(--ed-navy);
}

.ed-notice-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ed-notice-row {
	border-bottom: 1px solid var(--ed-line);
}

.ed-notice-link {
	display: flex;
	align-items: center;
	gap: 22px;
	padding: 20px 8px;
}

.ed-notice-link:hover {
	background-color: rgba(255, 255, 255, 0.5);
	padding-left: 14px;
}

.ed-notice-date {
	width: 68px;
	flex-shrink: 0;
	text-align: center;
	padding-right: 16px;
	border-right: 1px solid var(--ed-line);
}

.ed-notice-day {
	display: block;
	font-family: var(--ed-serif-en);
	font-size: 30px;
	font-weight: 700;
	line-height: 1;
	color: var(--ed-navy);
}

.ed-notice-ym {
	display: block;
	font-size: 11.5px;
	color: var(--ed-muted);
	margin-top: 4px;
}

.ed-notice-main {
	flex: 1;
	min-width: 0;
	display: flex;
	align-items: center;
	gap: 10px;
}

.ed-badge-new {
	padding: 2px 8px;
	border-radius: 4px;
	background-color: var(--ed-bronze);
	color: #FFFFFF;
	font-size: 10.5px;
	font-weight: 700;
	flex-shrink: 0;
}

.ed-notice-title {
	font-size: 16px;
	font-weight: 600;
	color: var(--ed-ink);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.ed-notice-link:hover .ed-notice-title {
	color: var(--ed-bronze-dark);
}

.ed-notice-arrow {
	color: var(--ed-muted);
	font-size: 16px;
	transition: transform 0.2s ease, color 0.2s ease;
}

.ed-notice-link:hover .ed-notice-arrow {
	transform: translateX(4px);
	color: var(--ed-bronze);
}

/* Right Concierge Stack */
.ed-concierge-col {
	display: flex;
	flex-direction: column;
	gap: 22px;
}

.ed-schedule-card {
	background-color: var(--ed-white);
	border: 1px solid var(--ed-line);
	border-radius: 22px;
	padding: 30px;
	box-shadow: var(--ed-shadow-sm);
}

.ed-schedule-card-top,
.ed-direct-card-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 12px;
}

.ed-schedule-icon {
	width: 42px;
	height: 42px;
	border-radius: 12px;
	background-color: var(--ed-paper);
	color: var(--ed-bronze);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
}

.ed-card-serif-title {
	font-family: var(--ed-serif-kr);
	font-size: 21px;
	font-weight: 700;
	color: var(--ed-navy);
	margin: 0 0 10px;
}

.ed-card-desc {
	font-size: 14.5px;
	line-height: 1.7;
	color: var(--ed-body);
	margin: 0 0 22px;
	word-break: keep-all;
}

.ed-schedule-links {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
}

.ed-direct-card {
	background-color: var(--ed-navy);
	color: #FFFFFF;
	border-radius: 22px;
	padding: 30px;
	box-shadow: var(--ed-shadow-md);
}

.ed-direct-icon {
	width: 42px;
	height: 42px;
	border-radius: 12px;
	background-color: rgba(255, 255, 255, 0.1);
	color: var(--ed-gold-light);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
}

.ed-direct-title {
	font-family: var(--ed-serif-kr);
	font-size: 20px;
	font-weight: 700;
	color: #FFFFFF;
	margin: 0 0 8px;
}

.ed-direct-phone {
	font-family: var(--ed-sans);
	font-size: 19px;
	font-weight: 700;
	color: var(--ed-gold-light);
	margin: 0 0 22px;
}

.ed-direct-actions {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

@media (max-width: 992px) {
	.ed-bulletin-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 36px;
	}
}

@media (max-width: 640px) {
	.ed-notice-link {
		gap: 14px;
		padding: 16px 4px;
	}
	.ed-notice-date {
		width: 54px;
		padding-right: 12px;
	}
	.ed-notice-day {
		font-size: 25px;
	}
	.ed-notice-title {
		font-size: 15px;
	}
	.ed-schedule-card,
	.ed-direct-card {
		padding: 24px 20px;
	}
}

/* ==========================================================================
   ④-B PARTNERS & INSTAGRAM ARCHIVE (.ed-partners-sec)
   ========================================================================== */
.ed-partners-header {
	margin-bottom: 30px;
}

.ed-partners-title-row {
	display: flex;
	align-items: baseline;
	gap: 18px;
	flex-wrap: wrap;
}

.ed-partners-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(155px, 100%), 1fr));
	gap: 14px;
	margin-bottom: 56px;
}

@media (max-width: 480px) {
	.ed-partners-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
		margin-bottom: 40px;
	}
}

.ed-partner-tile {
	height: 82px;
	background-color: var(--ed-white);
	border: 1px solid var(--ed-line);
	border-radius: 14px;
	padding: 14px 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.ed-partner-tile:hover {
	transform: translateY(-3px);
	box-shadow: var(--ed-shadow-sm);
	border-color: var(--ed-bronze);
}

.ed-partner-tile img {
	max-width: 100%;
	max-height: 46px;
	width: auto;
	height: auto;
	object-fit: contain;
}

.ed-insta-block {
	background-color: var(--ed-white);
	border: 1px solid var(--ed-line);
	border-radius: 22px;
	padding: 28px;
	box-shadow: var(--ed-shadow-sm);
}

.ed-insta-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding-bottom: 20px;
	margin-bottom: 20px;
	border-bottom: 1px solid var(--ed-line);
	flex-wrap: wrap;
}

.ed-insta-bar-left {
	display: flex;
	align-items: center;
	gap: 14px;
}

.ed-insta-icon {
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background-color: var(--ed-paper);
	border: 1px solid var(--ed-line);
	color: var(--ed-bronze);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
}

.ed-insta-bar-left strong {
	display: block;
	font-size: 13px;
	letter-spacing: 0.12em;
	color: var(--ed-navy);
}

.ed-insta-bar-left span {
	display: block;
	font-size: 13.5px;
	color: var(--ed-muted);
}

/* ==========================================================================
   ④-C PASTORAL MINISTRY INQUIRY & LA HEADQUARTERS (.ed-contact-sec)
   ========================================================================== */
.ed-contact-layout {
	display: grid;
	grid-template-columns: minmax(0, 4.8fr) minmax(0, 7.2fr);
	gap: 48px;
	align-items: start;
}

.ed-contact-lead {
	font-size: 15.5px;
	line-height: 1.8;
	color: var(--ed-body);
	margin: 14px 0 30px;
	word-break: keep-all;
}

.ed-office-spec {
	border-top: 1.5px solid var(--ed-navy);
	margin-bottom: 26px;
}

.ed-office-row {
	display: grid;
	grid-template-columns: 110px minmax(0, 1fr);
	gap: 14px;
	padding: 16px 0;
	border-bottom: 1px solid var(--ed-line);
	font-size: 14.5px;
}

.ed-office-label {
	font-weight: 700;
	color: var(--ed-muted);
	font-size: 13px;
}

.ed-office-val {
	overflow-wrap: anywhere;
}

.ed-office-val strong {
	display: block;
	color: var(--ed-navy);
	font-weight: 700;
}

.ed-office-val span {
	display: block;
	color: var(--ed-body);
	font-size: 13.5px;
}

.ed-office-highlight {
	font-size: 18px;
	font-weight: 700;
	color: var(--ed-bronze-dark) !important;
}

.ed-contact-sns {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

.ed-contact-sns a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 15px;
	border-radius: 999px;
	background-color: var(--ed-white);
	border: 1px solid var(--ed-line);
	font-size: 13px;
	font-weight: 600;
	color: var(--ed-navy);
}

.ed-contact-sns a:hover {
	background-color: var(--ed-navy);
	color: #FFFFFF;
	border-color: var(--ed-navy);
}

.ed-contact-sheet {
	background-color: var(--ed-white);
	border: 1px solid var(--ed-line);
	border-radius: 24px;
	padding: 38px 40px;
	box-shadow: var(--ed-shadow-md);
}

.ed-contact-sheet-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	padding-bottom: 18px;
	margin-bottom: 24px;
	border-bottom: 1px solid var(--ed-line);
	flex-wrap: wrap;
}

.ed-contact-sheet-head strong {
	font-family: var(--ed-serif-kr);
	font-size: 20px;
	color: var(--ed-navy);
}

.ed-contact-sheet-head span {
	font-size: 12.5px;
	color: var(--ed-muted);
}

/* LA Headquarters Map Card */
.ed-map-card {
	margin-top: 52px;
	background-color: var(--ed-white);
	border: 1px solid var(--ed-line);
	border-radius: 22px;
	overflow: hidden;
	box-shadow: var(--ed-shadow-sm);
}

.ed-map-card-bar {
	padding: 22px 28px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	border-bottom: 1px solid var(--ed-line);
	flex-wrap: wrap;
}

.ed-map-card-title h3 {
	font-family: var(--ed-serif-kr);
	font-size: 18px;
	color: var(--ed-navy);
	margin: 4px 0 0;
}

.ed-map-card-addr {
	margin: 0;
	font-size: 14px;
	font-weight: 600;
	color: var(--ed-body);
}

.ed-map-card-addr i {
	color: var(--ed-bronze);
}

.ed-map-embed iframe {
	width: 100% !important;
	height: 320px !important;
	display: block;
	border: 0;
}

@media (max-width: 992px) {
	.ed-contact-layout {
		grid-template-columns: minmax(0, 1fr);
		gap: 32px;
	}
	.ed-contact-sheet {
		padding: 26px 22px;
	}
}

@media (max-width: 480px) {
	.ed-office-row {
		grid-template-columns: 92px minmax(0, 1fr);
		gap: 10px;
	}
	.ed-contact-sheet {
		padding: 22px 18px;
	}
	.ed-map-card-bar {
		padding: 18px 20px;
	}
}

/* ==========================================================================
   SUBPAGES: WARM EDITORIAL MASTHEAD & PAPER SHEET (.ed-sub-hero / .ed-sub-main)
   ========================================================================== */
.ed-sub-hero {
	background-color: var(--ed-sand);
	border-bottom: 1px solid var(--ed-line);
	padding: 48px 0 0;
	max-width: 100%;
	overflow-x: hidden;
	overflow-x: clip;
}

.ed-sub-hero-inner {
	padding-bottom: 28px;
}

.ed-breadcrumb {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ed-muted);
	margin-bottom: 12px;
}

.ed-breadcrumb strong {
	color: var(--ed-bronze-dark);
}

.ed-bc-sep {
	opacity: 0.45;
}

.ed-sub-heading {
	font-family: var(--ed-serif-kr);
	font-size: clamp(1.85rem, 3vw, 2.55rem);
	font-weight: 700;
	color: var(--ed-navy);
	margin: 0;
	letter-spacing: -0.025em;
}

.ed-sub-tabs {
	display: flex;
	align-items: center;
	gap: 6px;
	overflow-x: auto;
	padding-top: 6px;
}

.ed-sub-tab {
	position: relative;
	padding: 13px 20px;
	font-size: 14.5px;
	font-weight: 600;
	color: var(--ed-muted);
	white-space: nowrap;
	border-bottom: 2.5px solid transparent;
}

.ed-sub-tab:hover {
	color: var(--ed-navy);
}

.ed-sub-tab.is-active {
	color: var(--ed-navy);
	border-bottom-color: var(--ed-bronze);
	background-color: rgba(255, 255, 255, 0.55);
	border-radius: 10px 10px 0 0;
}

#xet-body.ed-sub-main,
.ed-sub-main {
	background-color: var(--ed-paper);
	padding: 48px 0 84px;
	max-width: 100%;
	overflow-x: hidden;
	overflow-x: clip;
}

.ed-sub-sheet {
	background-color: var(--ed-white);
	border: 1px solid var(--ed-line);
	border-radius: 22px;
	padding: 44px;
	box-shadow: var(--ed-shadow-sm);
	max-width: 100%;
	overflow-x: auto;
}

@media (max-width: 768px) {
	.ed-sub-hero {
		padding-top: 32px;
	}
	#xet-body.ed-sub-main,
	.ed-sub-main {
		padding: 24px 0 56px;
	}
	.ed-sub-sheet {
		padding: 22px 18px;
		border-radius: 16px;
	}
}

/* ==========================================================================
   FOOTER: WARM STONE EDITORIAL FOOTER (#xet-footer.ed-footer)
   ========================================================================== */
#xet-footer.ed-footer {
	background-color: var(--ed-stone-soft) !important;
	border-top: 1px solid var(--ed-line-strong) !important;
	color: var(--ed-body) !important;
	padding: 58px 0 36px !important;
	max-width: 100%;
	overflow-x: hidden;
	overflow-x: clip;
}

.ed-footer-upper {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 32px;
	padding-bottom: 30px;
	border-bottom: 1px solid var(--ed-line);
	flex-wrap: wrap;
}

.ed-footer-logo img {
	height: 38px;
	width: auto;
	display: block;
}

.ed-footer-tagline {
	margin: 12px 0 0;
	font-size: 13.5px;
	color: var(--ed-muted);
	max-width: 440px;
}

.ed-footer-nav {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 22px;
}

.ed-footer-nav a {
	font-size: 14px;
	font-weight: 600;
	color: var(--ed-navy) !important;
}

.ed-footer-nav a:hover {
	color: var(--ed-bronze-dark) !important;
}

.ed-footer-middle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 24px 0;
	border-bottom: 1px solid var(--ed-line);
	flex-wrap: wrap;
}

.ed-footer-details {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;
	font-size: 13.5px;
	color: var(--ed-body);
}

.ed-footer-details strong {
	color: var(--ed-navy);
}

.ed-footer-sns {
	display: flex;
	gap: 10px;
}

.ed-footer-sns a {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background-color: var(--ed-paper);
	border: 1px solid var(--ed-line);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--ed-navy) !important;
	font-size: 17px;
}

.ed-footer-sns a:hover {
	background-color: var(--ed-navy);
	color: #FFFFFF !important;
	border-color: var(--ed-navy);
}

.ed-footer-lower {
	padding-top: 22px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.ed-copyright {
	margin: 0;
	font-size: 12.5px;
	color: var(--ed-muted);
}

/* Floating Scroll-to-Top Button with Reading Progress Ring */
body.soriel-editorial .ed-floating-top {
	position: fixed;
	right: 28px;
	bottom: 28px;
	z-index: 990;
	width: 52px;
	height: 52px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background-color: rgba(22, 33, 51, 0.92);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	color: #FFFFFF;
	box-shadow: 0 14px 34px rgba(15, 23, 38, 0.24), 0 0 0 1px rgba(255, 255, 255, 0.12);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(16px) scale(0.92);
	transition: opacity 0.28s ease, visibility 0.28s ease, transform 0.3s cubic-bezier(0.22, 1, 0.36, 1), background-color 0.22s ease, box-shadow 0.22s ease;
}

body.soriel-editorial .ed-floating-top.is-visible {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0) scale(1);
}

body.soriel-editorial.ed-drawer-open .ed-floating-top {
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

body.soriel-editorial .ed-floating-top:hover {
	background-color: var(--ed-navy);
	color: #FFFFFF;
	transform: translateY(-4px) scale(1.03);
	box-shadow: 0 18px 40px rgba(15, 23, 38, 0.34), 0 0 0 1px rgba(212, 180, 140, 0.45);
}

body.soriel-editorial .ed-floating-top-ring {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	transform: rotate(-90deg);
	pointer-events: none;
}

body.soriel-editorial .ed-floating-top-track {
	fill: none;
	stroke: rgba(255, 255, 255, 0.14);
	stroke-width: 2;
}

body.soriel-editorial .ed-floating-top-progress {
	fill: none;
	stroke: var(--ed-gold-light);
	stroke-width: 2.2;
	stroke-linecap: round;
	stroke-dasharray: 150.8;
	stroke-dashoffset: 150.8;
	transition: stroke-dashoffset 0.12s linear;
}

body.soriel-editorial .ed-floating-top-inner {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1px;
	line-height: 1;
}

body.soriel-editorial .ed-floating-top-inner i {
	font-size: 15px;
	color: var(--ed-gold-light);
	transition: transform 0.22s ease, color 0.22s ease;
}

body.soriel-editorial .ed-floating-top:hover .ed-floating-top-inner i {
	transform: translateY(-2px);
	color: #FFFFFF;
}

body.soriel-editorial .ed-floating-top-label {
	font-family: var(--ed-sans);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.12em;
	color: rgba(255, 255, 255, 0.86);
}

@media (max-width: 640px) {
	body.soriel-editorial .ed-floating-top {
		right: 18px;
		bottom: calc(18px + env(safe-area-inset-bottom, 0px));
		width: 46px;
		height: 46px;
	}
	body.soriel-editorial .ed-floating-top-inner i {
		font-size: 14px;
	}
	body.soriel-editorial .ed-floating-top-label {
		font-size: 8.5px;
	}
}

/* ==========================================================================
   MODALS & ALBUM PREVIEW LIGHTBOX
   ========================================================================== */
.ed-modal {
	background-color: var(--ed-paper) !important;
	border: 1px solid var(--ed-line) !important;
	border-radius: 20px !important;
	overflow: hidden;
	box-shadow: var(--ed-shadow-lg) !important;
}

.ed-modal .modal-header {
	background-color: var(--ed-sand);
	border-bottom: 1px solid var(--ed-line);
	padding: 22px 26px;
}

.ed-modal .modal-title {
	font-family: var(--ed-serif-kr);
	font-size: 20px;
	font-weight: 700;
	color: var(--ed-navy);
	margin: 4px 0 0;
}

.ed-modal .modal-body {
	padding: 24px 26px;
}

.ed-modal .modal-footer {
	border-top: 1px solid var(--ed-line);
	padding: 16px 26px;
	background-color: var(--ed-paper);
}

.ed-search-field {
	display: flex;
	align-items: center;
	background-color: var(--ed-white);
	border: 1.5px solid var(--ed-line-strong);
	border-radius: 12px;
	overflow: hidden;
}

.ed-search-field input.itext {
	flex: 1;
	border: 0 !important;
	background: transparent !important;
	padding: 14px 16px !important;
	font-size: 15px;
	color: var(--ed-ink);
	outline: none;
}

.ed-search-submit {
	width: 50px;
	height: 50px;
	border: 0;
	background-color: var(--ed-navy);
	color: #FFFFFF;
	font-size: 18px;
	cursor: pointer;
}

.ed-member-links {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ed-member-links li a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 14px;
	border-radius: 10px;
	font-weight: 600;
	color: var(--ed-navy);
}

.ed-member-links li a:hover {
	background-color: var(--ed-sand);
}

/* Custom Media Lightbox */
.ed-media-lightbox {
	position: fixed;
	inset: 0;
	z-index: 2000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.25s ease, visibility 0.25s ease;
}

.ed-media-lightbox.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.ed-media-lightbox-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(16, 23, 36, 0.78);
	backdrop-filter: blur(6px);
}

.ed-media-lightbox-dialog {
	position: relative;
	z-index: 2;
	width: min(860px, 100%);
	background-color: var(--ed-paper);
	border-radius: 22px;
	overflow: hidden;
	box-shadow: 0 30px 80px rgba(0, 0, 0, 0.45);
}

.ed-media-lightbox-head {
	padding: 18px 24px;
	background-color: var(--ed-sand);
	border-bottom: 1px solid var(--ed-line);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.ed-media-lightbox-info {
	min-width: 0;
	flex: 1;
}

.ed-lightbox-title {
	margin: 2px 0 0;
	font-family: var(--ed-serif-kr);
	font-size: 18px;
	color: var(--ed-navy);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ed-media-lightbox-actions {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-shrink: 0;
}

.ed-lightbox-yt-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 36px;
	padding: 0 14px;
	border-radius: 999px;
	background-color: var(--ed-white);
	border: 1px solid var(--ed-line-strong);
	font-size: 12.5px;
	font-weight: 700;
	color: var(--ed-navy) !important;
	white-space: nowrap;
}

.ed-lightbox-yt-link[hidden] {
	display: none !important;
}

.ed-lightbox-yt-link:hover {
	background-color: var(--ed-navy);
	border-color: var(--ed-navy);
	color: #FFFFFF !important;
}

.ed-lightbox-close {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	border: 1px solid var(--ed-line);
	background: var(--ed-white);
	color: var(--ed-navy);
	font-size: 17px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}

@media (max-width: 640px) {
	.ed-media-lightbox-head {
		padding: 14px 16px;
	}
	.ed-lightbox-yt-link span {
		display: none;
	}
}

.ed-media-lightbox-stage {
	width: 100%;
	aspect-ratio: 16 / 9;
	background: #000;
}

.ed-media-lightbox-stage iframe {
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
}
