.kb-alfresco-feature {
	position: relative;
	display: block;
	padding: 120px 0;
	background: #f1e7d8;
	color: #4c3828;
	overflow: hidden;
	isolation: isolate;
	border-top: 2px solid #e0bb76;
	border-radius: 40px;
}

.dining-texture {
	position: absolute;
	top: 23px;
	left: 50%;
	transform: translate(-50%, -50%) rotate(180deg);
}

.kd-nav-section {
	width: 100%;
	padding: 80px 0;
	background: #F2ECE5;
	font-family: 'Montserrat', sans-serif;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.kb-alfresco-feature::before {
	content: '';
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(199, 154, 94, 0.018) 0, rgba(199, 154, 94, 0.018) 1px, transparent 1px, transparent 100%),
		linear-gradient(180deg, rgba(255, 255, 255, 0.62), rgba(224, 206, 181, 0.1));
	background-size: 220px 220px, auto;
	pointer-events: none;
	opacity: 0.24;
}

.kb-alfresco-feature::after {
	content: '';
	position: absolute;
	left: 50%;
	top: -8%;
	width: min(64vw, 760px);
	height: min(64vw, 760px);
	border-radius: 50%;
	transform: translateX(-50%);
	background: radial-gradient(circle, rgba(255, 255, 255, 0.7) 0%, rgba(199, 154, 94, 0.06) 34%, rgba(199, 154, 94, 0) 72%);
	pointer-events: none;
	opacity: 0.82;
}

.kb-alfresco-story {
	position: relative;
	z-index: 1;
	width: 100%;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: clamp(76px, 9vw, 124px);
}

.kb-alfresco-story::before {
	content: '';
	position: absolute;
	top: 65px;
	left: 50%;
	width: min(240px, 42vw);
	height: 1px;
	transform: translateX(-50%);
	background: linear-gradient(90deg, rgba(199, 154, 94, 0), rgba(199, 154, 94, 0.42), rgba(199, 154, 94, 0));
	opacity: 0.7;
	pointer-events: none;
}

.kb-alfresco-stage {
	width: 100%;
	position: relative;
	display: flex;
	justify-content: center;
	z-index: 1;
}

.kb-alfresco-intro {
	width: 80%;
	padding-inline: 12px;
	text-align: center;
}

.kb-alfresco-intro-shell {
	position: relative;
	padding: 16px 28px 0;
}

.kb-alfresco-intro-shell::before,
.kb-alfresco-intro-shell::after {
	content: '';
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	width: min(160px, 32vw);
	height: 1px;
	background: linear-gradient(90deg, rgba(199, 154, 94, 0), rgba(199, 154, 94, 0.42), rgba(199, 154, 94, 0));
}

.kb-alfresco-intro-shell::before {
	top: 0;
}

.kb-alfresco-intro-shell::after {
	bottom: -24px;
	width: min(96px, 18vw);
}

.kb-alfresco-intro-mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 20px;
	padding: 9px 18px;
	border: 1px solid rgba(199, 154, 94, 0.24);
	border-radius: 999px;
	background: rgba(255, 253, 250, 0.88);
	box-shadow: 0 14px 30px rgba(143, 113, 74, 0.08);
	font-family: 'Geometria', sans-serif;
	font-size: 0.64rem;
	letter-spacing: 0.34em;
	text-transform: uppercase;
	color: rgba(92, 66, 40, 0.82);
}

.kb-alfresco-eyebrow {
	margin: 0;
	font-family: 'Playfair Display', serif;
	font-size: clamp(1.4rem, 3.2vw, 3.2rem);
	line-height: 1.04;
	font-style: italic;
	color: #c79a5e;
	letter-spacing: 0.04em;
	text-shadow: 0 10px 24px rgba(199, 154, 94, 0.08);
}

.kb-alfresco-copy {
	margin: 20px auto 0;
	font-family: 'LM Roman', serif;
	font-size: clamp(0.98rem, 1.16vw, 1.08rem);
	line-height: 1.84;
	color: #000;
	width: 100%;
}

.kb-alfresco-rail {
	position: absolute;
	left: 50%;
	width: 1px;
	transform: translateX(-50%);
	pointer-events: none;
	z-index: 0;
}

.kb-alfresco-rail-track,
.kb-alfresco-rail-fill {
	position: absolute;
	left: 0;
	top: 0;
	width: 1.5px;
	height: 100%;
}

.kb-alfresco-rail-track {
	background: rgba(199, 154, 94, 0.2);
}

