.nch-portfolio-stack-page .site-header.sticky { position: static; top: auto; width: auto; }
.nch-portfolio-stack-page .header-spacer { display: none; }
.nch-portfolio-stack { --nch-stack-extra-offset: 0px; --nch-stack-mobile-height: calc(100svh - var(--nch-stack-extra-offset)); position: relative; width: 100vw; margin-right: calc(50% - 50vw); margin-left: calc(50% - 50vw); background: #fff; }
.nch-portfolio-stack__viewport { display: grid; gap: clamp(12px, 1.5vw, 24px); }
.nch-portfolio-stack__item { position: relative; min-height: calc(100vh - var(--nch-stack-extra-offset)); min-height: calc(100svh - var(--nch-stack-extra-offset)); overflow: hidden; background: #1d1d1d; color: #fff; isolation: isolate; }
.nch-portfolio-stack__item.has-no-image { background: linear-gradient(135deg, #3a3a3a, #111); }
.nch-portfolio-stack__media { position: absolute; z-index: 0; inset: 0; overflow: hidden; }
.nch-portfolio-stack__image { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.nch-portfolio-stack__shade { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0, 0, 0, .88) 0, rgba(0, 0, 0, .5) 170px, transparent 430px); pointer-events: none; }
.nch-portfolio-stack__link { position: absolute; z-index: 1; inset: 0; }
.nch-portfolio-stack__content { position: absolute; z-index: 2; right: 0; bottom: 0; left: 0; width: 100%; max-width: 1600px; margin: 0 auto; padding: 60px 20px 80px; pointer-events: none; }
.nch-portfolio-stack__content h2 { max-width: 900px; margin: 0; color: #fff; font-size: 25px; font-weight: 500; line-height: 1.2; letter-spacing: -.02em; text-transform: none; }
.nch-portfolio-stack__cta { display: inline-flex; align-items: center; gap: 14px; margin-top: 10px; color: #fff; font: 500 15px/1.2 "Raleway", sans-serif; letter-spacing: 1px; text-transform: uppercase; }
.nch-portfolio-stack__cta::after { content: "\2192"; display: inline-block; color: #fff; font: 300 29px/1 sans-serif; transition: transform .25s ease; }
.nch-portfolio-stack__item:focus-within .nch-portfolio-stack__cta::after, .nch-portfolio-stack__item:hover .nch-portfolio-stack__cta::after { transform: translateX(6px); }
.nch-portfolio-stack.is-enhanced { height: calc(100vh - var(--nch-stack-extra-offset)); height: calc(100svh - var(--nch-stack-extra-offset)); min-height: 420px; overflow: hidden; background: #1d1d1d; }
.nch-portfolio-stack.is-enhanced .nch-portfolio-stack__viewport { grid-auto-rows: 100%; height: 100%; overflow-x: hidden; overflow-y: auto; scroll-behavior: auto; scroll-snap-type: y proximity; scrollbar-width: none; }
.nch-portfolio-stack.is-enhanced.is-programmatic-scroll .nch-portfolio-stack__viewport { scroll-snap-type: none; }
.nch-portfolio-stack.is-enhanced .nch-portfolio-stack__viewport::-webkit-scrollbar { display: none; }
.nch-portfolio-stack.is-enhanced .nch-portfolio-stack__item { height: 100%; min-height: 0; scroll-snap-align: start; scroll-snap-stop: always; transform: scale(.965); transform-origin: center center; transition: transform .9s cubic-bezier(.2, .8, .2, 1); }
.nch-portfolio-stack.is-enhanced .nch-portfolio-stack__item.is-in-view { transform: scale(1); }
.nch-portfolio-stack__navigation { display: none; }
.nch-portfolio-stack.is-enhanced .nch-portfolio-stack__navigation { position: absolute; z-index: 4; bottom: 24px; left: max(20px, calc((100vw - 1600px) / 2 + 20px)); display: grid; max-width: 250px; max-height: min(46%, 360px); gap: 2px; overflow-x: hidden; overflow-y: auto; padding: 6px 18px 6px 0; scrollbar-width: thin; }
.nch-portfolio-stack__navigation-item { appearance: none; display: grid; grid-template-columns: 0 minmax(0, 1fr); width: 100%; min-height: 24px; align-items: center; padding: 2px 0; border: 0; background: transparent; box-shadow: none; color: rgba(255, 255, 255, .62); cursor: pointer; font: 500 11px/1.25 "Raleway", sans-serif; letter-spacing: .04em; text-align: left; text-transform: uppercase; transition: color .25s ease, grid-template-columns .25s ease; }
.nch-portfolio-stack__navigation-item::before { width: 0; height: 1px; background: #fff; content: ""; transition: width .25s ease; }
.nch-portfolio-stack__navigation-item:hover, .nch-portfolio-stack__navigation-item:focus, .nch-portfolio-stack__navigation-item.is-active { grid-template-columns: 30px minmax(0, 1fr); background: transparent; color: #fff; }
.nch-portfolio-stack__navigation-item:hover::before, .nch-portfolio-stack__navigation-item:focus::before, .nch-portfolio-stack__navigation-item.is-active::before { width: 24px; }
.nch-portfolio-stack__navigation-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nch-portfolio-stack.is-enhanced .nch-portfolio-stack__content { padding-left: clamp(300px, 26vw, 390px); }
.admin-bar .nch-portfolio-stack.is-enhanced { height: calc(100vh - 32px - var(--nch-stack-extra-offset)); height: calc(100svh - 32px - var(--nch-stack-extra-offset)); }
@media screen and (min-width:801px) {
	.nch-portfolio-stack__navigation-item { font-size: 16px; }
}
@media only screen and (max-width:800px) {
	.nch-portfolio-stack.is-enhanced { height: var(--nch-stack-mobile-height); }
	.nch-portfolio-stack__viewport { gap: 10px; }
	.nch-portfolio-stack__content, .nch-portfolio-stack.is-enhanced .nch-portfolio-stack__content { padding: 40px 20px 94px; }
	.nch-portfolio-stack__content h2 { font-size: 25px; }
	.nch-portfolio-stack.is-enhanced .nch-portfolio-stack__item { transform: scale(.97); }
	.nch-portfolio-stack.is-enhanced .nch-portfolio-stack__item.is-in-view { transform: scale(1); }
	.nch-portfolio-stack.is-enhanced .nch-portfolio-stack__navigation { right: 16px; bottom: calc(20px + env(safe-area-inset-bottom, 0px)); left: 16px; display: flex; max-width: none; max-height: none; gap: 7px; overflow-x: auto; overflow-y: hidden; padding: 4px 0 8px; }
	.nch-portfolio-stack__navigation-item { display: block; flex: 0 0 auto; width: auto; max-width: 220px; min-height: 36px; padding: 0 14px; border: 1px solid rgba(255, 255, 255, .55); border-radius: 999px; text-align: center; }
	.nch-portfolio-stack__navigation-item::before { display: none; }
	.nch-portfolio-stack__navigation-item:hover, .nch-portfolio-stack__navigation-item:focus, .nch-portfolio-stack__navigation-item.is-active { display: block; border-color: #fff; background: #fff; color: #222; }
	.nch-portfolio-stack__navigation-label { display: block; overflow: hidden; line-height: 34px; text-overflow: ellipsis; white-space: nowrap; }
}
@media only screen and (max-width:782px) {
	.admin-bar .nch-portfolio-stack.is-enhanced { height: calc(100vh - 46px - var(--nch-stack-extra-offset)); height: calc(100svh - 46px - var(--nch-stack-extra-offset)); }
}
@media (prefers-reduced-motion:reduce) {
	.nch-portfolio-stack.is-enhanced .nch-portfolio-stack__item { transform: none; transition: none; }
}
