.nicolau-home-intro {
	--nicolau-home-green-opacity: 0;
	--nicolau-home-hero-content-opacity: 1;

	position: relative;
	min-height: 200vh;
	min-height: 200svh;
	overflow: clip;
	background: var(--nicolau-color-cream, #f6f3e4);
}

.nicolau-home-intro,
.nicolau-home-intro * {
	box-sizing: border-box;
}

.nicolau-home-intro__sticky {
	position: sticky;
	top: 0;
	height: 100vh;
	height: 100svh;
	overflow: hidden;
}

.nicolau-home-intro__hero {
	position: relative;
	height: 100%;
}

.nicolau-home-intro .nicolau-home-hero {
	height: 100%;
	min-height: 100%;
}

.nicolau-home-hero {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 100vh;
	min-height: 100svh;
	overflow: clip;
	background: var(--nicolau-color-cream, #f6f3e4);
	color: #ffffff;
}

.nicolau-home-hero,
.nicolau-home-hero * {
	box-sizing: border-box;
}

@keyframes nicolau-home-hero-direct-entry-fade {
	0%,
	6% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

html.nicolau-home-hero-direct-entry .nicolau-home-hero {
	animation: nicolau-home-hero-direct-entry-fade 1400ms cubic-bezier(0.33, 0, 0.2, 1) both;
}

.nicolau-home-hero__media,
.nicolau-home-hero__overlay {
	position: absolute;
	inset: 0;
}

.nicolau-home-hero__media {
	z-index: 1;
}

.nicolau-home-hero__video {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
}

.nicolau-home-hero__video {
	object-fit: cover;
	object-position: center center;
}

.nicolau-home-hero__overlay {
	z-index: 2;
	background:
		linear-gradient(
			90deg,
			rgba(0, 0, 0, 0.54) 0%,
			rgba(0, 0, 0, 0.34) 28%,
			rgba(0, 0, 0, 0.12) 62%,
			rgba(0, 0, 0, 0.06) 100%
		),
		linear-gradient(
			180deg,
			rgba(0, 0, 0, 0.1) 0%,
			rgba(0, 0, 0, 0.18) 38%,
			rgba(0, 0, 0, 0.42) 100%
		);
}

.nicolau-home-hero__content {
	position: relative;
	z-index: 3;
	display: grid;
	gap: 10px;
	width: 100%;
	max-width: 760px;
	margin: 0;
	padding: clamp(104px, 15vh, 144px) var(--nicolau-site-edge-padding) 34px;
	opacity: var(--nicolau-home-hero-content-opacity);
	will-change: opacity;
}

.nicolau-home-hero__title {
	display: flex;
	flex-direction: column;
	max-width: min(100%, 620px);
	margin: 0;
}

.nicolau-home-hero__title-line {
	display: block;
}

.nicolau-home-hero__title .nicolau-split-title__line--script {
	font-family: var(--nicolau-font-script, "Instrument Serif", serif);
	font-style: italic;
	font-weight: 400;
	line-height: 0.9;
	letter-spacing: -0.045em;
	color: var(--nicolau-color-cream, #f6f3e4);
}

.nicolau-home-hero__title .nicolau-split-title__line--strong,
.nicolau-home-hero__title-line--strong {
	margin-top: -0.04em;
	font-family: var(--nicolau-font-heading, sans-serif);
	font-weight: 700;
	line-height: 0.86;
	letter-spacing: -0.045em;
	text-transform: uppercase;
	color: #ffffff;
}

.nicolau-home-hero__text {
	max-width: min(100%, 640px);
	margin: 4px 0 0;
	font-family: var(--nicolau-font-sans, sans-serif);
	font-size: clamp(20px, 1.5vw, 25px);
	font-weight: 500;
	line-height: 1.18;
	letter-spacing: -0.04em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.94);
}

.nicolau-home-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	padding-top: 14px;
}

.nicolau-home-hero__button {
	min-width: 260px;
	min-height: 52px;
	padding: 0 34px;
	border: 1px solid transparent;
	transition:
		color 180ms ease,
		background-color 180ms ease,
		border-color 180ms ease,
		transform 180ms ease;
}

.nicolau-home-hero__button:hover,
.nicolau-home-hero__button:focus-visible {
	transform: translateY(-1px);
}

.nicolau-home-hero__button--primary {
	color: #ffffff;
	background: var(--nicolau-color-green-dark, #022e22);
	border-color: var(--nicolau-color-green-dark, #022e22);
}

.nicolau-home-hero__button--primary:hover,
.nicolau-home-hero__button--primary:focus-visible {
	color: var(--nicolau-color-green-dark, #022e22);
	background: var(--nicolau-color-cream, #f6f3e4);
	border-color: var(--nicolau-color-cream, #f6f3e4);
}

.nicolau-home-hero__button--secondary {
	color: #ffffff;
	background: transparent;
	border-color: rgba(255, 255, 255, 0.86);
}

.nicolau-home-hero__button--secondary:hover,
.nicolau-home-hero__button--secondary:focus-visible {
	color: var(--nicolau-color-green-dark, #022e22);
	background: #ffffff;
	border-color: #ffffff;
}

.nicolau-home-green {
	position: absolute;
	inset: 0;
	z-index: 4;
	overflow: clip;
	pointer-events: none;
}

.nicolau-home-green,
.nicolau-home-green * {
	box-sizing: border-box;
}

.nicolau-home-green__overlay {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: var(--nicolau-home-green-opacity);
	will-change: opacity;
	pointer-events: none;
}

.nicolau-home-green__artwork {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
}

.nicolau-home-green__artwork--mobile {
	display: none;
}

.nicolau-home-reservation-dock {
	display: none;
}

/* ----------------------------------------------------------
   Homepage About
---------------------------------------------------------- */

.nicolau-home-about {
	--nicolau-home-color-green-light: var(--nicolau-color-green-light, #e0ede1);
	--nicolau-home-about-gallery-scale: 0.7;
	--nicolau-home-about-media-y: 60px;
	--nicolau-home-about-media-overscan: 60px;
	--nicolau-home-about-col-1-y: 60px;
	--nicolau-home-about-col-2-y: 120px;
	--nicolau-home-about-bg-solid: var(--nicolau-color-green-soft, #70a990);
	--nicolau-home-about-bg: linear-gradient(
		180deg,
		var(--nicolau-home-about-bg-solid) 0%,
		var(--nicolau-home-about-bg-solid) 34%,
		var(--nicolau-color-cream, #f6f3e4) 100%
	);
	--nicolau-home-about-ink: #ffffff;
	--nicolau-home-about-ink-soft: rgba(255, 255, 255, 0.9);
	--nicolau-home-about-radius: 8px;
	--nicolau-home-about-gap: clamp(8px, 0.8vw, 12px);
	--nicolau-home-about-gallery-width: min(100%, 1030px);
	--nicolau-home-about-gallery-height: clamp(720px, 92vw, 1060px);

	position: relative;
	overflow: clip;
	color: var(--nicolau-home-about-ink);
	background: var(--nicolau-home-about-bg);
}

.nicolau-home-about,
.nicolau-home-about * {
	box-sizing: border-box;
}

.nicolau-home-about__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-block: clamp(60px, 5vw, 80px);
}

.nicolau-home-about__intro {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: min(100%, 820px);
	margin: 0 auto;
	text-align: center;
}

.nicolau-home-about__eyebrow {
	margin: 0 0 10px;
	color: var(--nicolau-home-about-ink);
}

.nicolau-home-about__title {
	display: flex;
	flex-wrap: nowrap;
	align-items: baseline;
	justify-content: center;
	gap: 0.28em;
	width: 100%;
	margin: 0;
	color: var(--nicolau-home-about-ink);
	text-align: center;
}

.nicolau-home-about__title-solid,
.nicolau-home-about__title-outline {
	display: inline-block;
	font-family: var(--nicolau-font-heading, sans-serif);
	font-weight: 700;
	line-height: 0.9;
	letter-spacing: -0.045em;
	text-transform: uppercase;
	white-space: nowrap;
}

.nicolau-home-about__title-solid {
	color: var(--nicolau-home-about-ink);
}

.nicolau-home-about__title-outline {
	color: var(--nicolau-home-about-bg-solid);
	-webkit-text-fill-color: var(--nicolau-home-about-bg-solid);
	-webkit-text-stroke: 2px var(--nicolau-home-about-ink);
	text-shadow: none;
	paint-order: stroke fill;
}

.nicolau-home-about__text {
	width: min(100%, 740px);
	margin: 14px auto 0;
	font-family: var(--nicolau-font-sans, sans-serif);
	font-size: clamp(15px, 1.25vw, 18px);
	font-weight: 500;
	line-height: 1.35;
	color: var(--nicolau-home-about-ink-soft);
	text-align: center;
}

.nicolau-home-about__text p {
	margin: 0;
}

.nicolau-home-about__text p + p {
	margin-top: 1em;
}

.nicolau-home-about__gallery-wrap {
	width: 100%;
	margin: 0 auto;
	transform: scale(var(--nicolau-home-about-gallery-scale));
	transform-origin: center top;
	will-change: transform;
}

.nicolau-home-about__gallery {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-template-rows: repeat(3, minmax(0, 1fr));
	gap: var(--nicolau-home-about-gap);
	align-items: stretch;
	width: 100%;
	height: var(--nicolau-home-about-gallery-height);
	margin: 0 auto;
	min-height: 0;
	grid-auto-flow: dense;
	will-change: transform;
	transform: translateY(var(--nicolau-home-about-col-2-y));
}

.nicolau-home-about__gallery--count-9 {
	grid-template-rows: repeat(4, minmax(0, 1fr));
}

.nicolau-home-about__item {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 100%;
	min-height: 0;
	margin: 0;
	background: rgba(var(--nicolau-color-green-dark-rgb, 2, 46, 34), 0.1);
	border-radius: var(--nicolau-home-about-radius);
}

.nicolau-home-about__image,
.nicolau-home-about__video {
	position: absolute;
	top: calc(-1 * var(--nicolau-home-about-media-overscan));
	left: 0;
	display: block;
	width: 100%;
	height: calc(100% + var(--nicolau-home-about-media-overscan));
	object-fit: cover;
	object-position: center center;
	border-radius: inherit;
	transform: translate3d(0, var(--nicolau-home-about-media-y), 0);
	will-change: transform;
}


.nicolau-home-about__video {
	pointer-events: none;
	-webkit-user-select: none;
	user-select: none;
}

.nicolau-home-about__gallery--count-6 .nicolau-home-about__item--slot-1,
.nicolau-home-about__gallery--count-7 .nicolau-home-about__item--slot-1,
.nicolau-home-about__gallery--count-8 .nicolau-home-about__item--slot-1,
.nicolau-home-about__gallery--count-9 .nicolau-home-about__item--slot-1 {
	grid-column: 2;
	grid-row: 1 / span 2;
}

.nicolau-home-about__gallery--count-6 .nicolau-home-about__item--slot-2,
.nicolau-home-about__gallery--count-7 .nicolau-home-about__item--slot-2 {
	grid-column: 1;
	grid-row: 2 / span 2;
}

.nicolau-home-about__gallery--count-8 .nicolau-home-about__item--slot-2 {
	grid-column: 1;
	grid-row: 3;
}

.nicolau-home-about__gallery--count-6 .nicolau-home-about__item--slot-3,
.nicolau-home-about__gallery--count-7 .nicolau-home-about__item--slot-3,
.nicolau-home-about__gallery--count-8 .nicolau-home-about__item--slot-3,
.nicolau-home-about__gallery--count-9 .nicolau-home-about__item--slot-3 {
	grid-column: 1;
	grid-row: 1;
}

.nicolau-home-about__gallery--count-6 .nicolau-home-about__item--slot-4,
.nicolau-home-about__gallery--count-7 .nicolau-home-about__item--slot-4,
.nicolau-home-about__gallery--count-8 .nicolau-home-about__item--slot-5,
.nicolau-home-about__gallery--count-9 .nicolau-home-about__item--slot-4 {
	grid-column: 2;
	grid-row: 3;
}

.nicolau-home-about__gallery--count-6 .nicolau-home-about__item--slot-5,
.nicolau-home-about__gallery--count-7 .nicolau-home-about__item--slot-5,
.nicolau-home-about__gallery--count-8 .nicolau-home-about__item--slot-6,
.nicolau-home-about__gallery--count-9 .nicolau-home-about__item--slot-7 {
	grid-column: 3;
	grid-row: 1;
}

.nicolau-home-about__gallery--count-6 .nicolau-home-about__item--slot-6 {
	grid-column: 3;
	grid-row: 2 / span 2;
}

.nicolau-home-about__gallery--count-7 .nicolau-home-about__item--slot-6,
.nicolau-home-about__gallery--count-8 .nicolau-home-about__item--slot-7,
.nicolau-home-about__gallery--count-9 .nicolau-home-about__item--slot-8 {
	grid-column: 3;
	grid-row: 2;
}

.nicolau-home-about__gallery--count-7 .nicolau-home-about__item--slot-7,
.nicolau-home-about__gallery--count-8 .nicolau-home-about__item--slot-8 {
	grid-column: 3;
	grid-row: 3;
}

.nicolau-home-about__gallery--count-8 .nicolau-home-about__item--slot-4 {
	grid-column: 1;
	grid-row: 2;
}

.nicolau-home-about__gallery--count-9 .nicolau-home-about__item--slot-5 {
	grid-column: 1;
	grid-row: 4;
}

.nicolau-home-about__gallery--count-9 .nicolau-home-about__item--slot-2 {
	grid-column: 2;
	grid-row: 4;
}

.nicolau-home-about__gallery--count-9 .nicolau-home-about__item--slot-6 {
	grid-column: 1;
	grid-row: 2 / span 2;
}

.nicolau-home-about__gallery--count-9 .nicolau-home-about__item--slot-9 {
	grid-column: 3;
	grid-row: 3 / span 2;
}

/* Underfilled fallback */
.nicolau-home-about__gallery--is-underfilled {
	height: auto;
	min-height: clamp(420px, 58vw, 760px);
}

.nicolau-home-about__gallery--is-underfilled .nicolau-home-about__item {
	min-height: clamp(220px, 24vw, 320px);
}

/* ----------------------------------------------------------
   Homepage Catering
---------------------------------------------------------- */

.nicolau-home-catering {
	--nicolau-home-color-green-light: var(--nicolau-color-green-light, #e0ede1);
	--nicolau-home-catering-gallery-scale: 0.7;
	--nicolau-home-catering-media-y: 60px;
	--nicolau-home-catering-media-overscan: 60px;
	--nicolau-home-catering-bg: linear-gradient(
		180deg,
		var(--nicolau-color-cream, #f6f3e4) 0%,
		var(--nicolau-color-cream, #f6f3e4) 10%,
		var(--nicolau-home-color-green-light) 100%
	);
	--nicolau-home-catering-ink: var(--nicolau-color-green-dark, #022e22);
	--nicolau-home-catering-ink-soft: rgba(var(--nicolau-color-green-dark-rgb, 2, 46, 34), 0.78);
	--nicolau-home-catering-radius: 18px;
	--nicolau-home-catering-gap: clamp(10px, 1vw, 14px);

	position: relative;
	overflow: clip;
	color: var(--nicolau-home-catering-ink);
	background: var(--nicolau-home-catering-bg);
}

.nicolau-home-catering,
.nicolau-home-catering * {
	box-sizing: border-box;
}

.nicolau-home-catering__inner {
	padding-block: clamp(60px, 5vw, 80px);
}

.nicolau-home-catering__intro {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: min(100%, 820px);
	margin: 0 auto;
	text-align: center;
}

.nicolau-home-catering__eyebrow {
	margin: 0 0 12px;
	color: var(--nicolau-home-catering-ink);
}

.nicolau-home-catering__title {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	margin: 0;
}

.nicolau-home-catering__title-line {
	display: block;
}

.nicolau-home-catering__title-line--main {
	font-family: var(--nicolau-font-heading, sans-serif);
	font-weight: 700;
	line-height: 0.92;
	letter-spacing: -0.05em;
	text-transform: uppercase;
	color: var(--nicolau-color-green-soft);
}

.nicolau-home-catering__title-line--script {
	margin-top: -0.08em;
	font-family: var(--nicolau-font-script, "Instrument Serif", serif);
	font-style: italic;
	font-weight: 400;
	line-height: 0.92;
	letter-spacing: -0.05em;
	color: var(--nicolau-home-catering-ink);
}

.nicolau-home-catering__text {
	width: min(100%, 690px);
	margin: 18px auto 0;
	font-family: var(--nicolau-font-sans, sans-serif);
	font-size: clamp(15px, 1.25vw, 18px);
	font-weight: 500;
	line-height: 1.42;
	color: var(--nicolau-home-catering-ink-soft);
	text-align: center;
}

.nicolau-home-catering__text p {
	margin: 0;
}

.nicolau-home-catering__text p + p {
	margin-top: 1em;
}

.nicolau-home-catering__button {
	min-width: 232px;
	min-height: 52px;
	margin-top: 26px;
	padding: 0 34px;
	color: #ffffff;
	background: var(--nicolau-color-green-dark, #022e22);
	border: 1px solid var(--nicolau-color-green-dark, #022e22);
	transition:
		transform 180ms ease,
		background-color 180ms ease,
		color 180ms ease,
		border-color 180ms ease;
}

.nicolau-home-catering__button:hover,
.nicolau-home-catering__button:focus-visible {
	color: var(--nicolau-color-green-dark, #022e22);
	background: transparent;
	transform: translateY(-1px);
}

.nicolau-home-catering__mosaic-wrap {
	width: 100%;
	margin: clamp(42px, 6vw, 66px) auto 0;
	transform: scale(var(--nicolau-home-catering-gallery-scale));
	transform-origin: center top;
	will-change: transform;
}

.nicolau-home-catering__mosaic {
	display: grid;
	gap: var(--nicolau-home-catering-gap);
	width: 100%;
	align-items: stretch;
}

.nicolau-home-catering__item,
.nicolau-home-catering__tile {
	position: relative;
	overflow: hidden;
	min-width: 0;
	border-radius: var(--nicolau-home-catering-radius);
}

.nicolau-home-catering__item {
	background: rgba(255, 255, 255, 0.35);
}

.nicolau-home-catering__mosaic--count-3 {
	display: grid;
	grid-template-columns: minmax(0, 1.62fr) minmax(0, 0.78fr);
	grid-template-rows: repeat(3, minmax(0, 1fr));
	gap: var(--nicolau-home-catering-gap);
	align-items: stretch;
}

.nicolau-home-catering__mosaic--count-3 .nicolau-home-catering__item--slot-1 {
	grid-column: 1;
	grid-row: 1 / span 3;
	min-height: clamp(520px, 54vw, 680px);
}

.nicolau-home-catering__mosaic--count-3 .nicolau-home-catering__item--slot-2 {
	grid-column: 2;
	grid-row: 1;
	min-height: 0;
}

.nicolau-home-catering__mosaic--count-3 .nicolau-home-catering__item--slot-3 {
	grid-column: 2;
	grid-row: 2;
	min-height: 0;
}

.nicolau-home-catering__mosaic--count-4,
.nicolau-home-catering__mosaic--count-5 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-template-rows: repeat(3, minmax(0, 1fr));
}

.nicolau-home-catering__mosaic--count-4 .nicolau-home-catering__item--slot-1,
.nicolau-home-catering__mosaic--count-5 .nicolau-home-catering__item--slot-1 {
	grid-column: 1 / span 2;
	grid-row: 1 / span 2;
	min-height: clamp(430px, 48vw, 590px);
}

.nicolau-home-catering__mosaic--count-4 .nicolau-home-catering__item--slot-2,
.nicolau-home-catering__mosaic--count-4 .nicolau-home-catering__item--slot-3,
.nicolau-home-catering__mosaic--count-5 .nicolau-home-catering__item--slot-2,
.nicolau-home-catering__mosaic--count-5 .nicolau-home-catering__item--slot-3 {
	min-height: clamp(206px, 23vw, 288px);
}

.nicolau-home-catering__mosaic--count-4 .nicolau-home-catering__item--slot-2,
.nicolau-home-catering__mosaic--count-5 .nicolau-home-catering__item--slot-2 {
	grid-column: 3;
	grid-row: 1;
}

.nicolau-home-catering__mosaic--count-4 .nicolau-home-catering__item--slot-3,
.nicolau-home-catering__mosaic--count-5 .nicolau-home-catering__item--slot-3 {
	grid-column: 3;
	grid-row: 2;
}

.nicolau-home-catering__mosaic--count-4 .nicolau-home-catering__item--slot-4 {
	grid-column: 1 / span 2;
	grid-row: 3;
}

.nicolau-home-catering__mosaic--count-4 .nicolau-home-catering__item--slot-4,
.nicolau-home-catering__mosaic--count-5 .nicolau-home-catering__item--slot-4,
.nicolau-home-catering__mosaic--count-5 .nicolau-home-catering__item--slot-5 {
	min-height: clamp(220px, 24vw, 300px);
}

.nicolau-home-catering__mosaic--count-5 .nicolau-home-catering__item--slot-4 {
	grid-column: 1;
	grid-row: 3;
}

.nicolau-home-catering__mosaic--count-5 .nicolau-home-catering__item--slot-5 {
	grid-column: 2;
	grid-row: 3;
}

.nicolau-home-catering__tile {
	display: flex;
	align-items: flex-end;
	justify-content: flex-start;
	padding: clamp(20px, 2.5vw, 28px);
	text-decoration: none;
	background: var(--nicolau-color-green-dark, #022e22);
	transition:
		transform 180ms ease,
		background-color 180ms ease;
}

.nicolau-home-catering__mosaic--count-3 .nicolau-home-catering__tile {
	grid-column: 2;
	grid-row: 3;
	min-height: 0;
}

.nicolau-home-catering__mosaic--count-4 .nicolau-home-catering__tile,
.nicolau-home-catering__mosaic--count-5 .nicolau-home-catering__tile {
	grid-column: 3;
	grid-row: 3;
	min-height: clamp(220px, 24vw, 300px);
}

.nicolau-home-catering__tile:hover,
.nicolau-home-catering__tile:focus-visible {
	transform: translateY(-1px);
	background: var(--nicolau-color-green-dark, #022e22);
}

.nicolau-home-catering__tile-label {
	font-family: var(--nicolau-font-heading, sans-serif);
	font-size: clamp(24px, 2.2vw, 34px);
	font-weight: 700;
	line-height: 0.95;
	letter-spacing: -0.04em;
	text-transform: lowercase;
	color: var(--nicolau-color-cream, #f6f3e4);
}

.nicolau-home-catering__image,
.nicolau-home-catering__video {
	position: absolute;
	top: calc(-1 * var(--nicolau-home-catering-media-overscan));
	left: 0;
	display: block;
	width: 100%;
	height: calc(100% + var(--nicolau-home-catering-media-overscan));
	object-fit: cover;
	object-position: center center;
	border-radius: inherit;
	transform: translate3d(0, var(--nicolau-home-catering-media-y), 0);
	will-change: transform;
}

.nicolau-home-catering__video {
	pointer-events: none;
	-webkit-user-select: none;
	user-select: none;
}

/* ----------------------------------------------------------
   Homepage Shop / Voucher
---------------------------------------------------------- */

.nicolau-home-shop-voucher {
	--nicolau-home-color-green-light: var(--nicolau-color-green-light, #e0ede1);
	--nicolau-home-shop-voucher-progress: 0;
	--nicolau-home-shop-voucher-bg-solid: var(--nicolau-home-color-green-light);
	--nicolau-home-shop-voucher-bg: linear-gradient(
		180deg,
		var(--nicolau-home-color-green-light) 0%,
		var(--nicolau-color-green-soft, #70a990) 58%,
		var(--nicolau-color-green-dark, #022e22) 100%
	);
	--nicolau-home-shop-voucher-ink: var(--nicolau-color-green-dark, #022e22);
	--nicolau-home-shop-voucher-ink-soft: rgba(var(--nicolau-color-green-dark-rgb, 2, 46, 34), 0.76);
	--nicolau-home-shop-voucher-card-bg: rgba(255, 255, 255, 0.6);
	--nicolau-home-shop-voucher-card-bg-strong: #f8f4e7;
	--nicolau-home-shop-voucher-radius: clamp(14px, 1.05vw, 20px);
	--nicolau-home-shop-voucher-gap: clamp(10px, 0.75vw, 14px);
	--nicolau-home-shop-voucher-stage-pad-x: clamp(24px, 1.65vw, 32px);
	--nicolau-home-shop-voucher-stage-pad-y: clamp(18px, 2.3vh, 40px);
	--nicolau-home-shop-voucher-visible-progress: calc(
		0.1 + (var(--nicolau-home-shop-voucher-mobile-scroll-progress, 0) * 0.9)
	);

	/* Desktop editorial motion */
	--nicolau-home-shop-voucher-stage-x: calc((1 - var(--nicolau-home-shop-voucher-progress)) * clamp(260px, 30vw, 560px));
	--nicolau-home-shop-voucher-stage-scale: calc(0.94 + (var(--nicolau-home-shop-voucher-progress) * 0.06));
	--nicolau-home-shop-voucher-stage-width: clamp(1080px, 73vw, 1500px);
	--nicolau-home-shop-voucher-stage-height: clamp(620px, 76svh, 820px);

	position: relative;
	overflow: clip;
	color: var(--nicolau-home-shop-voucher-ink);
	background: var(--nicolau-home-shop-voucher-bg);
}

.nicolau-home-shop-voucher,
.nicolau-home-shop-voucher * {
	box-sizing: border-box;
}

.nicolau-home-shop-voucher__scroll {
	min-height: clamp(1700px, 255vh, 2280px);
}

.nicolau-home-shop-voucher__sticky {
	position: sticky;
	top: 0;
	display: flex;
	align-items: center;
	min-height: 100vh;
	min-height: 100svh;
	overflow: hidden;
}

.nicolau-home-shop-voucher__inner {
	display: grid;
	grid-template-columns: minmax(280px, 0.36fr) minmax(0, 1fr);
	align-items: center;
	gap: clamp(28px, 4vw, 70px);
	width: 100%;
	margin: 0 auto;
	padding:
		clamp(78px, 8vw, 118px)
		clamp(18px, 4vw, 64px)
		clamp(82px, 9vw, 122px);
}

.nicolau-home-shop-voucher__content {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: min(100%, 390px);
}

.nicolau-home-shop-voucher__eyebrow {
	margin: 0 0 12px;
	color: var(--nicolau-home-shop-voucher-ink);
}

.nicolau-home-shop-voucher__title {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
	margin: 0;
}

.nicolau-home-shop-voucher__title-line {
	display: block;
}

.nicolau-home-shop-voucher__title-line--main {
	font-family: var(--nicolau-font-heading, sans-serif);
	font-weight: 700;
	line-height: 0.9;
	letter-spacing: -0.055em;
	text-transform: uppercase;
	color: var(--nicolau-color-green-soft, #70a990);
}

.nicolau-home-shop-voucher__title-line--script {
	margin-top: -0.08em;
	font-family: var(--nicolau-font-script, "Instrument Serif", serif);
	font-style: italic;
	font-weight: 400;
	line-height: 0.92;
	letter-spacing: -0.045em;
	color: var(--nicolau-home-shop-voucher-ink);
}

.nicolau-home-shop-voucher__text {
	width: min(100%, 360px);
	margin-top: 18px;
	font-family: var(--nicolau-font-sans, sans-serif);
	font-size: clamp(15px, 1.15vw, 18px);
	font-weight: 500;
	line-height: 1.45;
	color: var(--nicolau-home-shop-voucher-ink-soft);
}

.nicolau-home-shop-voucher__text p {
	margin: 0;
}

.nicolau-home-shop-voucher__text p + p {
	margin-top: 1em;
}

.nicolau-home-shop-voucher__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 28px;
}

.nicolau-home-shop-voucher__button {
	min-width: 196px;
	min-height: 52px;
	padding: 0 34px;
	color: #ffffff;
	background: var(--nicolau-color-green-dark, #022e22);
	border: 1px solid var(--nicolau-color-green-dark, #022e22);
	transition:
		color 180ms ease,
		background-color 180ms ease,
		border-color 180ms ease,
		transform 180ms ease;
	border-radius: 999px;
}

.nicolau-home-shop-voucher__button:hover,
.nicolau-home-shop-voucher__button:focus-visible {
	color: var(--nicolau-color-green-dark, #022e22);
	background: transparent;
	border-color: var(--nicolau-color-green-dark, #022e22);
	transform: translateY(-1px);
}

.nicolau-home-shop-voucher__button--secondary {
	color: var(--nicolau-color-green-dark, #022e22);
	background: transparent;
	border-color: var(--nicolau-color-green-dark, #022e22);
}

.nicolau-home-shop-voucher__button--secondary:hover,
.nicolau-home-shop-voucher__button--secondary:focus-visible {
	color: #ffffff;
	background: var(--nicolau-color-green-dark, #022e22);
	border-color: var(--nicolau-color-green-dark, #022e22);
}

.nicolau-home-shop-voucher__track {
	position: relative;
	min-width: 0;
	width: 100%;
	overflow: visible;
}

.nicolau-home-shop-voucher__stage {
	display: grid;
	grid-template-columns: minmax(280px, 0.72fr) minmax(420px, 1.12fr) minmax(300px, 0.8fr);
	align-items: stretch;
	gap: var(--nicolau-home-shop-voucher-gap);
	width: var(--nicolau-home-shop-voucher-stage-width);
	height: var(--nicolau-home-shop-voucher-stage-height);
	margin-left: auto;
	margin-right: max(-26vw, calc((100vw - 1440px) / -2));
	transform:
		translate3d(var(--nicolau-home-shop-voucher-stage-x), 0, 0)
		scale(var(--nicolau-home-shop-voucher-stage-scale));
	transform-origin: center right;
	will-change: transform;
}

.nicolau-home-shop-voucher__media-card,
.nicolau-home-shop-voucher__shop-tile,
.nicolau-home-shop-voucher__gift-card {
	position: relative;
	overflow: hidden;
	min-width: 0;
	border-radius: var(--nicolau-home-shop-voucher-radius);
}

.nicolau-home-shop-voucher__media-card {
	background: var(--nicolau-home-shop-voucher-card-bg);
}

.nicolau-home-shop-voucher__shop-tile {
	display: flex;
	align-items: flex-end;
	justify-content: flex-start;
	padding: clamp(20px, 2.2vw, 30px);
	min-height: 0;
	text-decoration: none;
	background: var(--nicolau-color-green-dark, #022e22);
	transition:
		transform 180ms ease,
		background-color 180ms ease;
}

.nicolau-home-shop-voucher__shop-tile:hover,
.nicolau-home-shop-voucher__shop-tile:focus-visible {
	transform: translateY(-1px);
	background: var(--nicolau-color-green-dark, #022e22);
}

.nicolau-home-shop-voucher__shop-tile-label {
	font-family: var(--nicolau-font-heading, sans-serif);
	font-size: clamp(24px, 2.1vw, 36px);
	font-weight: 700;
	line-height: 0.95;
	letter-spacing: -0.04em;
	text-transform: lowercase;
	color: var(--nicolau-color-cream, #f6f3e4);
}

.nicolau-home-shop-voucher__gift-card {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: clamp(24px, 2.4vw, 34px);
	min-height: 0;
	text-decoration: none;
	background: var(--nicolau-home-shop-voucher-card-bg-strong);
	border: 1px solid rgba(var(--nicolau-color-green-dark-rgb, 2, 46, 34), 0.08);
	transition:
		transform 180ms ease,
		box-shadow 180ms ease;
}

.nicolau-home-shop-voucher__gift-card:hover,
.nicolau-home-shop-voucher__gift-card:focus-visible {
	transform: translateY(-1px);
	box-shadow: 0 16px 36px rgba(var(--nicolau-color-green-dark-rgb, 2, 46, 34), 0.12);
}

.nicolau-home-shop-voucher__gift-card-title {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin-bottom: 18px;
}

.nicolau-home-shop-voucher__gift-card-label-main {
	font-family: var(--nicolau-font-heading, sans-serif);
	font-size: clamp(42px, 3.8vw, 60px);
	font-weight: 700;
	line-height: 0.9;
	letter-spacing: -0.055em;
	text-transform: uppercase;
	color: var(--nicolau-home-shop-voucher-ink);
}

.nicolau-home-shop-voucher__gift-card-label-script {
	margin-top: -0.12em;
	font-family: var(--nicolau-font-script, "Instrument Serif", serif);
	font-size: clamp(30px, 3vw, 46px);
	font-style: italic;
	font-weight: 400;
	line-height: 0.92;
	letter-spacing: -0.04em;
	color: var(--nicolau-color-green-soft, #70a990);
}

.nicolau-home-shop-voucher__gift-card-price-prefix,
.nicolau-home-shop-voucher__gift-card-price,
.nicolau-home-shop-voucher__gift-card-note {
	margin: 0;
}

.nicolau-home-shop-voucher__gift-card-price-prefix {
	font-family: var(--nicolau-font-sans, sans-serif);
	font-size: 11px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgba(var(--nicolau-color-green-dark-rgb, 2, 46, 34), 0.68);
}

.nicolau-home-shop-voucher__gift-card-price {
	margin-top: 10px;
	font-family: var(--nicolau-font-heading, sans-serif);
	font-size: clamp(40px, 4vw, 64px);
	font-weight: 700;
	line-height: 0.9;
	letter-spacing: -0.055em;
	color: var(--nicolau-home-shop-voucher-ink);
}

.nicolau-home-shop-voucher__gift-card-note {
	margin-top: 18px;
	font-family: var(--nicolau-font-sans, sans-serif);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(var(--nicolau-color-green-dark-rgb, 2, 46, 34), 0.8);
}

.nicolau-home-shop-voucher__image,
.nicolau-home-shop-voucher__video {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	border-radius: inherit;
}

.nicolau-home-shop-voucher__video {
	pointer-events: none;
	-webkit-user-select: none;
	user-select: none;
}

@media (max-width: 1024px) {
	.nicolau-home-hero__content {
		max-width: 680px;
		padding:
			clamp(112px, 15vh, 160px)
			clamp(24px, 4vw, 42px)
			clamp(44px, 7vw, 72px);
	}

	.nicolau-home-hero__text {
		font-size: clamp(18px, 2vw, 22px);
	}

	.nicolau-home-about {
		--nicolau-home-about-gallery-width: min(100%, 900px);
		--nicolau-home-about-gallery-height: clamp(650px, 95vw, 940px);
	}

	.nicolau-home-about__gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		transform: translateY(var(--nicolau-home-about-col-1-y));
	}

	.nicolau-home-about__gallery--count-6 {
		grid-template-rows: repeat(6, minmax(0, 1fr));
	}

	.nicolau-home-about__gallery--count-7 {
		grid-template-rows: repeat(6, minmax(0, 1fr));
	}

	.nicolau-home-about__gallery--count-8 {
		grid-template-rows: repeat(7, minmax(0, 1fr));
	}

	.nicolau-home-about__gallery--count-9 {
		grid-template-rows: repeat(8, minmax(0, 1fr));
	}

	.nicolau-home-about__gallery--count-6 .nicolau-home-about__item--slot-1,
	.nicolau-home-about__gallery--count-7 .nicolau-home-about__item--slot-1,
	.nicolau-home-about__gallery--count-8 .nicolau-home-about__item--slot-1,
	.nicolau-home-about__gallery--count-9 .nicolau-home-about__item--slot-1 {
		grid-column: 1 / -1;
		grid-row: 1 / span 2;
	}

	.nicolau-home-about__gallery--count-6 .nicolau-home-about__item--slot-2 {
		grid-column: 1;
		grid-row: 4 / span 2;
	}

	.nicolau-home-about__gallery--count-7 .nicolau-home-about__item--slot-2,
	.nicolau-home-about__gallery--count-8 .nicolau-home-about__item--slot-2 {
		grid-column: 1;
		grid-row: 5 / span 2;
	}

	.nicolau-home-about__gallery--count-6 .nicolau-home-about__item--slot-3,
	.nicolau-home-about__gallery--count-7 .nicolau-home-about__item--slot-3,
	.nicolau-home-about__gallery--count-8 .nicolau-home-about__item--slot-3,
	.nicolau-home-about__gallery--count-9 .nicolau-home-about__item--slot-3 {
		grid-column: 1;
		grid-row: 3;
	}

	.nicolau-home-about__gallery--count-6 .nicolau-home-about__item--slot-4,
	.nicolau-home-about__gallery--count-7 .nicolau-home-about__item--slot-4,
	.nicolau-home-about__gallery--count-8 .nicolau-home-about__item--slot-4,
	.nicolau-home-about__gallery--count-9 .nicolau-home-about__item--slot-4 {
		grid-column: 2;
		grid-row: 3 / span 2;
	}

	.nicolau-home-about__gallery--count-6 .nicolau-home-about__item--slot-5,
	.nicolau-home-about__gallery--count-7 .nicolau-home-about__item--slot-5,
	.nicolau-home-about__gallery--count-8 .nicolau-home-about__item--slot-5,
	.nicolau-home-about__gallery--count-9 .nicolau-home-about__item--slot-5 {
		grid-column: 1;
		grid-row: 4;
	}

	.nicolau-home-about__gallery--count-6 .nicolau-home-about__item--slot-5 {
		grid-column: 2;
		grid-row: 5;
	}

	.nicolau-home-about__gallery--count-6 .nicolau-home-about__item--slot-6 {
		grid-column: 1 / -1;
		grid-row: 6;
	}

	.nicolau-home-about__gallery--count-7 .nicolau-home-about__item--slot-6,
	.nicolau-home-about__gallery--count-8 .nicolau-home-about__item--slot-6 {
		grid-column: 2;
		grid-row: 5;
	}

	.nicolau-home-about__gallery--count-9 .nicolau-home-about__item--slot-2 {
		grid-column: 2;
		grid-row: 5;
	}

	.nicolau-home-about__gallery--count-9 .nicolau-home-about__item--slot-6 {
		grid-column: 1;
		grid-row: 5 / span 2;
	}

	.nicolau-home-about__gallery--count-7 .nicolau-home-about__item--slot-7,
	.nicolau-home-about__gallery--count-8 .nicolau-home-about__item--slot-7,
	.nicolau-home-about__gallery--count-9 .nicolau-home-about__item--slot-7 {
		grid-column: 2;
		grid-row: 6;
	}

	.nicolau-home-about__gallery--count-8 .nicolau-home-about__item--slot-8 {
		grid-column: 1 / -1;
		grid-row: 7;
	}

	.nicolau-home-about__gallery--count-9 .nicolau-home-about__item--slot-8 {
		grid-column: 1;
		grid-row: 7;
	}

	.nicolau-home-about__gallery--count-9 .nicolau-home-about__item--slot-9 {
		grid-column: 1 / -1;
		grid-row: 8;
	}

	.nicolau-home-about__gallery--is-underfilled {
		height: auto;
		min-height: clamp(420px, 58vw, 760px);
	}

	.nicolau-home-about__inner {
		padding-block:
			clamp(72px, 9vw, 104px)
			clamp(78px, 10vw, 120px);
	}

	.nicolau-home-about__intro {
		width: min(100%, 760px);
		margin-bottom: clamp(42px, 6vw, 68px);
	}

	.nicolau-home-catering__inner {
		padding-block:
			clamp(72px, 9vw, 104px)
			clamp(82px, 10vw, 120px);
	}

	.nicolau-home-catering__item--slot-1 {
		min-height: clamp(400px, 56vw, 540px);
	}

	.nicolau-home-catering__item--slot-2,
	.nicolau-home-catering__item--slot-3 {
		min-height: clamp(220px, 28vw, 280px);
	}

	.nicolau-home-catering__item--slot-4,
	.nicolau-home-catering__item--slot-5,
	.nicolau-home-catering__tile {
		min-height: clamp(200px, 24vw, 250px);
	}

}

@media (max-width: 768px) {
	.nicolau-home-reservation-dock {
		position: fixed;
		z-index: 9998;
		right: 0;
		bottom: 0;
		left: 0;
		display: flex;
		justify-content: center;
		padding:
			0
			24px
			calc(14px + env(safe-area-inset-bottom, 0px));
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transform: translate3d(0, calc(100% + 24px), 0);
		transition:
			transform 480ms cubic-bezier(0.22, 1, 0.36, 1),
			opacity 220ms ease;
		will-change: transform, opacity;
	}

	.nicolau-home-reservation-dock.is-visible {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: translate3d(0, 0, 0);
	}

	.nicolau-home-reservation-dock__button {
		width: min(100%, 320px);
		min-height: 50px;
		padding: 0 26px;
		color: #ffffff;
		background: var(--nicolau-color-green-dark, #022e22);
		border: 1px solid var(--nicolau-color-green-dark, #022e22);
		box-shadow:0 8px 24px rgba(0, 0, 0, 0.5);
		transition:
			color 180ms ease,
			background-color 180ms ease,
			border-color 180ms ease,
			transform 180ms ease;
	}

	.nicolau-home-reservation-dock__button:hover,
	.nicolau-home-reservation-dock__button:focus-visible {
		color: var(--nicolau-color-green-dark, #022e22);
		background: var(--nicolau-color-cream, #f6f3e4);
		border-color: var(--nicolau-color-cream, #f6f3e4);
		transform: translateY(-1px);
	}

	.nicolau-home-hero {
		align-items: flex-end;
	}

	.nicolau-home-hero__content {
		max-width: 100%;
		gap: 9px;
		padding:
			clamp(104px, 15vh, 144px)
			24px
			34px;
	}

	.nicolau-home-hero__title {
		max-width: min(100%, 520px);
	}

	.nicolau-home-hero__title .nicolau-split-title__line--strong,
	.nicolau-home-hero__title-line--strong {
		line-height: 0.9;
	}

	.nicolau-home-hero__text {
		max-width: var(--nicolau-layout-width-text);
		font-size: clamp(16px, 4.8vw, 21px);
		line-height: 1.2;
	}

	.nicolau-home-hero__actions {
		gap: 10px;
		padding-top: 12px;
	}

	.nicolau-home-hero__button {
		min-width: 232px;
		min-height: 50px;
		padding: 0 26px;
	}


	.nicolau-home-about {
		--nicolau-home-about-gallery-scale: 1;
		--nicolau-home-about-gap: 9px;
		--nicolau-home-about-radius: 8px;
		--nicolau-home-about-gallery-width: 100%;
		--nicolau-home-about-mobile-row: clamp(96px, 28vw, 132px);
		--nicolau-home-about-gallery-height: auto;
	}

	.nicolau-home-about__inner {
		padding-block: 64px 74px;
	}

	.nicolau-home-about__intro {
		width: min(100%, 620px);
		margin-bottom: 36px;
	}

	.nicolau-home-about__eyebrow {
		font-size: 11px;
		letter-spacing: 0.2em;
	}

	.nicolau-home-about__title {
		flex-wrap: wrap;
		row-gap: 2px;
		column-gap: 0.24em;
	}

	.nicolau-home-about__title-solid,
	.nicolau-home-about__title-outline {
		line-height: 0.9;
		letter-spacing: -0.055em;
	}


	.nicolau-home-about__text {
		width: min(100%, 560px);
		margin-top: 12px;
		font-size: clamp(15px, 4vw, 17px);
		line-height: 1.42;
	}

	.nicolau-home-about__gallery-wrap {
		width: 100%;
		transform: none;
	}

	.nicolau-home-about__gallery {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--nicolau-home-about-gap);
		width: 100%;
		height: auto;
		min-height: 0;
		transform: none;
		grid-auto-flow: row;
	}

	/* Homepage About - explicit mobile gallery maps */
	.nicolau-home-about__gallery--count-6 .nicolau-home-about__item,
	.nicolau-home-about__gallery--count-7 .nicolau-home-about__item,
	.nicolau-home-about__gallery--count-8 .nicolau-home-about__item,
	.nicolau-home-about__gallery--count-9 .nicolau-home-about__item {
		min-height: 0;
		border-radius: var(--nicolau-home-about-radius);
	}

	.nicolau-home-about__gallery--count-6 {
		grid-template-rows: repeat(
			8,
			var(--nicolau-home-about-mobile-row)
		);
	}

	.nicolau-home-about__gallery--count-6
		.nicolau-home-about__item--slot-1 {
		grid-column: 1 / -1;
		grid-row: 1 / span 2;
	}

	.nicolau-home-about__gallery--count-6
		.nicolau-home-about__item--slot-2 {
		grid-column: 1;
		grid-row: 3 / span 2;
	}

	.nicolau-home-about__gallery--count-6
		.nicolau-home-about__item--slot-3 {
		grid-column: 2;
		grid-row: 3;
	}

	.nicolau-home-about__gallery--count-6
		.nicolau-home-about__item--slot-4 {
		grid-column: 2;
		grid-row: 4 / span 2;
	}

	.nicolau-home-about__gallery--count-6
		.nicolau-home-about__item--slot-5 {
		grid-column: 1;
		grid-row: 5;
	}

	.nicolau-home-about__gallery--count-6
		.nicolau-home-about__item--slot-6 {
		grid-column: 1 / -1;
		grid-row: 6 / span 3;
	}

	.nicolau-home-about__gallery--count-7 {
		grid-template-rows: repeat(
			9,
			var(--nicolau-home-about-mobile-row)
		);
	}

	.nicolau-home-about__gallery--count-7
		.nicolau-home-about__item--slot-1 {
		grid-column: 1 / -1;
		grid-row: 1 / span 2;
	}

	.nicolau-home-about__gallery--count-7
		.nicolau-home-about__item--slot-2 {
		grid-column: 1;
		grid-row: 3;
	}

	.nicolau-home-about__gallery--count-7
		.nicolau-home-about__item--slot-3 {
		grid-column: 2;
		grid-row: 3 / span 2;
	}

	.nicolau-home-about__gallery--count-7
		.nicolau-home-about__item--slot-4 {
		grid-column: 1;
		grid-row: 4 / span 2;
	}

	.nicolau-home-about__gallery--count-7
		.nicolau-home-about__item--slot-5 {
		grid-column: 2;
		grid-row: 5;
	}

	.nicolau-home-about__gallery--count-7
		.nicolau-home-about__item--slot-6 {
		grid-column: 1;
		grid-row: 6 / span 4;
	}

	.nicolau-home-about__gallery--count-7
		.nicolau-home-about__item--slot-7 {
		grid-column: 2;
		grid-row: 6 / span 4;
	}

	.nicolau-home-about__gallery--count-8 {
		grid-template-rows: repeat(
			9,
			var(--nicolau-home-about-mobile-row)
		);
	}

	.nicolau-home-about__gallery--count-8
		.nicolau-home-about__item--slot-1 {
		grid-column: 1 / -1;
		grid-row: 1 / span 2;
	}

	.nicolau-home-about__gallery--count-8
		.nicolau-home-about__item--slot-2 {
		grid-column: 1;
		grid-row: 3;
	}

	.nicolau-home-about__gallery--count-8
		.nicolau-home-about__item--slot-3 {
		grid-column: 2;
		grid-row: 3 / span 2;
	}

	.nicolau-home-about__gallery--count-8
		.nicolau-home-about__item--slot-4 {
		grid-column: 1;
		grid-row: 4 / span 2;
	}

	.nicolau-home-about__gallery--count-8
		.nicolau-home-about__item--slot-5 {
		grid-column: 2;
		grid-row: 5;
	}

	.nicolau-home-about__gallery--count-8
		.nicolau-home-about__item--slot-6 {
		grid-column: 1;
		grid-row: 6 / span 4;
	}

	.nicolau-home-about__gallery--count-8
		.nicolau-home-about__item--slot-7 {
		grid-column: 2;
		grid-row: 6 / span 2;
	}

	.nicolau-home-about__gallery--count-8
		.nicolau-home-about__item--slot-8 {
		grid-column: 2;
		grid-row: 8 / span 2;
	}

	.nicolau-home-about__gallery--count-9 {
		grid-template-rows: repeat(
			10,
			var(--nicolau-home-about-mobile-row)
		);
	}

	.nicolau-home-about__gallery--count-9
		.nicolau-home-about__item--slot-1 {
		grid-column: 1 / -1;
		grid-row: 1 / span 2;
	}

	.nicolau-home-about__gallery--count-9
		.nicolau-home-about__item--slot-2 {
		grid-column: 1;
		grid-row: 3;
	}

	.nicolau-home-about__gallery--count-9
		.nicolau-home-about__item--slot-3 {
		grid-column: 2;
		grid-row: 3 / span 2;
	}

	.nicolau-home-about__gallery--count-9
		.nicolau-home-about__item--slot-4 {
		grid-column: 1;
		grid-row: 4 / span 2;
	}

	.nicolau-home-about__gallery--count-9
		.nicolau-home-about__item--slot-5 {
		grid-column: 2;
		grid-row: 5;
	}

	.nicolau-home-about__gallery--count-9
		.nicolau-home-about__item--slot-6 {
		grid-column: 1;
		grid-row: 6 / span 4;
	}

	.nicolau-home-about__gallery--count-9
		.nicolau-home-about__item--slot-7 {
		grid-column: 2;
		grid-row: 6 / span 2;
	}

	.nicolau-home-about__gallery--count-9
		.nicolau-home-about__item--slot-8 {
		grid-column: 2;
		grid-row: 8 / span 2;
	}

	.nicolau-home-about__gallery--count-9
		.nicolau-home-about__item--slot-9 {
		grid-column: 1 / -1;
		grid-row: 10;
	}

	.nicolau-home-catering {
		--nicolau-home-catering-gallery-scale: 1;
	}

	.nicolau-home-catering__intro {
		width: min(100%, 640px);
	}

	.nicolau-home-catering__text {
		width: min(100%, 560px);
		font-size: clamp(15px, 4vw, 17px);
	}

	/* Homepage Catering - explicit mobile mosaic maps */
	.nicolau-home-catering__mosaic--count-3,
	.nicolau-home-catering__mosaic--count-4,
	.nicolau-home-catering__mosaic--count-5 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-rows: none;
		grid-auto-rows: auto;
	}

	.nicolau-home-catering__mosaic--count-3
		.nicolau-home-catering__item--slot-1,
	.nicolau-home-catering__mosaic--count-4
		.nicolau-home-catering__item--slot-1,
	.nicolau-home-catering__mosaic--count-5
		.nicolau-home-catering__item--slot-1 {
		grid-column: 1 / -1;
		grid-row: 1;
		min-height: clamp(320px, 70vw, 460px);
	}

	.nicolau-home-catering__mosaic--count-3
		.nicolau-home-catering__item--slot-2,
	.nicolau-home-catering__mosaic--count-4
		.nicolau-home-catering__item--slot-2,
	.nicolau-home-catering__mosaic--count-5
		.nicolau-home-catering__item--slot-2 {
		grid-column: 1;
		grid-row: 2;
		min-height: clamp(200px, 58vw, 280px);
	}

	.nicolau-home-catering__mosaic--count-3
		.nicolau-home-catering__item--slot-3,
	.nicolau-home-catering__mosaic--count-4
		.nicolau-home-catering__item--slot-3,
	.nicolau-home-catering__mosaic--count-5
		.nicolau-home-catering__item--slot-3 {
		grid-column: 2;
		grid-row: 2;
		min-height: clamp(200px, 58vw, 280px);
	}

	.nicolau-home-catering__mosaic--count-4
		.nicolau-home-catering__item--slot-4 {
		grid-column: 1 / -1;
		grid-row: 3;
		min-height: clamp(220px, 62vw, 300px);
	}

	.nicolau-home-catering__mosaic--count-5
		.nicolau-home-catering__item--slot-4 {
		grid-column: 1;
		grid-row: 3;
		min-height: clamp(200px, 58vw, 280px);
	}

	.nicolau-home-catering__mosaic--count-5
		.nicolau-home-catering__item--slot-5 {
		grid-column: 2;
		grid-row: 3;
		min-height: clamp(200px, 58vw, 280px);
	}

	.nicolau-home-catering__mosaic--count-3
		.nicolau-home-catering__tile {
		grid-column: 1 / -1;
		grid-row: 3;
		min-height: clamp(110px, 28vw, 145px);
	}

	.nicolau-home-catering__mosaic--count-4
		.nicolau-home-catering__tile {
		grid-column: 1 / -1;
		grid-row: 4;
		min-height: clamp(110px, 28vw, 145px);
	}

	.nicolau-home-catering__mosaic--count-5
		.nicolau-home-catering__tile {
		grid-column: 1 / -1;
		grid-row: 4;
		min-height: clamp(110px, 28vw, 145px);
	}
}

@media (max-width: 600px) {
	.nicolau-home-reservation-dock {
		padding-right: 18px;
		padding-left: 18px;
	}

	.nicolau-home-hero__content {
		padding:
			clamp(96px, 16vh, 128px)
			18px
			28px;
	}

	.nicolau-home-hero__actions {
		flex-direction: column;
		align-items: stretch;
		width: min(100%, 320px);
	}

	.nicolau-home-hero__button {
		width: 100%;
		min-width: 0;
	}

	.nicolau-home-green__artwork--desktop {
		display: none;
	}

	.nicolau-home-green__artwork--mobile {
		display: block;
		inset: -2px;
		width: calc(100% + 4px);
		height: calc(100% + 4px);
	}

	.nicolau-home-catering {
		--nicolau-home-catering-gap: 9px;
		--nicolau-home-catering-radius: 14px;
	}

	.nicolau-home-catering__inner {
		padding-block: 58px 68px;
	}

	.nicolau-home-catering__eyebrow {
		font-size: 10px;
		letter-spacing: 0.18em;
	}

}

@media (max-width: 768px) and (prefers-reduced-motion: reduce) {
	.nicolau-home-reservation-dock {
		transition: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	html.nicolau-home-hero-direct-entry .nicolau-home-hero {
		opacity: 1;
		animation: none;
	}

	html.nicolau-home-hero-direct-entry .nicolau-home-green {
		visibility: visible;
	}

	.nicolau-home-hero__video {
		display: none;
	}

	.nicolau-home-intro {
		min-height: 100vh;
		min-height: 100svh;
	}

	.nicolau-home-intro__sticky {
		position: relative;
		min-height: 100vh;
		min-height: 100svh;
		height: auto;
	}

	.nicolau-home-green__overlay {
		opacity: 1;
	}

	.nicolau-home-about {
		--nicolau-home-about-gallery-scale: 1;
		--nicolau-home-about-media-y: 0px;
		--nicolau-home-about-col-1-y: 0px;
		--nicolau-home-about-col-2-y: 0px;
	}

	.nicolau-home-catering {
		--nicolau-home-catering-gallery-scale: 1;
		--nicolau-home-catering-media-y: 0px;
	}


	.nicolau-home-about__gallery-wrap {
		transform: none;
	}

}


/* ----------------------------------------------------------
   Nicolau / Themify video wrapper compatibility
   Scoped only to Nicolau homepage media cards
---------------------------------------------------------- */

.nicolau-home-catering__item .tf_w.tf_vd_lazy,
.nicolau-home-catering__item .tf_vd_lazy {
	position: absolute !important;
	inset: 0 !important;
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	min-width: 0 !important;
	min-height: 0 !important;
	max-width: none !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
	align-content: initial !important;
	align-items: initial !important;
	justify-content: initial !important;
	flex-wrap: nowrap !important;
	border-radius: inherit;
}

/* About: preserve existing overscan/parallax video behavior */
.nicolau-home-about__item .tf_w.tf_vd_lazy video.nicolau-home-about__video,
.nicolau-home-about__item .tf_vd_lazy video.nicolau-home-about__video {
	position: absolute !important;
	top: calc(-1 * var(--nicolau-home-about-media-overscan)) !important;
	left: 0 !important;
	inset-inline: 0 auto !important;
	display: block !important;
	width: 100% !important;
	height: calc(100% + var(--nicolau-home-about-media-overscan)) !important;
	max-width: none !important;
	max-height: none !important;
	margin: 0 !important;
	object-fit: cover !important;
	object-position: center center !important;
	border-radius: inherit;
	transform: translate3d(0, var(--nicolau-home-about-media-y), 0) !important;
	will-change: transform;
}

/* Catering: preserve existing overscan/parallax video behavior */
.nicolau-home-catering__item .tf_w.tf_vd_lazy video.nicolau-home-catering__video,
.nicolau-home-catering__item .tf_vd_lazy video.nicolau-home-catering__video {
	position: absolute !important;
	top: calc(-1 * var(--nicolau-home-catering-media-overscan)) !important;
	left: 0 !important;
	inset-inline: 0 auto !important;
	display: block !important;
	width: 100% !important;
	height: calc(100% + var(--nicolau-home-catering-media-overscan)) !important;
	max-width: none !important;
	max-height: none !important;
	margin: 0 !important;
	object-fit: cover !important;
	object-position: center center !important;
	border-radius: inherit;
	transform: translate3d(0, var(--nicolau-home-catering-media-y), 0) !important;
	will-change: transform;
}

.nicolau-home-catering__item .tf_vd_play,
.nicolau-home-catering__item .tf_lazy_play,
.nicolau-home-catering__item .tf_video_overlay,
.nicolau-home-catering__item .tb_video_overlay,
.nicolau-home-catering__item .video-play,
.nicolau-home-catering__item .video-play-icon {
	display: none !important;
}

/* Themify injected controls/root should not participate in Nicolau card layout */
.nicolau-home-catering__item .tf_vd_root {
	position: absolute !important;
	inset: 0 !important;
	width: 0 !important;
	height: 0 !important;
	min-width: 0 !important;
	min-height: 0 !important;
	overflow: hidden !important;
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
	contain: none !important;
}


/* ----------------------------------------------------------
   Homepage Shop / Voucher - Framer-aligned editorial layout
   Desktop + mobile use same fixed mosaic system
---------------------------------------------------------- */

/* Desktop / tablet editorial sticky layout */
@media (min-width: 768px) {
	.nicolau-home-shop-voucher {
		--nicolau-home-shop-voucher-stage-x: calc((1 - var(--nicolau-home-shop-voucher-progress)) * 44vw);
		--nicolau-home-shop-voucher-content-opacity: clamp(0, calc(1 - (var(--nicolau-home-shop-voucher-progress) * 1.45)), 1);
		--nicolau-home-shop-voucher-content-x: calc(var(--nicolau-home-shop-voucher-progress) * -44px);
	}

	.nicolau-home-shop-voucher__scroll {
		min-height: clamp(1500px, 220vh, 2150px);
	}

	.nicolau-home-shop-voucher__sticky {
		position: sticky;
		top: 0;
		display: block;
		width: 100%;
		height: 100vh;
		height: 100svh;
		min-height: 640px;
		overflow: hidden;
	}

	.nicolau-home-shop-voucher__inner {
		position: relative;
		display: block;
		gap: clamp(36px, 10vw, 48px);
		width: 100%;
		height: 100vh;
		height: 100svh;
		min-height: 640px;
		margin: 0;
		padding: 0;
	}

	.nicolau-home-shop-voucher__content {
		position: absolute;
		z-index: 3;
		top: 50%;
		left: clamp(24px, 5vw, 76px);
		max-width: none;
		margin: 0;
		padding-right: 16px;
		opacity: var(--nicolau-home-shop-voucher-content-opacity);
		transform: translate3d(var(--nicolau-home-shop-voucher-content-x), -50%, 0);
		will-change: opacity, transform;
	}

	.nicolau-home-shop-voucher__track {
		position: absolute;
		inset: 0;
		z-index: 1;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100vw;
		margin: 0;
		margin-left: calc(50% - 50vw);
		overflow: visible;
	}

	.nicolau-home-shop-voucher__stage {
		display: grid;
		grid-template-columns: repeat(24, minmax(0, 1fr));
		grid-template-rows: repeat(9, minmax(0, 1fr));
		gap: var(--nicolau-home-shop-voucher-gap);
		width: 100vw;
		height: clamp(
			560px,
			calc(100svh - var(--nicolau-header-height, 96px) - 28px),
			820px
		);
		min-height: 560px;
		margin: 0;
		padding:
			var(--nicolau-home-shop-voucher-stage-pad-y)
			var(--nicolau-home-shop-voucher-stage-pad-x);
		transform: translate3d(var(--nicolau-home-shop-voucher-stage-x), 0, 0);
		transform-origin: center center;
		will-change: transform;
	}

	.nicolau-home-shop-voucher__media-card,
	.nicolau-home-shop-voucher__shop-tile,
	.nicolau-home-shop-voucher__gift-card {
		height: 100%;
		min-height: 0;
		border-radius: var(--nicolau-home-shop-voucher-radius);
	}

	/* Shop tile */
	.nicolau-home-shop-voucher__shop-tile {
		grid-column: 16 / 21;
		grid-row: 1 / 4;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: clamp(20px, 2vw, 34px);
		background: var(--nicolau-color-green-soft, #70a990);
		text-align: center;
	}

	.nicolau-home-shop-voucher__shop-tile:hover,
	.nicolau-home-shop-voucher__shop-tile:focus-visible {
		background: var(--nicolau-color-green-soft, #70a990);
	}

	.nicolau-home-shop-voucher__shop-tile-label {
		font-family: var(--nicolau-font-script, "Instrument Serif", serif);
		font-size: clamp(34px, 3vw, 58px);
		font-style: italic;
		font-weight: 400;
		line-height: 0.95;
		letter-spacing: -0.04em;
		text-transform: lowercase;
		color: var(--nicolau-color-green-dark, #022e22);
	}

	/* New ACF Gallery count-based media slots */
	.nicolau-home-shop-voucher__stage--acf-gallery .nicolau-home-shop-voucher__media-card--slot-1 {
		grid-column: 1 / 6;
		grid-row: 1 / 10;
	}

	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-4,
	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-5,
	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-6 {
		grid-template-rows: repeat(4, minmax(0, 1fr));
	}

	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-4 .nicolau-home-shop-voucher__shop-tile,
	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-5 .nicolau-home-shop-voucher__shop-tile,
	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-6 .nicolau-home-shop-voucher__shop-tile {
		grid-column: 16 / 21;
		grid-row: 1 / 3;
	}

	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-4 .nicolau-home-shop-voucher__gift-card,
	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-5 .nicolau-home-shop-voucher__gift-card,
	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-6 .nicolau-home-shop-voucher__gift-card {
		grid-column: 11 / 21;
		grid-row: 3 / 5;
	}

	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-4 .nicolau-home-shop-voucher__media-card--slot-1 {
		grid-column: 1 / 6;
		grid-row: 1 / 5;
	}

	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-4 .nicolau-home-shop-voucher__media-card--slot-2 {
		grid-column: 6 / 11;
		grid-row: 1 / 5;
	}

	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-4 .nicolau-home-shop-voucher__media-card--slot-3 {
		grid-column: 11 / 16;
		grid-row: 1 / 3;
	}

	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-4 .nicolau-home-shop-voucher__media-card--slot-4 {
		grid-column: 21 / 25;
		grid-row: 1 / 5;
	}

	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-5 .nicolau-home-shop-voucher__media-card--slot-1 {
		grid-column: 1 / 6;
		grid-row: 1 / 5;
	}

	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-5 .nicolau-home-shop-voucher__media-card--slot-2 {
		grid-column: 6 / 11;
		grid-row: 1 / 3;
	}

	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-5 .nicolau-home-shop-voucher__media-card--slot-3 {
		grid-column: 6 / 11;
		grid-row: 3 / 5;
	}

	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-5 .nicolau-home-shop-voucher__media-card--slot-4 {
		grid-column: 11 / 16;
		grid-row: 1 / 3;
	}

	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-5 .nicolau-home-shop-voucher__media-card--slot-5 {
		grid-column: 21 / 25;
		grid-row: 1 / 5;
	}

	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-6 .nicolau-home-shop-voucher__media-card--slot-1 {
		grid-column: 1 / 6;
		grid-row: 1 / 5;
	}

	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-6 .nicolau-home-shop-voucher__media-card--slot-2 {
		grid-column: 6 / 11;
		grid-row: 1 / 3;
	}

	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-6 .nicolau-home-shop-voucher__media-card--slot-3 {
		grid-column: 6 / 11;
		grid-row: 3 / 5;
	}

	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-6 .nicolau-home-shop-voucher__media-card--slot-4 {
		grid-column: 11 / 16;
		grid-row: 1 / 2;
	}

	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-6 .nicolau-home-shop-voucher__media-card--slot-5 {
		grid-column: 11 / 16;
		grid-row: 2 / 3;
	}

	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-6 .nicolau-home-shop-voucher__media-card--slot-6 {
		grid-column: 21 / 25;
		grid-row: 1 / 5;
	}

	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-7 .nicolau-home-shop-voucher__media-card--slot-2,
	.nicolau-home-shop-gallery--count-7 .nicolau-home-shop-gallery__item--slot-2 {
		grid-column: 6 / 11;
		grid-row: 1 / 5;
	}

	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-7 .nicolau-home-shop-voucher__media-card--slot-3,
	.nicolau-home-shop-gallery--count-7 .nicolau-home-shop-gallery__item--slot-3 {
		grid-column: 6 / 11;
		grid-row: 5 / 10;
	}

	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-7 .nicolau-home-shop-voucher__media-card--slot-4,
	.nicolau-home-shop-gallery--count-7 .nicolau-home-shop-gallery__item--slot-4 {
		grid-column: 11 / 16;
		grid-row: 1 / 4;
	}

	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-7 .nicolau-home-shop-voucher__media-card--slot-5,
	.nicolau-home-shop-gallery--count-7 .nicolau-home-shop-gallery__item--slot-5 {
		grid-column: 11 / 16;
		grid-row: 4 / 7;
	}

	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-7 .nicolau-home-shop-voucher__media-card--slot-6,
	.nicolau-home-shop-gallery--count-7 .nicolau-home-shop-gallery__item--slot-6 {
		grid-column: 16 / 21;
		grid-row: 4 / 7;
	}

	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-7 .nicolau-home-shop-voucher__media-card--slot-7,
	.nicolau-home-shop-gallery--count-7 .nicolau-home-shop-gallery__item--slot-7 {
		grid-column: 21 / 25;
		grid-row: 1 / 10;
	}

	/* Gift voucher card */
	.nicolau-home-shop-voucher__gift-card {
		grid-column: 11 / 21;
		grid-row: 7 / 10;
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-rows: minmax(0, 1fr) auto;
		column-gap: clamp(24px, 3vw, 52px);
		align-items: end;
		padding: clamp(28px, 3vw, 48px);
		background: var(--nicolau-color-green-soft, #70a990);
		border: 0;
		color: var(--nicolau-color-cream, #f6f3e4);
	}

	.nicolau-home-shop-voucher__gift-card-title {
		grid-column: 1;
		grid-row: 1;
		align-self: end;
		margin: 0;
	}

	.nicolau-home-shop-voucher__gift-card-label-main {
		font-size: clamp(52px, 5.2vw, 92px);
		color: var(--nicolau-color-cream, #f6f3e4);
	}

	.nicolau-home-shop-voucher__gift-card-label-script {
		margin-top: -0.18em;
		font-size: clamp(40px, 4.5vw, 76px);
		color: var(--nicolau-color-green-dark, #022e22);
	}

	.nicolau-home-shop-voucher__gift-card-price-prefix {
		grid-column: 2;
		grid-row: 1;
		align-self: end;
		margin: 0 0 clamp(66px, 6vw, 106px);
		font-size: clamp(15px, 1.15vw, 20px);
		font-weight: 500;
		letter-spacing: 0;
		text-transform: lowercase;
		color: rgba(246, 243, 228, 0.88);
		text-align: right;
	}

	.nicolau-home-shop-voucher__gift-card-price {
		grid-column: 2;
		grid-row: 1;
		align-self: end;
		margin: 0;
		font-size: clamp(64px, 7vw, 124px);
		color: var(--nicolau-color-cream, #f6f3e4);
		text-align: right;
		white-space: nowrap;
	}

	.nicolau-home-shop-voucher__gift-card-note {
		grid-column: 1 / 3;
		grid-row: 2;
		margin: clamp(12px, 1.2vw, 20px) 0 0;
		font-size: clamp(13px, 1.05vw, 17px);
		font-weight: 800;
		letter-spacing: 0.02em;
		color: var(--nicolau-color-cream, #f6f3e4);
	}

	.nicolau-home-shop-voucher__image,
	.nicolau-home-shop-voucher__video {
		position: absolute;
		inset: 0;
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center center;
		border-radius: inherit;
	}

	.nicolau-home-shop-voucher__mobile-progress {
		display: none;
	}

	.nicolau-home-shop-voucher__eyebrow {
		margin-bottom: 12px;
		text-align: center;
	}




	.nicolau-home-shop-voucher__text {
		width: min(100%, 560px);
		margin: 18px auto 0;
		font-size: clamp(15px, 4vw, 17px);
		line-height: 1.42;
	}

	.nicolau-home-shop-voucher__actions {
		width: 100%;
		gap: 12px;
		margin-top: 26px;
	}

	.nicolau-home-shop-voucher__button {
		min-width: 232px;
		min-height: 52px;
		padding: 0 34px;
		border-radius: 999px;
	}

}

/* Mobile keeps the same Framer mosaic, but becomes a native horizontal rail */
@media (max-width: 767px) {
	.nicolau-home-shop-voucher {
		--nicolau-home-shop-voucher-gap: clamp(8px, 2.4vw, 12px);
		--nicolau-home-shop-voucher-radius: clamp(12px, 4vw, 18px);
		--nicolau-home-shop-voucher-stage-height: clamp(
			520px,
			calc(100svh - var(--nicolau-header-height, 82px) - 44px),
			760px
		);
		--nicolau-home-shop-voucher-stage-width: calc(var(--nicolau-home-shop-voucher-stage-height) * 2.05);
		--nicolau-home-shop-voucher-mobile-scroll-progress: 0;
	}

	.nicolau-home-shop-voucher__scroll,
	.nicolau-home-shop-voucher__sticky,
	.nicolau-home-shop-voucher__inner {
		min-height: 0;
		height: auto;
	}

	.nicolau-home-shop-voucher__sticky {
		position: relative;
		top: auto;
		overflow: visible;
	}

	.nicolau-home-shop-voucher__inner {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		align-items: start;
		gap: clamp(36px, 10vw, 48px);
		padding:
			clamp(56px, 12vw, 78px)
			0
			clamp(56px, 12vw, 82px)
			16px;
	}

	.nicolau-home-shop-voucher__content {
		position: relative;
		top: auto;
		left: auto;
		align-items: center;
		width: 100%;
		max-width: none;
		margin: 0;
		padding-right: 16px;
		text-align: center;
		opacity: 1;
		transform: none;
		will-change: auto;
	}

	/*
	 * Match the centred Catering intro layout.
	 *
	 * The parent has 16px left padding and this element has
	 * 16px right padding, creating equal viewport spacing.
	 */
	.nicolau-home-shop-voucher__eyebrow {
		margin-bottom: 12px;
		text-align: center;
	}

	.nicolau-home-shop-voucher__title {
		align-items: center;
		width: 100%;
		text-align: center;
	}

	.nicolau-home-shop-voucher__title-line {
		text-align: center;
	}

	.nicolau-home-shop-voucher__text {
		width: min(100%, 560px);
		margin: 18px auto 0;
		font-size: clamp(15px, 4vw, 17px);
		line-height: 1.42;
		text-align: center;
	}

	.nicolau-home-shop-voucher__actions {
		justify-content: center;
		width: 100%;
		margin-top: 26px;
	}

	.nicolau-home-shop-voucher__track {
		position: relative;
		width: 100%;
		margin: 0;
		padding-right: 16px;
		padding-bottom: 2px;
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x proximity;
		scroll-padding-left: 0;
		scrollbar-width: none;
		-ms-overflow-style: none;
	}

	@media (hover: hover) and (pointer: fine) {
		.nicolau-home-shop-voucher__track {
			cursor: grab;
			user-select: none;
		}

		.nicolau-home-shop-voucher__track.is-dragging {
			cursor: grabbing;
		}
	}

	.nicolau-home-shop-voucher__track::-webkit-scrollbar {
		display: none;
		width: 0;
		height: 0;
	}

	.nicolau-home-shop-voucher__stage {
		display: grid;
		grid-template-columns: repeat(24, minmax(0, 1fr));
		grid-template-rows: repeat(9, minmax(0, 1fr));
		gap: var(--nicolau-home-shop-voucher-gap);
		width: var(--nicolau-home-shop-voucher-stage-width);
		min-width: var(--nicolau-home-shop-voucher-stage-width);
		height: var(--nicolau-home-shop-voucher-stage-height);
		min-height: 0;
		margin: 0;
		padding: 0;
		transform: none;
		will-change: auto;
	}

	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-4,
	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-5,
	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-6 {
		grid-template-rows: repeat(4, minmax(0, 1fr));
	}

	.nicolau-home-shop-voucher__media-card,
	.nicolau-home-shop-voucher__shop-tile,
	.nicolau-home-shop-voucher__gift-card {
		height: 100%;
		min-height: 0;
		border-radius: var(--nicolau-home-shop-voucher-radius);
		scroll-snap-align: start;
	}

	.nicolau-home-shop-voucher__shop-tile {
		grid-column: 16 / 21;
		grid-row: 1 / 4;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 18px;
		background: var(--nicolau-color-green-soft, #70a990);
		text-align: center;
	}

	.nicolau-home-shop-voucher__shop-tile:hover,
	.nicolau-home-shop-voucher__shop-tile:focus-visible {
		background: var(--nicolau-color-green-soft, #70a990);
	}

	.nicolau-home-shop-voucher__shop-tile-label {
		font-family: var(--nicolau-font-script, "Instrument Serif", serif);
		font-size: clamp(30px, 8vw, 46px);
		font-style: italic;
		font-weight: 400;
		line-height: 0.95;
		letter-spacing: -0.045em;
		text-transform: lowercase;
		color: var(--nicolau-color-green-dark, #022e22);
	}

	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-4 .nicolau-home-shop-voucher__shop-tile,
	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-5 .nicolau-home-shop-voucher__shop-tile,
	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-6 .nicolau-home-shop-voucher__shop-tile {
		grid-column: 16 / 21;
		grid-row: 1 / 3;
	}

	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-4 .nicolau-home-shop-voucher__gift-card,
	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-5 .nicolau-home-shop-voucher__gift-card,
	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-6 .nicolau-home-shop-voucher__gift-card {
		grid-column: 11 / 21;
		grid-row: 3 / 5;
	}

	.nicolau-home-shop-voucher__stage--acf-gallery .nicolau-home-shop-voucher__media-card--slot-1 {
		grid-column: 1 / 6;
		grid-row: 1 / 10;
	}

	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-4 .nicolau-home-shop-voucher__media-card--slot-1,
	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-5 .nicolau-home-shop-voucher__media-card--slot-1,
	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-6 .nicolau-home-shop-voucher__media-card--slot-1 {
		grid-column: 1 / 6;
		grid-row: 1 / 5;
	}

	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-4 .nicolau-home-shop-voucher__media-card--slot-2 {
		grid-column: 6 / 11;
		grid-row: 1 / 5;
	}

	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-4 .nicolau-home-shop-voucher__media-card--slot-3 {
		grid-column: 11 / 16;
		grid-row: 1 / 3;
	}

	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-4 .nicolau-home-shop-voucher__media-card--slot-4 {
		grid-column: 21 / 25;
		grid-row: 1 / 5;
	}

	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-5 .nicolau-home-shop-voucher__media-card--slot-2 {
		grid-column: 6 / 11;
		grid-row: 1 / 3;
	}

	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-5 .nicolau-home-shop-voucher__media-card--slot-3 {
		grid-column: 6 / 11;
		grid-row: 3 / 5;
	}

	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-5 .nicolau-home-shop-voucher__media-card--slot-4 {
		grid-column: 11 / 16;
		grid-row: 1 / 3;
	}

	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-5 .nicolau-home-shop-voucher__media-card--slot-5 {
		grid-column: 21 / 25;
		grid-row: 1 / 5;
	}

	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-6 .nicolau-home-shop-voucher__media-card--slot-2 {
		grid-column: 6 / 11;
		grid-row: 1 / 3;
	}

	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-6 .nicolau-home-shop-voucher__media-card--slot-3 {
		grid-column: 6 / 11;
		grid-row: 3 / 5;
	}

	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-6 .nicolau-home-shop-voucher__media-card--slot-4 {
		grid-column: 11 / 16;
		grid-row: 1 / 2;
	}

	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-6 .nicolau-home-shop-voucher__media-card--slot-5 {
		grid-column: 11 / 16;
		grid-row: 2 / 3;
	}

	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-6 .nicolau-home-shop-voucher__media-card--slot-6 {
		grid-column: 21 / 25;
		grid-row: 1 / 5;
	}

	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-7 .nicolau-home-shop-voucher__media-card--slot-2,
	.nicolau-home-shop-gallery--count-7 .nicolau-home-shop-gallery__item--slot-2 {
		grid-column: 6 / 11;
		grid-row: 1 / 5;
	}

	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-7 .nicolau-home-shop-voucher__media-card--slot-3,
	.nicolau-home-shop-gallery--count-7 .nicolau-home-shop-gallery__item--slot-3 {
		grid-column: 6 / 11;
		grid-row: 5 / 10;
	}

	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-7 .nicolau-home-shop-voucher__media-card--slot-4,
	.nicolau-home-shop-gallery--count-7 .nicolau-home-shop-gallery__item--slot-4 {
		grid-column: 11 / 16;
		grid-row: 1 / 4;
	}

	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-7 .nicolau-home-shop-voucher__media-card--slot-5,
	.nicolau-home-shop-gallery--count-7 .nicolau-home-shop-gallery__item--slot-5 {
		grid-column: 11 / 16;
		grid-row: 4 / 7;
	}

	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-7 .nicolau-home-shop-voucher__media-card--slot-6,
	.nicolau-home-shop-gallery--count-7 .nicolau-home-shop-gallery__item--slot-6 {
		grid-column: 16 / 21;
		grid-row: 4 / 7;
	}

	.nicolau-home-shop-voucher__stage--acf-gallery.nicolau-home-shop-voucher__stage--count-7 .nicolau-home-shop-voucher__media-card--slot-7,
	.nicolau-home-shop-gallery--count-7 .nicolau-home-shop-gallery__item--slot-7 {
		grid-column: 21 / 25;
		grid-row: 1 / 10;
	}

	.nicolau-home-shop-voucher__gift-card {
		grid-column: 11 / 21;
		grid-row: 7 / 10;
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-rows: minmax(0, 1fr) auto;
		column-gap: clamp(14px, 4vw, 28px);
		align-items: end;
		padding: clamp(18px, 5vw, 28px);
		background: var(--nicolau-color-green-soft, #70a990);
		border: 0;
		color: var(--nicolau-color-cream, #f6f3e4);
	}

	.nicolau-home-shop-voucher__gift-card-title {
		grid-column: 1;
		grid-row: 1;
		align-self: end;
		margin: 0;
		min-width: 0;
	}

	.nicolau-home-shop-voucher__gift-card-label-main {
		font-size: clamp(42px, 11vw, 72px);
		line-height: 0.86;
		color: var(--nicolau-color-cream, #f6f3e4);
	}

	.nicolau-home-shop-voucher__gift-card-label-script {
		margin-top: -0.14em;
		font-size: clamp(34px, 9vw, 58px);
		line-height: 0.86;
		color: var(--nicolau-color-green-dark, #022e22);
	}

	.nicolau-home-shop-voucher__gift-card-price-prefix {
		grid-column: 2;
		grid-row: 1;
		align-self: end;
		margin: 0 0 clamp(50px, 12vw, 82px);
		font-size: clamp(11px, 2.8vw, 15px);
		font-weight: 500;
		line-height: 1.05;
		letter-spacing: 0;
		text-transform: lowercase;
		color: rgba(246, 243, 228, 0.88);
		text-align: right;
		white-space: nowrap;
	}

	.nicolau-home-shop-voucher__gift-card-price {
		grid-column: 2;
		grid-row: 1;
		align-self: end;
		margin: 0;
		font-size: clamp(54px, 14vw, 92px);
		line-height: 0.82;
		color: var(--nicolau-color-cream, #f6f3e4);
		text-align: right;
		white-space: nowrap;
	}

	.nicolau-home-shop-voucher__gift-card-note {
		grid-column: 1 / 3;
		grid-row: 2;
		align-self: end;
		margin: clamp(10px, 2.6vw, 16px) 0 0;
		font-size: clamp(9px, 2.3vw, 13px);
		font-weight: 800;
		line-height: 1.15;
		letter-spacing: 0.02em;
		color: var(--nicolau-color-cream, #f6f3e4);
	}

	.nicolau-home-shop-voucher__image,
	.nicolau-home-shop-voucher__video {
		position: absolute;
		inset: 0;
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center center;
		border-radius: inherit;
	}

	/* Progress line: fixed line dark green, dynamic bar soft green, 10% visible at start */
	.nicolau-home-shop-voucher__mobile-progress {
		display: block;
		position: relative;
		width: calc(100% - 16px);
		height: 3px;
		margin-top: 14px;
		overflow: hidden;
		border-radius: 999px;
		background: var(--nicolau-color-green-dark, #022e22);
		transition: opacity 180ms ease;
	}

	.nicolau-home-shop-voucher__mobile-progress-bar {
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		width: 100%;
		height: 100%;
		border-radius: inherit;
		background: var(--nicolau-color-green-soft, #70a990);
		transform: scaleX(var(--nicolau-home-shop-voucher-visible-progress));
		transform-origin: left center;
		will-change: transform;
	}

	.nicolau-home-shop-voucher[data-nicolau-home-shop-voucher-mobile-progress-hidden="true"] .nicolau-home-shop-voucher__mobile-progress {
		opacity: 0;
	}
}