.kb-alfresco-rail-fill {
	background: linear-gradient(180deg, rgba(199, 154, 94, 0.18) 0%, #c79a5e 38%, #e4bc74 100%);
	transform-origin: top center;
	transform: scaleY(0);
	will-change: transform;
	backface-visibility: hidden;
}

.kb-alfresco-rail-dot {
	position: absolute;
	left: 50%;
	top: 0;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #c79a5e;
	box-shadow: 0 0 0 6px rgba(199, 154, 94, 0.12), 0 0 18px rgba(228, 188, 116, 0.32);
	transform: translate3d(-50%, 0, 0);
	will-change: transform;
	backface-visibility: hidden;
}

.kb-alfresco-rail-dot::before {
	content: '';
	position: absolute;
	inset: -8px;
	border-radius: 50%;
	border: 1px solid rgba(228, 188, 116, 0.24);
	animation: kbAlfrescoDotPulse 2.8s ease-out infinite;
}

.kb-alfresco-gallery-stage {
	position: relative;
	margin: 0 auto;
	width: 100%;
	min-height: clamp(320px, 53vw, 850px);
	border: 1px solid rgba(216, 174, 107, 0.32);
	border-radius: 38px;
	background: url(../images/dining-room-texture2.webp) #483728;
	/* background:
		radial-gradient(circle at top center, rgba(255, 255, 255, 0.86), rgba(255, 255, 255, 0) 54%),
		linear-gradient(180deg, rgba(255, 251, 245, 0.92), rgba(246, 237, 225, 0.96));
	box-shadow: 0 34px 70px rgba(132, 100, 62, 0.12); */
	pointer-events: none;
	padding: 65px 50px 35px 50px;
	box-sizing: border-box;
	contain: paint;
	transform: translateZ(0);
	backface-visibility: hidden;
}

.kb-alfresco-gallery-stage::before {
	content: '';
	position: absolute;
	inset: 16px;
	border-radius: 28px;
	border: 1px solid rgb(224 187 118);
	background: #483728ab;
	pointer-events: none;
}

.kb-alfresco-gallery-stage::after {
	content: '';
	position: absolute;
	left: 8%;
	right: 8%;
	bottom: -16%;
	height: 34%;
	background: radial-gradient(circle, rgba(176, 138, 91, 0.1) 0%, rgba(176, 138, 91, 0) 72%);
	opacity: 0.72;
	pointer-events: none;
}

.kb-alfresco-gallery {
	width: 100%;
	height: 100%;
	margin: 0 auto;
	display: grid;
	grid-template-columns: minmax(30px, 0.74fr) minmax(180px, 1.16fr) minmax(170px, 0.74fr);
	gap: clamp(10px, 5vw, 12px);
	align-items: start;
	position: relative;
	z-index: 1;
}

.kb-alfresco-gallery-card,
.kb-alfresco-gallery-stack {
	height: clamp(240px, 34vw, 430px);
}

.kb-alfresco-gallery-card {
	position: relative;
	overflow: hidden;
	background: #dbb673;
	border: 1px solid rgba(199, 154, 94, 0.14);
	border-radius: 28px;
	box-shadow: 0 24px 42px rgba(116, 88, 58, 0.14);
	isolation: isolate;
	--kb-alfresco-card-rest: translate3d(0, 0, 0) rotate(0deg);
	transform: var(--kb-alfresco-card-rest);
	width: 100%;
	margin: 0;
	padding: 12px;
	box-sizing: border-box;
}

.kb-alfresco-gallery-card::before {
	/* content: ''; */
	position: absolute;
	inset: 12px;
	border-radius: 18px;
	border: 1px solid rgba(255, 255, 255, 0.52);
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.24), rgba(255, 255, 255, 0) 26%);
	z-index: 1;
	pointer-events: none;
}

.kb-alfresco-gallery-card::after {
	/* content: ''; */
	position: absolute;
	inset: 12px;
	border-radius: 18px;
	background: linear-gradient(180deg, rgba(247, 239, 231, 0) 46%, rgba(79, 59, 38, 0.18) 100%);
	z-index: 1;
	pointer-events: none;
}

.kb-alfresco-gallery-card img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transform: scale(1.02);
	will-change: transform;
	border-radius: 18px;
	filter: saturate(1.02) contrast(1.02);
}

.kb-alfresco-gallery-stack {
	display: grid;
	grid-template-rows: 1fr 1fr;
	gap: clamp(10px, 0.8vw, 14px);
}

.kb-alfresco-gallery-stack .kb-alfresco-gallery-card {
	height: 100%;
}

.kb-alfresco-gallery-card--side {
	opacity: 0.76;
}

.kb-alfresco-gallery-card--edge-left,
.kb-alfresco-gallery-card--edge-right {
	height: clamp(248px, 28vw, 350px);
	align-self: center;
	opacity: 0.54;
}

.kb-alfresco-gallery-card--edge-left {
	--kb-alfresco-card-rest: translate3d(0, 34px, 0) rotate(-2deg);
}

.kb-alfresco-gallery-card--feature-left,
.kb-alfresco-gallery-card--feature-right {
	height: clamp(330px, 39vw, 700px);
}

.kb-alfresco-gallery-card--feature-left {
	--kb-alfresco-card-rest: translate3d(0, 18px, 0) rotate(-1deg);
}

.kb-alfresco-gallery-card--feature-right {
	--kb-alfresco-card-rest: translate3d(0, -14px, 0) rotate(1deg);
}

.kb-alfresco-gallery-stack {
	height: clamp(330px, 39vw, 630px);
	transform: translateY(38px) rotate(0.6deg);
}

.kb-alfresco-gallery-caption {
    position: absolute;
    left: 23px;
    right: 22px;
    bottom: 24px;
    z-index: 2;
    font-family: 'Playfair Display', sans-serif;
    font-size: 14px;
    letter-spacing: 0.04em;
    text-transform: capitalize;
    color: #483728;
    text-align: center;
    background: rgba(255, 249, 242, 0.92);
    border: 1px solid rgba(199, 154, 94, 0.18);
    border-radius: 50px;
    padding: 9px 14px;
    box-shadow: 0px 0px 0px 4px rgb(224 184 113);
    display: inline-flex;
    width: fit-content;
    max-width: calc(100% - 44px);
}

.kb-alfresco-panel {
	width: min(1200px, calc(100% - 52px));
	max-width: none;
	margin: 0 auto;
	padding: 0;
	box-sizing: border-box;
	justify-content: flex-start;
	text-align: left;
	isolation: isolate;
	--kb-alfresco-panel-shell-width: min(420px, calc(50% - 110px));
	--kb-alfresco-panel-connector-gap: 18px;
}

.kb-alfresco-panel::before {
	content: none;
}

.kb-alfresco-panel::after {
	content: '';
	position: absolute;
	left: calc(var(--kb-alfresco-panel-shell-width) + var(--kb-alfresco-panel-connector-gap));
	top: 50%;
	width: calc(50% - var(--kb-alfresco-panel-shell-width) - var(--kb-alfresco-panel-connector-gap));
	height: 1px;
	transform: translateY(-50%);
	background: linear-gradient(90deg, rgba(199, 154, 94, 0.82), rgba(199, 154, 94, 0));
	opacity: 0.88;
	pointer-events: none;
	z-index: 0;
}

.kb-alfresco-panel--contact {
	margin-top: -134px;
	justify-content: flex-end;
}

.kb-alfresco-panel--contact::after {
	left: 50%;
	width: calc(50% - var(--kb-alfresco-panel-shell-width) - var(--kb-alfresco-panel-connector-gap));
}

.kb-alfresco-panel-shell {
	position: relative;
	width: var(--kb-alfresco-panel-shell-width);
	max-width: none;
	min-height: fit-content;
	margin-left: 0;
	text-align: center;
	padding: 48px 45px 42px;
	background: #fff;
	border: 1px solid rgba(209, 178, 136, 0.24);
	box-shadow: 0px 0px 46px 14px rgb(199 154 94 / 19%);
	isolation: isolate;
	overflow: hidden;
	z-index: 1;
	contain: paint;
	transform: translateZ(0);
}

.kb-alfresco-panel-shell-bg {
	/* background: url(../images/dining-room-texture4.webp) #fff; */
	backface-visibility: hidden;
	background-repeat: no-repeat;
	background-position: bottom;
}

.kb-alfresco-panel-shell::before {
	content: '';
	position: absolute;
	inset: 10px;
	border: 1px solid rgb(220 179 110);
	pointer-events: none;
}

.kb-panel-shell-elem {
	width: 10px;
	position: absolute;
	top: 2px;
	left: 21px;
	transform: rotate(45deg);
	opacity: 0.6;
}

.kb-panel-shell-elem1 {
	width: 10px;
	position: absolute;
	top: 6px;
	right: 25px;
	transform: rotate(-45deg);
	opacity: 0.6;
}

.kb-panel-shell-elem2 {
	width: 10px;
	position: absolute;
	bottom: 2px;
	left: 21px;
	transform: rotate(-45deg);
	opacity: 0.6;
}

.kb-panel-shell-elem3 {
	width: 10px;
	position: absolute;
	bottom: 6px;
	right: 25px;
	transform: rotate(45deg);
	opacity: 0.6;
}

.kb-alfresco-panel-shell::after {
	/* content: ''; */
	position: absolute;
	right: 22px;
	bottom: 22px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: rgba(214, 197, 175, 0.66);
	box-shadow: 0 0 0 6px rgba(214, 197, 175, 0.08);
	pointer-events: none;
}

.fancy-divider {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 222px;
	margin: 35px auto 25px;
}

.fancy-divider::before,
.fancy-divider::after {
	content: "";
	flex: 1;
	height: 2px;
	background: linear-gradient(to right,
			transparent,
			#d6b48a,
			transparent);
}

.kb-alfresco-panel-kicker {
	position: relative;
	z-index: 1;
	margin: 0 0 18px;
	font-family: 'Geometria', sans-serif;
	font-size: 0.7rem;
	letter-spacing: 0.42em;
	text-transform: uppercase;
	color: rgba(122, 96, 68, 0.72);
}

.kb-alfresco-panel-title {
	position: relative;
	z-index: 1;
	margin: 0 0 0px;
	font-family: 'Playfair Display', serif;
	font-size: clamp(4.3rem, 8.2vw, 3.8rem);
	line-height: 0.8;
	font-weight: 400;
	font-style: italic;
	letter-spacing: 0.015em;
	color: #c79a5e;
	text-wrap: balance;
	text-shadow: 0 12px 28px rgba(199, 154, 94, 0.1);
}

.kb-alfresco-panel-title::after {
	/* content: ''; */
	position: absolute;
	top: 54%;
	left: calc(100% + 20px);
	width: min(96px, 10vw);
	height: 1px;
	background: linear-gradient(90deg, rgba(199, 154, 94, 0.54), rgba(199, 154, 94, 0));
	transform: translateY(-50%);
}

.kb-alfresco-panel-label {
	position: relative;
	z-index: 1;
	margin: 0 0 16px;
	font-family: 'Geometria', sans-serif;
	font-size: 0.72rem;
	letter-spacing: 0.36em;
	text-transform: uppercase;
	color: rgba(104, 78, 49, 0.9);
	text-align: left;
}

.kb-alfresco-panel-copy {
	position: relative;
	z-index: 1;
	max-width: 356px;
	margin: 0;
	font-family: 'LM Roman', serif;
	font-size: clamp(1.06rem, 1.22vw, 1.28rem);
	line-height: 1.68;
	color: rgba(96, 73, 46, 0.86);
	text-align: center;
}

.kb-alfresco-panel-copy strong {
	display: inline-block;
	margin-bottom: 10px;
	font-weight: 500;
	color: #4b3828;
}

.kb-alfresco-panel-divider {
	position: relative;
	z-index: 1;
	width: 108px;
	height: 1px;
	margin: 21px auto 18px;
	background: linear-gradient(90deg, rgba(199, 154, 94, 0.08), #c79a5e, rgba(199, 154, 94, 0.08));
}

.kb-alfresco-panel--hours .kb-alfresco-panel-copy {
	max-width: 366px;
	white-space: nowrap;
}

.kb-alfresco-panel--contact .kb-alfresco-panel-copy {
	line-height: 1.82;
}

.kb-alfresco-panel--contact .kb-alfresco-panel-label {
	margin-top: 2px;
	font-size: 0.68rem;
	color: rgba(116, 91, 62, 0.84);
}

.kb-alfresco-end-dot {
	position: relative;
	z-index: 1;
	width: 8px;
	height: 8px;
	margin-top: -44px;
	border-radius: 50%;
	background: #c79a5e;
	box-shadow: 0 0 0 5px rgba(199, 154, 94, 0.06);
}

.kb-alfresco-end-dot::before {
	content: '';
	position: absolute;
	inset: -10px;
	border-radius: 50%;
	border: 1px solid rgba(199, 154, 94, 0.16);
}

.kb-alfresco-feature.is-enhanced [data-kb-alfresco-step] {
	opacity: 0;
	transform: translate3d(0, 60px, 0);
	transition: opacity 1.2s cubic-bezier(0.16, 1, 0.3, 1), transform 1.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.kb-alfresco-feature.is-enhanced [data-kb-alfresco-step].is-visible {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

.kb-alfresco-feature.is-enhanced .kb-alfresco-gallery-card {
	opacity: 0;
	transform: translate3d(0, 60px, 0);
	transition: opacity 1.2s cubic-bezier(0.16, 1, 0.3, 1), transform 1.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.kb-alfresco-feature.is-enhanced .kb-alfresco-gallery-card--feature-right {
	transform: translate3d(200px, 0px, 0);
}

.kb-alfresco-feature.is-enhanced .kb-alfresco-gallery-card--feature-left {
	transform: translate3d(-200px, 0px, 0);
}

.kb-alfresco-feature.is-enhanced .kb-alfresco-gallery-stage.is-visible .kb-alfresco-gallery-card {
	opacity: 1;
	transform: var(--kb-alfresco-card-rest);
}

.kb-alfresco-feature.is-enhanced .kb-alfresco-gallery-stage.is-visible .kb-alfresco-gallery-card:nth-child(1) {
	transition-delay: 0.1s;
}

.kb-alfresco-feature.is-enhanced .kb-alfresco-gallery-stage.is-visible .kb-alfresco-gallery-card:nth-child(2) {
	transition-delay: 0.25s;
}

.kb-alfresco-feature.is-enhanced .kb-alfresco-gallery-stage.is-visible .kb-alfresco-gallery-stack .kb-alfresco-gallery-card:first-child {
	transition-delay: 0.4s;
}

.kb-alfresco-feature.is-enhanced .kb-alfresco-gallery-stage.is-visible .kb-alfresco-gallery-stack .kb-alfresco-gallery-card:last-child {
	transition-delay: 0.55s;
}

.kb-alfresco-feature.is-enhanced .kb-alfresco-gallery-stage.is-visible .kb-alfresco-gallery-card:nth-child(4) {
	transition-delay: 0.7s;
}

.kb-alfresco-feature.is-enhanced .kb-alfresco-gallery-stage.is-visible .kb-alfresco-gallery-card:nth-child(5) {
	transition-delay: 0.85s;
}

@media (max-width: 991px) {
	.kb-alfresco-feature {
		padding: 86px 0 82px;
	}

	.kb-alfresco-story {
		width: min(100% - 22px, 780px);
		gap: 70px;
	}

	.kb-alfresco-intro {
		max-width: 620px;
	}

	.kb-alfresco-intro-shell {
		padding-inline: 10px;
	}

	.kb-alfresco-gallery-stage {
		width: min(100%, 900px);
		min-height: clamp(280px, 48vw, 520px);
		padding: 24px;
	}

	.kb-alfresco-gallery {
		width: 100%;
	}

	.kb-alfresco-gallery-stage::before {
		inset: 14px;
		border-radius: 22px;
	}

	.kb-alfresco-gallery-card,
	.kb-alfresco-gallery-stack {
		height: clamp(220px, 40vw, 338px);
	}

	.kb-alfresco-gallery-card--edge-left,
	.kb-alfresco-gallery-card--edge-right,
	.kb-alfresco-gallery-card--feature-left,
	.kb-alfresco-gallery-card--feature-right,
	.kb-alfresco-gallery-stack {
		transform: none;
	}

	.kb-alfresco-gallery-card--edge-left,
	.kb-alfresco-gallery-card--edge-right,
	.kb-alfresco-gallery-card--feature-left,
	.kb-alfresco-gallery-card--feature-right {
		--kb-alfresco-card-rest: translate3d(0, 0, 0) rotate(0deg);
	}

	.kb-alfresco-panel {
		width: min(100% - 28px, 860px);
		--kb-alfresco-panel-shell-width: min(340px, calc(50% - 86px));
		--kb-alfresco-panel-connector-gap: 14px;
	}

	.kb-alfresco-panel::after {
		left: calc(var(--kb-alfresco-panel-shell-width) + var(--kb-alfresco-panel-connector-gap));
		width: calc(50% - var(--kb-alfresco-panel-shell-width) - var(--kb-alfresco-panel-connector-gap));
	}

	.kb-alfresco-panel-shell {
		min-height: 200px;
		margin-left: 0;
		padding: 38px 26px 34px;
		max-width: 100%;
		width: -webkit-fill-available;
	}

	.kb-alfresco-panel-title {
		font-size: clamp(3.1rem, 10vw, 4.6rem);
	}

	.kb-alfresco-panel-title::after {
		width: min(74px, 10vw);
		left: calc(100% + 14px);
	}

	.kb-alfresco-panel-copy {
		font-size: clamp(0.98rem, 1.4vw, 1.12rem);
	}
}

@media (max-width: 767px) {
	.kb-alfresco-feature {
		padding: 72px 0 74px;
	}

	.kb-alfresco-story {
		width: min(100% - 14px, 420px);
		gap: 64px;
	}

	.kb-alfresco-intro {
		max-width: 340px;
		padding-inline: 6px;
	}

	.kb-alfresco-copy {
		font-size: 0.88rem;
		line-height: 1.7;
	}

	.kb-alfresco-intro-mark {
		font-size: 0.58rem;
		letter-spacing: 0.28em;
	}

	.kb-alfresco-gallery-stage {
		width: min(100%, 420px);
		min-height: clamp(262px, 82vw, 390px);
		padding: 16px;
		border-radius: 26px;
	}

	.kb-alfresco-gallery {
		width: 100%;
		grid-template-columns: 8px minmax(74px, 1fr) minmax(74px, 1fr) minmax(74px, 1fr) 8px;
		gap: 8px;
	}

	.kb-alfresco-gallery-stage::before {
		inset: 10px;
		border-radius: 18px;
	}

	.kb-alfresco-gallery-card,
	.kb-alfresco-gallery-stack {
		height: clamp(214px, 62vw, 308px);
	}

	.kb-alfresco-panel {
		padding-left: 0;
		padding-right: 0;
		justify-content: center;
		text-align: center;
		width: min(100% - 12px, 420px);
	}

	.kb-alfresco-panel::after {
		display: none;
	}

	.kb-alfresco-panel-shell {
		max-width: 340px;
		min-height: auto;
		width: 100%;
		margin-left: 0;
		padding: 32px 20px 30px;
		background: linear-gradient(180deg, rgba(255, 251, 246, 0.64), rgba(255, 249, 242, 0.4));
		box-shadow: 0 14px 24px rgba(166, 134, 95, 0.06);
	}

	.kb-alfresco-panel-copy {
		font-size: 0.98rem;
		line-height: 1.6;
		margin: 0 auto;
		text-align: center;
	}

	.kb-alfresco-panel-title {
		font-size: clamp(3rem, 14vw, 4.2rem);
		line-height: 0.9;
	}

	.kb-alfresco-panel-title::after {
		display: none;
	}

	.kb-alfresco-gallery-caption {
		left: 20px;
		right: 20px;
		bottom: 18px;
		font-size: 0.74rem;
		letter-spacing: 0.18em;
		padding: 8px 12px;
		max-width: calc(100% - 40px);
	}

	.kb-alfresco-panel-label {
		text-align: center;
	}

	.kb-alfresco-panel-divider {
		margin: 18px auto;
	}

	.kb-alfresco-panel--contact {
		margin-top: 0;
	}
}

@media (max-width: 480px) {
	.kb-alfresco-feature {
		padding: 66px 0 68px;
	}

	.kb-alfresco-story {
		gap: 60px;
	}

	.kb-alfresco-eyebrow {
		font-size: 0.92rem;
	}

	.kb-alfresco-intro-shell::after {
		bottom: -18px;
	}

	.kb-alfresco-gallery {
		width: 100%;
		grid-template-columns: 1fr;
	}

	.kb-alfresco-gallery-stage::before {
		inset: 8px;
		border-radius: 16px;
	}

	.kb-alfresco-gallery-card,
	.kb-alfresco-gallery-stack {
		height: 450px;
	}

	.kb-alfresco-panel-title {
		font-size: 2.9rem;
	}

	.kb-alfresco-rail-dot {
		width: 8px;
		height: 8px;
	}
}

@keyframes kbAlfrescoDotPulse {
	0% {
		transform: scale(0.72);
		opacity: 0.7;
	}

	70% {
		transform: scale(1.18);
		opacity: 0;
	}

	100% {
		transform: scale(1.18);
		opacity: 0;
	}
}

.glass-elem {
	position: absolute;
	top: 1%;
	right: -7%;
	width: 600px;
	z-index: -1;
	pointer-events: none;
	/* mix-blend-mode: darken; */
	opacity: 0.8;
	will-change: transform;
}

.glass-elem2 {
	position: absolute;
	bottom: 3%;
	left: -6.2%;
	width: 639px;
	z-index: -1;
	pointer-events: none;
	mix-blend-mode: darken;
	opacity: 0.2;
	will-change: transform;
}

.glass-elem3 {
	position: absolute;
	bottom: 30%;
	right: -2%;
	width: 500px;
	rotate: -3deg;
	z-index: -1;
	pointer-events: none;
	mix-blend-mode: darken;
	opacity: 0.2;
	will-change: transform;
}

@media all and (max-width:960px) {
	#navBar {
		display: flex;
		width: 100%;
		min-width: 0;
		flex: 0 0 auto;
		align-items: center;
		justify-content: flex-start;
		gap: 22px;
		padding: 0 10px;
		box-sizing: border-box;
		position: relative;
		z-index: 4;
		pointer-events: auto;
	}

	#navLogo {
		max-width: 145px;
		flex: 0 0 auto;
	}

	/* #navSideItems {
				flex-direction: row;
				flex-wrap: wrap;
				justify-content: center;
				gap: 8px 16px;
				width: 100%;
				position: relative;
				z-index: 4;
				pointer-events: auto;
			}

			.navSideItem {
				margin-top: 0;
				font-size: 14px;
				line-height: 1.35;
				pointer-events: auto;
				touch-action: manipulation;
			} */

	#navScroller {
		top: 0;
		padding-bottom: 165px;
	}

	#navTop {
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	#navContent {
		width: calc(100% - 20px);
		padding-right: 0;
		padding-left: 0;
		margin: 28px 10px 0;
		min-height: 0;
		position: relative;
		z-index: 1;
	}
}

@media (min-width:1200px) and (max-width:1366px) and (max-height:900px) {
	/* .kb-alfresco-story {
				width: min(100% - 40px, 1120px);
				gap: 56px;
			}

			.kb-alfresco-gallery-stage {
				max-width: min(1180px, calc(100% - 12px));
				min-height: clamp(260px, 36vw, 500px);
				padding: 36px 34px 28px 30px;
			}

			.kb-alfresco-gallery {
				grid-template-columns: minmax(34px, 0.26fr) minmax(180px, 1fr) minmax(180px, 1fr) minmax(180px, 1fr) minmax(34px, 0.26fr);
				grid-template-rows: minmax(0, 1fr);
				gap: 12px;
				align-items: center;
			}

			.kb-alfresco-gallery-card--edge-left {
				grid-column: 1;
				grid-row: 1;
			}

			.kb-alfresco-gallery-card--feature-left {
				grid-column: 2;
				grid-row: 1;
			}

			.kb-alfresco-gallery-stack {
				grid-column: 3;
				grid-row: 1;
			}

			.kb-alfresco-gallery-card--feature-right {
				grid-column: 4;
				grid-row: 1;
			}

			.kb-alfresco-gallery-card--edge-right {
				grid-column: 5;
				grid-row: 1;
			}

			.kb-alfresco-gallery-card,
			.kb-alfresco-gallery-stack {
				height: clamp(210px, 28vw, 320px);
			} */

	/* .kb-alfresco-gallery-card--edge-left,
			.kb-alfresco-gallery-card--edge-right,
			.kb-alfresco-gallery-card--feature-left,
			.kb-alfresco-gallery-card--feature-right,
			.kb-alfresco-gallery-stack {
				transform: none;
			}

			.kb-alfresco-gallery-card--edge-left,
			.kb-alfresco-gallery-card--edge-right,
			.kb-alfresco-gallery-card--feature-left,
			.kb-alfresco-gallery-card--feature-right {
				--kb-alfresco-card-rest: translate3d(0, 0, 0) rotate(0deg);
			} */

	.kb-alfresco-panel {
		width: min(100% - 40px, 1040px);
		--kb-alfresco-panel-shell-width: min(360px, calc(50% - 68px));
		--kb-alfresco-panel-connector-gap: 12px;
	}

	.kb-alfresco-panel-shell {
		padding: 34px 28px 30px;
	}

	.kb-alfresco-panel-title {
		font-size: clamp(3rem, 4.4vw, 4rem);
	}
}

@media (max-width:767px) {
	.kb-alfresco-story {
		width: min(100% - 20px, 420px);
	}

	.kb-alfresco-gallery-stage {
		min-height: auto;
		padding: 14px;
	}

	.kb-alfresco-gallery {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.kb-alfresco-gallery-card,
	.kb-alfresco-gallery-stack {
		height: auto;
		min-height: 220px;
	}

	.kb-alfresco-gallery-stack {
		grid-template-rows: repeat(2, minmax(220px, 1fr));
		transform: none;
	}

	.kb-alfresco-gallery-card--edge-left,
	.kb-alfresco-gallery-card--edge-right,
	.kb-alfresco-gallery-card--feature-left,
	.kb-alfresco-gallery-card--feature-right {
		height: auto;
		min-height: 220px;
		align-self: stretch;
		--kb-alfresco-card-rest: translate3d(0, 0, 0) rotate(0deg);
	}

	.kb-alfresco-feature.is-enhanced .kb-alfresco-gallery-stage.is-visible .kb-alfresco-gallery-card {
		opacity: 0;
		transform: translate3d(0, 40px, 0);
		transition-delay: 0s;
	}

	.kb-alfresco-feature.is-enhanced .kb-alfresco-gallery-stage .kb-alfresco-gallery-card.is-card-visible {
		opacity: 1;
		transform: var(--kb-alfresco-card-rest);
	}

	.kb-alfresco-panel,
	.kb-alfresco-panel-shell {
		width: 100%;
		max-width: 100%;
	}
}

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&display=swap');

/* ── Wrapper ─────────────────────────────────────────────── */
.kd-nav-section {
	width: 100%;
	padding: 80px 0;
	/* Significantly more section padding */
	background: #F2ECE5;
	font-family: 'Montserrat', sans-serif;
	box-sizing: border-box;
	display: flex;
	/* Corrected to vertical flex for centered layout */
	flex-direction: column;
	align-items: center;
}

/* ── Current room heading ────────────────────────────────── */
.kd-head {
	text-align: center;
	margin-bottom: 2rem;
}

.kd-pre {
	font-size: 13px;
	letter-spacing: .35em;
	text-transform: uppercase;
	color: #BDAC9A;
	margin-bottom: 15px;
	font-weight: 600;
}

.kd-title {
	font-family: 'Playfair Display';
	font-size: 54px;
	/* Much bigger title */
	font-weight: 300;
	color: #483728;
	letter-spacing: .1em;
	/* font-style: italic; */
	margin: 0;
	line-height: 1.1;
}

/* ── Ornamental rule ─────────────────────────────────────── */
.kd-rule {
	display: flex;
	align-items: center;
	gap: 15px;
	margin-bottom: 2rem;
	max-width: 1200px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

.kd-rule-line {
	flex: 1;
	height: .5px;
	background: #BDAC9A;
}

.kd-rule-star {
	font-size: 15px;
	color: #BDAC9A;
	line-height: 1;
	user-select: none;
}

/* ── Cards grid ──────────────────────────────────────────── */
.kd-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
	max-width: 1600px;
	width: 100%;
	margin: 0 auto;
}

.kd-card {
    background: #FFFFFF;
    border: 5px solid #e0b871;
    padding: 8.5rem 2rem 8rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 18px;
    text-decoration: none;
    border-radius: 20px;
    position: relative;
    transition: background .4s ease;
    box-sizing: border-box;
    overflow: hidden;
}

.kd-card-bg {
	position: absolute;
	inset: 0;
	z-index: 0;
}

.kd-card-bg::before {
	content: '';
	position: absolute;
	inset: 12px;
	border-radius: 18px;
	border: 1px solid rgba(255, 255, 255, 0.52);
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.24), rgba(255, 255, 255, 0) 26%);
	z-index: 1;
	pointer-events: none;
}

.kd-card-bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .6s ease;
}

.kd-card-overlay {
	position: absolute;
	inset: 0;
	background: rgba(255, 255, 255, 0);
	/* Transparent by default per latest feedback */
	z-index: 1;
	transition: background .4s ease;
}

/* Hover effects */
.kd-card:hover .kd-card-bg img {
	transform: scale(1.1);
}

.kd-card:hover .kd-card-overlay {
	background: rgba(255, 255, 255, 0.85);
	/* White overlay on hover for readability */
}

/* Ensure text is above background and overlay */
.kd-card-num,
.kd-card-name,
.kd-card-tag {
	position: relative;
	z-index: 2;
	/* Subtle text shadows for readability in bright state */
	text-shadow: 0 0 15px rgba(255, 255, 255, 0.5), 0 0 5px rgba(255, 255, 255, 0.3);
}

/* Roman numeral */
.kd-card-num {
	font-family: 'Cormorant Garamond', serif;
	font-size: 12px;
	letter-spacing: .35em;
	color: #BDAC9A;
	text-transform: uppercase;
	opacity: 0;
}

/* Room name */
.kd-card-name {
	font-family: 'Playfair Display';
	font-size: 24px;
	/* Further enlarged room name per latest feedback */
	font-weight: 400;
	color: #483728;
	text-align: center;
	letter-spacing: .07em;
	line-height: 1.45;
	transition: color .3s;
	opacity: 0;
}

.kd-card:hover .kd-card-name {
	color: #483728;
	opacity: 1;
}

/* Explore tag */
.kd-card-tag {
	font-size: 12px;
	/* Further enlarged explore tag per latest feedback */
	letter-spacing: .24em;
	text-transform: uppercase;
	color: #BDAC9A;
	transition: color .3s;
	opacity: 0;
}

.kd-card:hover .kd-card-tag {
	color: #6B5D4C;
	opacity: 1;
}

.kd-card-num:hover {
	color: #483728;
	opacity: 1;
}

/* ── Back link ───────────────────────────────────────────── */
.kd-back {
	text-align: center;
	margin-top: 3rem;
}

.kd-back a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	/* Enlarged return link per latest feedback */
	letter-spacing: .24em;
	text-transform: uppercase;
	color: #BDAC9A;
	text-decoration: none;
	transition: color .3s;
	font-weight: 600;
}

.kd-back a:hover {
	color: #483728;
}

.kd-back-chevron {
	display: inline-block;
	width: 8px;
	/* Enlarged chevron */
	height: 8px;
	border-left: .5px solid currentColor;
	border-bottom: .5px solid currentColor;
	transform: rotate(45deg);
}

.kd-nav-section.is-enhanced .kd-head,
.kd-nav-section.is-enhanced .kd-rule,
.kd-nav-section.is-enhanced .kd-card,
.kd-nav-section.is-enhanced .kd-back {
	opacity: 0;
	will-change: opacity, transform, filter;
}

.kd-nav-section.is-enhanced .kd-head {
	transform: translate3d(0, 52px, 0) scale(0.97);
	filter: blur(10px);
	transition: opacity .85s cubic-bezier(0.22, 1, 0.36, 1), transform .85s cubic-bezier(0.22, 1, 0.36, 1), filter .85s cubic-bezier(0.22, 1, 0.36, 1);
}

.kd-nav-section.is-enhanced .kd-pre,
.kd-nav-section.is-enhanced .kd-title {
	opacity: 0;
	will-change: opacity, transform, letter-spacing;
}

.kd-nav-section.is-enhanced .kd-pre {
	transform: translate3d(0, 18px, 0);
	letter-spacing: .42em;
	transition: opacity .7s cubic-bezier(0.22, 1, 0.36, 1) .08s, transform .7s cubic-bezier(0.22, 1, 0.36, 1) .08s, letter-spacing .7s cubic-bezier(0.22, 1, 0.36, 1) .08s;
}

.kd-nav-section.is-enhanced .kd-title {
	transform: translate3d(0, 28px, 0);
	letter-spacing: .14em;
	transition: opacity .8s cubic-bezier(0.22, 1, 0.36, 1) .16s, transform .8s cubic-bezier(0.22, 1, 0.36, 1) .16s, letter-spacing .8s cubic-bezier(0.22, 1, 0.36, 1) .16s;
}

.kd-nav-section.is-enhanced .kd-rule {
	transform: translate3d(0, 34px, 0);
	transition: opacity .75s cubic-bezier(0.22, 1, 0.36, 1) .14s, transform .75s cubic-bezier(0.22, 1, 0.36, 1) .14s;
}

.kd-nav-section.is-enhanced .kd-rule-line {
	transform: scaleX(0);
	transition: transform .85s cubic-bezier(0.22, 1, 0.36, 1) .2s;
}

.kd-nav-section.is-enhanced .kd-rule-line:first-child {
	transform-origin: right center;
}

.kd-nav-section.is-enhanced .kd-rule-line:last-child {
	transform-origin: left center;
}

.kd-nav-section.is-enhanced .kd-rule-star {
	opacity: 0;
	transform: scale(0.65) rotate(90deg);
	transition: opacity .55s ease .26s, transform .7s cubic-bezier(0.22, 1, 0.36, 1) .26s;
}

.kd-nav-section.is-enhanced .kd-card {
	transform: translate3d(0, 58px, 0) scale(0.97);
	filter: blur(8px);
	transition: opacity .85s cubic-bezier(0.22, 1, 0.36, 1), transform .85s cubic-bezier(0.22, 1, 0.36, 1), filter .85s cubic-bezier(0.22, 1, 0.36, 1);
}

.kd-nav-section.is-enhanced .kd-card:nth-child(1) {
	transition-delay: .16s;
}

.kd-nav-section.is-enhanced .kd-card:nth-child(2) {
	transition-delay: .26s;
}

.kd-nav-section.is-enhanced .kd-card:nth-child(3) {
	transition-delay: .36s;
}

.kd-nav-section.is-enhanced .kd-back {
	transform: translate3d(0, 30px, 0);
	transition: opacity .7s cubic-bezier(0.22, 1, 0.36, 1) .42s, transform .7s cubic-bezier(0.22, 1, 0.36, 1) .42s;
}

.kd-nav-section.is-enhanced.is-visible .kd-head,
.kd-nav-section.is-enhanced.is-visible .kd-rule,
.kd-nav-section.is-enhanced.is-visible .kd-card,
.kd-nav-section.is-enhanced.is-visible .kd-back {
	opacity: 1;
	transform: none;
	filter: none;
}

.kd-nav-section.is-enhanced.is-visible .kd-pre,
.kd-nav-section.is-enhanced.is-visible .kd-title,
.kd-nav-section.is-enhanced.is-visible .kd-rule-star {
	opacity: 1;
	transform: none;
}

.kd-nav-section.is-enhanced.is-visible .kd-pre {
	letter-spacing: .35em;
}

.kd-nav-section.is-enhanced.is-visible .kd-title {
	letter-spacing: .1em;
}

.kd-nav-section.is-enhanced.is-visible .kd-rule-line {
	transform: scaleX(1);
}

@media (prefers-reduced-motion: reduce) {

	.kd-nav-section.is-enhanced .kd-head,
	.kd-nav-section.is-enhanced .kd-rule,
	.kd-nav-section.is-enhanced .kd-card,
	.kd-nav-section.is-enhanced .kd-back,
	.kd-nav-section.is-enhanced .kd-pre,
	.kd-nav-section.is-enhanced .kd-title,
	.kd-nav-section.is-enhanced .kd-rule-star {
		opacity: 1;
		transform: none;
		filter: none;
		transition: none;
	}

	.kd-nav-section.is-enhanced .kd-pre {
		letter-spacing: .35em;
	}

	.kd-nav-section.is-enhanced .kd-title {
		letter-spacing: .1em;
	}

	.kd-nav-section.is-enhanced .kd-rule-line {
		transform: scaleX(1);
		transition: none;
	}
}


/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 1600px) {

	.kd-grid {
		width: 90%;
	}
}

@media (max-width: 1350px) {

	.glass-elem3,
	.glass-elem2 {
		width: 512px;
	}
}

@media (max-width: 900px) {
	.kd-grid {
		grid-template-columns: repeat(2, 1fr);
		/* Responsive 2-column layout for tablets */
		gap: 20px;
	}

	.kd-title {
		font-size: 42px;
	}
}

@media (max-width: 600px) {
	.glass-elem3 {
		width: 200px;
		bottom: 22%;
		right: -10%;
	}

	.glass-elem2 {
		width: 200px;
		bottom: 0.9%;
	}

	.glass-elem {
		top: 1%;
		right: -15%;
		width: 200px;
	}

	.kd-nav-section {
		padding: 40px 15px !important;
	}

	.kd-back {
		margin-top: 2rem !important;
	}

	.kd-grid {
		grid-template-columns: 1fr;
		gap: 15px;
	}

	.kd-card {
		flex-direction: row;
		justify-content: flex-start;
		padding: 3.5rem 1.6rem;
		gap: 20px;
		height: 300px;
	}

	.kd-card-num {
		display: none;
	}

	.kd-card-name {
		text-align: left;
		font-size: 20px;
		/* Enlarged on mobile too */
	}

	.kd-title {
		font-size: 32px;
	}
}