

@font-face {
	font-family: "FC Cormorant";
	src: url("../assets/fonts/CormorantGaramond-SemiBold-Latin.woff") format("woff");
	font-style: normal;
	font-weight: 600;
	font-display: block;
}

@font-face {
	font-family: "FC Montserrat";
	src: url("../assets/fonts/Montserrat-SemiBold-Latin.woff") format("woff");
	font-style: normal;
	font-weight: 600;
	font-display: swap;
}

@font-face {
	font-family: "Instrument Serif";
	src: url("../assets/fonts/InstrumentSerif-Regular-Latin.woff2") format("woff2");
	font-style: normal;
	font-weight: 400;
	font-display: block;
}

@font-face {
	font-family: "Instrument Serif";
	src: url("../assets/fonts/InstrumentSerif-Italic-Latin.woff2") format("woff2");
	font-style: italic;
	font-weight: 400;
	font-display: block;
}

@font-face {
	font-family: "Inter";
	src: url("../assets/fonts/Inter-Variable-Latin.woff2") format("woff2");
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
}

@font-face {
	font-family: "JetBrains Mono";
	src: url("../assets/fonts/JetBrainsMono-Variable-Latin.woff2") format("woff2");
	font-style: normal;
	font-weight: 400 500;
	font-display: swap;
}

:root {
	
	--ease-soft: cubic-bezier(0.22, 1, 0.36, 1);
	--ease-out: cubic-bezier(0.25, 1, 0.5, 1);
	--ease-swift: cubic-bezier(0.55, 0, 0.1, 1);
	--dur-micro: 180ms;
	--dur-ui: 340ms;
	--dur-reveal: 700ms;
	--dur-large: 950ms;
	--dur-cine: 1300ms;

	--abyss: #173f2e;
	--deep: #245c42;
	--ink: #30714b;
	--canvas-key: rgba(245, 230, 202, 0.22);
	--canvas-fill: rgba(101, 183, 132, 0.42);
	--cream: #f5efe2;
	--cream-warm: #ebd8b2;
	--serif-warm: #fff6ed;
	--text-secondary: rgba(245, 239, 226, 0.96);
	--text-muted: rgba(245, 239, 226, 0.94);
	--text-subtle: rgba(245, 239, 226, 0.92);

	--cta-grad: linear-gradient(96deg, #e8b34b 0%, #c4622d 100%);
	--cta-ink: #1b0f08;

	--t-accent: #a5e8ba;
	--t-accent-2: #f0dfb9;
	--t-glow: rgba(165, 232, 186, 0.58);
	--t-glass-a: rgba(61, 120, 88, 0.62);
	--t-glass-b: rgba(29, 78, 56, 0.58);
	--t-hairline: rgba(165, 232, 186, 0.62);
	--t-border: rgba(165, 232, 186, 0.3);
	--world-header-bg: rgba(30, 81, 57, 0.84);
	--world-menu-bg: rgba(30, 81, 57, 0.97);
	--world-menu-glow: rgba(101, 183, 132, 0.58);

	--topline-h: 2rem;
	--header-h: 4.25rem;
	--container: 72rem;
}

:root[data-world="masala"],
[data-theme="masala"] {
	--abyss: #462516;
	--deep: #71391f;
	--ink: #8d4b2b;
	--canvas-key: rgba(255, 214, 126, 0.25);
	--canvas-fill: rgba(229, 121, 59, 0.38);
	--t-accent: #ffd071;
	--t-accent-2: #f9edd6;
	--t-glow: rgba(255, 208, 113, 0.6);
	--t-glass-a: rgba(141, 75, 43, 0.66);
	--t-glass-b: rgba(82, 42, 24, 0.6);
	--t-hairline: rgba(255, 208, 113, 0.68);
	--t-border: rgba(255, 208, 113, 0.32);
	--world-header-bg: rgba(94, 47, 25, 0.87);
	--world-menu-bg: rgba(94, 47, 25, 0.97);
	--world-menu-glow: rgba(229, 121, 59, 0.58);
}

:root[data-world="ladies"],
[data-theme="ladies"] {
	--abyss: #422938;
	--deep: #684054;
	--ink: #7d5069;
	--canvas-key: rgba(255, 226, 218, 0.24);
	--canvas-fill: rgba(210, 139, 158, 0.36);
	--t-accent: #f0c4ca;
	--t-accent-2: #f8e5d6;
	--t-glow: rgba(240, 196, 202, 0.58);
	--t-glass-a: rgba(125, 80, 105, 0.66);
	--t-glass-b: rgba(76, 45, 62, 0.6);
	--t-hairline: rgba(240, 196, 202, 0.64);
	--t-border: rgba(240, 196, 202, 0.32);
	--world-header-bg: rgba(83, 50, 69, 0.87);
	--world-menu-bg: rgba(83, 50, 69, 0.97);
	--world-menu-glow: rgba(210, 139, 158, 0.56);
}

*,
*::before,
*::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

html {
	
	scroll-behavior: auto;
	overflow-x: hidden;
	overflow-x: clip;
	-webkit-text-size-adjust: 100%;
}

html[data-motion="ready"]:not([data-hash-restoring="true"]) {
	scroll-behavior: smooth;
}

html[data-hash-media-restoring="true"] {
	scroll-behavior: auto;
}

[id] {
	scroll-margin-top: calc(var(--topline-h) + var(--header-h) + 0.5rem);
}

body {
	font-family: "Inter", system-ui, sans-serif;
	font-size: 1rem;
	line-height: 1.65;
	color: var(--cream);
	background-color: var(--deep);
	
	background-image:
		radial-gradient(1100px 720px at 20% 4%, var(--canvas-key) 0%, transparent 60%),
		radial-gradient(920px 680px at 82% 72%, var(--canvas-fill) 0%, transparent 62%),
		linear-gradient(var(--ink) 0%, var(--deep) 55%, var(--abyss) 100%);
	background-attachment: fixed;
	overflow-x: hidden;
	overflow-x: clip;
	padding-top: calc(var(--topline-h) + var(--header-h));
	-webkit-font-smoothing: antialiased;
}

.atmos {
	position: fixed;
	inset: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

::selection {
	background: rgba(123, 196, 148, 0.35);
	color: #fff;
}

:focus-visible {
	outline: 2px solid var(--t-accent);
	outline-offset: 3px;
	border-radius: 6px;
}

::-webkit-scrollbar {
	width: 10px;
}
::-webkit-scrollbar-track {
	background: var(--abyss);
}
::-webkit-scrollbar-thumb {
	background: linear-gradient(180deg, #7bc494, #c4622d);
	border: 3px solid var(--abyss);
	border-radius: 99px;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

a {
	color: inherit;
	text-decoration: none;
}

ul,
ol {
	list-style: none;
}

.svg-defs {
	position: absolute;
	width: 0;
	height: 0;
	overflow: hidden;
}

.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.section-inner {
	max-width: var(--container);
	margin-inline: auto;
	padding-inline: clamp(1.25rem, 4vw, 3rem);
}

.section {
	padding-block: clamp(6rem, 11vw, 10rem);
}

.hud {
	font-family: "JetBrains Mono", ui-monospace, monospace;
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--text-muted);
}

.chapter {
	display: flex;
	align-items: center;
	gap: 0.9rem;
	margin-bottom: 1.4rem;
}

.chapter b {
	font-weight: 500;
	color: var(--t-accent);
}

.chapter i {
	width: 3rem;
	height: 1px;
	background: linear-gradient(90deg, var(--t-hairline), transparent);
}

.section-title {
	font-family: "Sora", "Inter", sans-serif;
	font-weight: 700;
	font-size: clamp(2.1rem, 4.8vw, 3.5rem);
	line-height: 1.06;
	letter-spacing: -0.03em;
	color: var(--cream);
	text-wrap: balance;
	max-width: 22ch;
}

.section-title em {
	font-family: "Instrument Serif", Georgia, serif;
	font-style: italic;
	font-weight: 400;
	font-size: 1.06em;
	letter-spacing: 0;
	color: var(--t-accent-2);
}

.section-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 2.5rem;
	margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

.section-lede {
	max-width: 30rem;
	color: var(--text-secondary);
	font-size: 1.02rem;
}

.section-lede strong {
	color: var(--cream);
}

.glass {
	position: relative;
	background: linear-gradient(155deg, var(--t-glass-a) 0%, var(--t-glass-b) 100%);
	border: 1px solid var(--t-border);
	border-radius: 1.25rem;
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}

.glass::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	padding: 1px;
	background: linear-gradient(145deg, var(--t-hairline), transparent 48%);
	-webkit-mask:
		linear-gradient(#000 0 0) content-box,
		linear-gradient(#000 0 0);
	-webkit-mask-composite: xor;
	mask:
		linear-gradient(#000 0 0) content-box,
		linear-gradient(#000 0 0);
	mask-composite: exclude;
	pointer-events: none;
}

.pill {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.42rem 0.95rem;
	border-radius: 999px;
	border: 1px solid var(--t-border);
	background: linear-gradient(145deg, var(--t-glass-a), var(--t-glass-b));
	font-family: "JetBrains Mono", ui-monospace, monospace;
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--text-secondary);
	white-space: nowrap;
}

.rule-gradient {
	height: 1px;
	background: linear-gradient(
		90deg,
		transparent,
		rgba(123, 196, 148, 0.55),
		rgba(232, 179, 75, 0.45),
		transparent
	);
}

.rule-masala {
	background: linear-gradient(
		90deg,
		transparent,
		rgba(123, 196, 148, 0.4),
		rgba(224, 163, 62, 0.6),
		rgba(196, 98, 45, 0.4),
		transparent
	);
}

.rule-ladies {
	background: linear-gradient(
		90deg,
		transparent,
		rgba(224, 163, 62, 0.35),
		rgba(201, 158, 154, 0.55),
		rgba(229, 210, 182, 0.35),
		transparent
	);
}

.chrome-text {
	background-image: linear-gradient(
		104deg,
		#f5efe2 0%,
		#bfe3cb 20%,
		#7bc494 36%,
		#ebd8b2 52%,
		#e8b34b 68%,
		#f5efe2 86%,
		#7bc494 100%
	);
	background-size: 220% 100%;
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	animation: liquid-text 9s ease-in-out infinite;
}

[data-theme="masala"] .chrome-text {
	background-image: linear-gradient(
		104deg,
		#f6e6ca 0%,
		#e5b552 25%,
		#d9932e 45%,
		#b45228 65%,
		#f6e6ca 85%,
		#e5b552 100%
	);
}

@keyframes liquid-text {
	0%,
	100% {
		background-position: 0% 0;
	}
	50% {
		background-position: 100% 0;
	}
}

.topline {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 70;
	height: var(--topline-h);
	display: flex;
	align-items: center;
	overflow: hidden;
	background: linear-gradient(90deg, #2f6b48 0%, #7bc494 55%, #e8b34b 100%);
	color: #0b1d14;
}

.ticker-track {
	display: flex;
	align-items: center;
	gap: 1.4rem;
	white-space: nowrap;
	animation: marquee 40s linear infinite;
	font-family: "JetBrains Mono", ui-monospace, monospace;
	font-size: 0.68rem;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	padding-left: 1.4rem;
}

.ticker-track i {
	font-style: normal;
	opacity: 0.55;
}

@keyframes marquee {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-50%);
	}
}

.site-header {
	position: fixed;
	top: var(--topline-h);
	left: 0;
	right: 0;
	z-index: 60;
	transition:
		transform var(--dur-ui) var(--ease-soft),
		background-color var(--dur-ui) var(--ease-soft);
}

.site-header::after {
	
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(123, 196, 148, 0.25), transparent);
	opacity: 0;
	transition: opacity var(--dur-ui) var(--ease-soft);
}

.site-header.is-scrolled {
	background: var(--world-header-bg);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
}

.site-header.is-scrolled::after {
	opacity: 1;
}

.site-header.is-hidden {
	transform: translateY(calc(-100% - var(--topline-h)));
}

.header-inner {
	max-width: var(--container);
	margin-inline: auto;
	height: var(--header-h);
	padding-inline: clamp(1.25rem, 4vw, 3rem);
	display: flex;
	align-items: center;
	gap: 2rem;
}

.brand {
	display: flex;
	align-items: center;
	gap: 0.6rem;
}

.brand-word {
	font-family: "Sora", sans-serif;
	font-weight: 700;
	font-size: 1.02rem;
	letter-spacing: 0.08em;
}

.brand-word em,
.logo-hero-word em,
.lockup-text em {
	font-style: normal;
	color: var(--t-accent);
}

.brand-mark {
	width: 1.9rem;
	height: 1.9rem;
	color: var(--t-accent);
}

.main-nav {
	display: flex;
	gap: 1.6rem;
	margin-left: auto;
}

.main-nav a {
	position: relative;
	font-size: 0.86rem;
	font-weight: 500;
	color: var(--text-secondary);
	transition: color var(--dur-micro) var(--ease-out);
	padding-block: 0.4rem;
}

.main-nav a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 100%;
	bottom: 0;
	height: 1.5px;
	background: var(--t-accent);
	transition: right var(--dur-ui) var(--ease-soft);
}

.main-nav a:hover,
.main-nav a.is-active {
	color: var(--cream);
}

.main-nav a:hover::after,
.main-nav a.is-active::after {
	right: 0;
}

.header-cta {
	font-size: 0.85rem;
	padding: 0.62rem 1.15rem;
}

.nav-toggle {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 6px;
	width: 44px;
	height: 44px;
	background: none;
	border: 0;
	cursor: pointer;
	z-index: 75;
}

.nav-toggle span {
	display: block;
	width: 22px;
	height: 2px;
	margin-inline: auto;
	background: var(--cream);
	transition:
		transform var(--dur-ui) var(--ease-swift),
		opacity var(--dur-ui);
}

body.menu-open .nav-toggle span:first-child {
	transform: translateY(4px) rotate(45deg);
}

body.menu-open .nav-toggle span:last-child {
	transform: translateY(-4px) rotate(-45deg);
}

.mobile-menu {
	position: fixed;
	inset: 0;
	z-index: 65;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 6rem clamp(1.5rem, 8vw, 4rem) 3rem;
	background:
		radial-gradient(900px 600px at 80% 10%, var(--world-menu-glow) 0%, transparent 60%),
		var(--world-menu-bg);
	opacity: 0;
	visibility: hidden;
	transition:
		opacity var(--dur-ui) var(--ease-soft),
		visibility 0s var(--dur-ui);
}

.mobile-menu.is-open {
	opacity: 1;
	visibility: visible;
	transition-delay: 0s;
}

.mobile-menu nav {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}

.mobile-menu a {
	font-family: "Sora", sans-serif;
	font-weight: 700;
	font-size: clamp(1.8rem, 8vw, 2.6rem);
	letter-spacing: -0.02em;
	padding-block: 0.35rem;
	opacity: 0;
	transform: translateY(22px);
	transition:
		opacity var(--dur-reveal) var(--ease-out),
		transform var(--dur-reveal) var(--ease-out);
	transition-delay: calc(var(--i) * 45ms);
}

.mobile-menu.is-open a {
	opacity: 1;
	transform: none;
}

.mobile-menu-note {
	margin-top: 2.5rem;
	font-family: "JetBrains Mono", ui-monospace, monospace;
	font-size: 0.72rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--text-subtle);
	line-height: 2;
}

.mark-svg {
	width: 100%;
	height: 100%;
	display: block;
}

.mark-svg .m-leaf {
	fill: currentColor;
}

.logo-hero {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	margin-bottom: clamp(1.6rem, 3vw, 2.4rem);
}

.logo-hero-mark {
	width: clamp(3rem, 6vw, 4.2rem);
	height: clamp(3rem, 6vw, 4.2rem);
	color: var(--t-accent);
}

.logo-hero-word {
	font-family: "Sora", sans-serif;
	font-weight: 800;
	font-size: clamp(1.1rem, 2.4vw, 1.5rem);
	letter-spacing: 0.22em;
}

.logo-hero .m-bowl,
.logo-hero .m-rim,
.logo-hero .m-steam1,
.logo-hero .m-steam2,
.logo-hero .m-stem {
	stroke-dasharray: 1;
	stroke-dashoffset: 1;
}

body.is-loaded .logo-hero .m-bowl,
body.is-loaded .logo-hero .m-rim,
body.is-loaded .logo-hero .m-steam1,
body.is-loaded .logo-hero .m-steam2,
body.is-loaded .logo-hero .m-stem {
	animation: draw-stroke 1.5s var(--ease-soft) forwards;
}

body.is-loaded .logo-hero .m-rim {
	animation-delay: 0.25s;
}
body.is-loaded .logo-hero .m-steam1 {
	animation-delay: 0.75s;
}
body.is-loaded .logo-hero .m-stem {
	animation-delay: 0.9s;
}
body.is-loaded .logo-hero .m-steam2 {
	animation-delay: 1.05s;
}

.logo-hero .m-leaf {
	opacity: 0;
	transform-origin: 66px 27px;
	transform: scale(0.6) rotate(-14deg);
}

body.is-loaded .logo-hero .m-leaf {
	animation: leaf-in 0.9s var(--ease-soft) 1.35s forwards;
}

@keyframes draw-stroke {
	to {
		stroke-dashoffset: 0;
	}
}

@keyframes leaf-in {
	to {
		opacity: 1;
		transform: none;
	}
}

.lockup {
	display: inline-flex;
	align-items: center;
	gap: 0.7rem;
	margin-bottom: 1.6rem;
}

.lockup-mark {
	width: 2.4rem;
	height: 2.4rem;
	color: var(--t-accent);
}

.lockup-text {
	font-family: "Sora", sans-serif;
	font-weight: 700;
	font-size: 0.95rem;
	letter-spacing: 0.18em;
	display: flex;
	flex-direction: column;
	line-height: 1.35;
}

.lockup-text b {
	font-weight: inherit;
	white-space: nowrap;
}

.lockup-text small {
	font-family: "JetBrains Mono", ui-monospace, monospace;
	font-weight: 500;
	font-size: 0.62rem;
	letter-spacing: 0.34em;
	color: var(--t-accent);
}

.cta {
	position: relative;
	isolation: isolate;
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	padding: 0.85rem 1.6rem;
	border: 0;
	border-radius: 999px;
	font-family: "Sora", sans-serif;
	font-weight: 700;
	font-size: 0.92rem;
	letter-spacing: 0.01em;
	cursor: pointer;
	overflow: hidden;
	transition: transform var(--dur-micro) var(--ease-out);
	will-change: transform;
}

.cta::before {
	
	content: "";
	position: absolute;
	top: -12%;
	bottom: -12%;
	left: -9%;
	width: 118%;
	z-index: 0;
	border-radius: 0 46% 46% 0 / 0 50% 50% 0;
	transform: translateX(-105%);
	transition: transform 620ms var(--ease-soft);
}

.cta:hover::before,
.cta:focus-visible::before {
	transform: translateX(0);
}

.cta > * {
	position: relative;
	z-index: 1;
}

.cta .btn-arrow {
	width: 1.05em;
	height: 1.05em;
	fill: currentColor;
	transition: transform var(--dur-micro) var(--ease-out);
}

.cta:hover .btn-arrow {
	transform: translateX(4px);
}

.cta-solid {
	background: var(--cta-grad);
	color: var(--cta-ink);
	box-shadow: 0 8px 30px -12px rgba(232, 179, 75, 0.55);
}

.cta-solid::before {
	background: linear-gradient(96deg, #f6e6ca 0%, #ebd8b2 55%, #e8b34b 100%);
}

.cta-glass {
	background: linear-gradient(145deg, var(--t-glass-a), var(--t-glass-b));
	border: 1px solid var(--t-border);
	color: var(--cream);
}

.cta-glass::before {
	background: linear-gradient(96deg, rgba(123, 196, 148, 0.28), rgba(123, 196, 148, 0.08));
}

.cta-light {
	background: linear-gradient(96deg, #f6e6ca 0%, #ebd8b2 100%);
	color: var(--cta-ink);
}

.cta-light::before {
	background: var(--cta-grad);
}

.cta-hero:hover {
	animation: glow-pulse 2.6s ease-in-out infinite;
}

@keyframes glow-pulse {
	0%,
	100% {
		box-shadow:
			0 0 0 0 rgba(232, 179, 75, 0.4),
			0 0 34px -6px rgba(232, 179, 75, 0.55);
	}
	50% {
		box-shadow:
			0 0 0 14px rgba(232, 179, 75, 0),
			0 0 60px -4px rgba(123, 196, 148, 0.85);
	}
}

.hero {
	position: relative;
	min-height: calc(100svh - var(--topline-h) - var(--header-h));
	display: flex;
	align-items: center;
	padding-block: clamp(3rem, 6vw, 5rem);
	
	--heroP: 0;
}

.hero-atmo {
	position: absolute;
	inset: 0;
	overflow: hidden;
	pointer-events: none;
}

.steam-canvas {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.hero-inner {
	position: relative;
	z-index: 2;
	max-width: var(--container);
	width: 100%;
	margin-inline: auto;
	padding-inline: clamp(1.25rem, 4vw, 3rem);
	transform: translateY(calc(var(--heroP) * -3.5rem)) scale(calc(1 - var(--heroP) * 0.04));
	opacity: calc(1 - var(--heroP) * 0.85);
	will-change: transform, opacity;
}

.hero-title {
	font-family: "Instrument Serif", Georgia, serif;
	font-style: italic;
	font-weight: 400;
	font-size: clamp(2.9rem, 7.6vw, 6.2rem);
	line-height: 1.01;
	letter-spacing: 0.01em;
	color: var(--serif-warm);
	text-shadow: 0 2px 30px rgba(7, 22, 16, 0.75);
	max-width: 12ch;
	margin-bottom: clamp(1.6rem, 3vw, 2.2rem);
}

.hero-title .word {
	display: inline-block;
	white-space: nowrap;
}

.hero-title .char {
	display: inline-block;
}

body.is-loaded .hero-title .char {
	opacity: 1;
	transform: none;
	filter: blur(0);
}

.hero-cols {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1.5rem, 4vw, 3.5rem);
	max-width: 46rem;
	margin-bottom: clamp(1.8rem, 3vw, 2.4rem);
}

.hero-cols p {
	font-size: 0.98rem;
	color: var(--text-secondary);
	text-shadow: 0 1px 2px rgba(7, 22, 16, 0.9);
}

.hero-ctas {
	display: flex;
	flex-wrap: wrap;
	gap: 0.9rem;
	margin-bottom: 1.8rem;
}

.hero-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
	margin-bottom: 1.6rem;
}

.hero-hud {
	color: var(--text-subtle);
}

.hero-figure {
	position: absolute;
	z-index: 1;
	top: 50%;
	right: clamp(-4rem, -2vw, 0rem);
	width: min(42vw, 620px);
	transform: translateY(-50%) rotate(2.5deg);
	border-radius: 1.75rem;
	overflow: hidden;
	border: 1px solid rgba(235, 216, 178, 0.14);
	box-shadow:
		0 40px 90px -30px rgba(4, 10, 7, 0.85),
		0 0 80px -20px rgba(123, 196, 148, 0.25);
}

.hero-figure::after {
	
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(105deg, rgba(14, 36, 27, 0.55) 0%, transparent 55%);
}

.hero-figure img {
	width: 100%;
	height: min(66vh, 640px);
	object-fit: cover;
	will-change: translate;
}

.scroll-cue {
	position: absolute;
	left: 50%;
	bottom: 1.6rem;
	transform: translateX(-50%);
	z-index: 3;
	display: flex;
	align-items: center;
	gap: 0.7rem;
	color: var(--text-subtle);
	transition: color var(--dur-micro) var(--ease-out);
	opacity: calc(1 - var(--heroP, 0) * 3);
}

.scroll-cue:hover {
	color: var(--cream);
}

.scroll-cue i {
	width: 1px;
	height: 2.6rem;
	background: linear-gradient(180deg, var(--t-accent), transparent);
	overflow: hidden;
	position: relative;
}

.scroll-cue i::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent, var(--cream-warm));
	animation: cue-drip 2.2s var(--ease-soft) infinite;
}

@keyframes cue-drip {
	from {
		transform: translateY(-100%);
	}
	to {
		transform: translateY(100%);
	}
}

.photo {
	border-radius: 1.5rem;
	overflow: hidden;
	position: relative;
	border: 1px solid rgba(235, 216, 178, 0.1);
}

.photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.pour-photo {
	--pour: 1;
	-webkit-mask-image: linear-gradient(
		to top,
		#000 0%,
		#000 calc(var(--pour) * 132% - 14%),
		transparent calc(var(--pour) * 132%)
	);
	mask-image: linear-gradient(
		to top,
		#000 0%,
		#000 calc(var(--pour) * 132% - 14%),
		transparent calc(var(--pour) * 132%)
	);
}

.story-grid {
	display: grid;
	grid-template-columns: 0.92fr 1fr;
	gap: clamp(2.5rem, 6vw, 5.5rem);
	align-items: center;
}

.story-visual {
	position: relative;
}

.story-visual .photo {
	transform: rotate(-2deg);
	box-shadow: 0 40px 80px -35px rgba(4, 10, 7, 0.9);
}

.story-visual .photo img {
	aspect-ratio: 4 / 5;
}

.story-chip {
	position: absolute;
	right: -1.25rem;
	bottom: -1.5rem;
	display: flex;
	align-items: center;
	gap: 0.9rem;
	padding: 1rem 1.3rem;
	border-radius: 1rem;
	box-shadow: 0 24px 50px -20px rgba(4, 10, 7, 0.9);
}

.story-chip strong {
	font-family: "Sora", sans-serif;
	font-weight: 800;
	font-size: 2.3rem;
	line-height: 1;
	color: var(--t-accent);
}

.story-chip span {
	font-size: 0.78rem;
	line-height: 1.45;
	color: var(--text-muted);
}

.story-copy > p {
	max-width: 34rem;
	color: var(--text-secondary);
	margin-bottom: 1.1rem;
}

.story-copy .section-title {
	margin-bottom: 1.4rem;
}

.story-points {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.7rem 1.5rem;
	margin-top: 1.7rem;
}

.story-points li {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	font-size: 0.9rem;
	color: rgba(245, 239, 226, 0.8);
	opacity: 0;
	transform: translateY(14px);
	transition:
		opacity var(--dur-reveal) var(--ease-out),
		transform var(--dur-reveal) var(--ease-out);
	transition-delay: calc(var(--i, 0) * 70ms);
}

[data-reveal="stagger"].is-in li {
	opacity: 1;
	transform: none;
}

.story-points svg {
	width: 1rem;
	height: 1rem;
	fill: var(--t-accent);
	flex-shrink: 0;
}

.world-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.4rem;
}

.world {
	position: relative;
	display: block;
	border-radius: 1.4rem;
	overflow: hidden;
	background: linear-gradient(155deg, var(--t-glass-a), var(--t-glass-b));
	border: 1px solid var(--t-border);
	transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));
	transition:
		transform var(--dur-ui) var(--ease-soft),
		border-color var(--dur-ui);
	will-change: transform;
}

.world:hover {
	border-color: var(--t-hairline);
}

.world::after {
	
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(
		420px circle at var(--gx, 50%) var(--gy, 50%),
		rgba(245, 239, 226, 0.14),
		transparent 60%
	);
	opacity: 0;
	transition: opacity var(--dur-ui);
	pointer-events: none;
}

.world:hover::after {
	opacity: 1;
}

.world img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	transition: transform var(--dur-large) var(--ease-soft);
}

.world:hover img {
	transform: scale(1.05);
}

.world-body {
	display: block;
	padding: 1.4rem 1.5rem 1.6rem;
}

.world-num {
	font-family: "JetBrains Mono", ui-monospace, monospace;
	font-size: 0.7rem;
	letter-spacing: 0.22em;
	color: var(--t-accent);
}

.world h3 {
	font-family: "Sora", sans-serif;
	font-weight: 700;
	font-size: 1.25rem;
	letter-spacing: -0.02em;
	margin: 0.5rem 0 0.55rem;
	color: var(--cream);
}

.world p {
	font-size: 0.9rem;
	color: var(--text-secondary);
	margin-bottom: 1rem;
}

.world-masala {
	--t-accent: #eeb457;
	--t-glass-a: rgba(96, 56, 34, 0.56);
	--t-glass-b: rgba(48, 27, 17, 0.5);
	--t-hairline: rgba(238, 180, 87, 0.6);
	--t-border: rgba(238, 180, 87, 0.24);
}

.world-ladies {
	--t-accent: #dcb0ab;
	--t-glass-a: rgba(92, 66, 82, 0.56);
	--t-glass-b: rgba(48, 33, 42, 0.5);
	--t-hairline: rgba(220, 176, 171, 0.55);
	--t-border: rgba(220, 176, 171, 0.24);
}

.card-cta {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	font-family: "JetBrains Mono", ui-monospace, monospace;
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--t-accent);
}

.card-cta svg {
	width: 0.95em;
	height: 0.95em;
	fill: currentColor;
	transition: transform var(--dur-micro) var(--ease-out);
}

.world:hover .card-cta svg,
.card:hover .card-cta svg,
.card-cta:hover svg {
	transform: translateX(4px);
}

.card {
	position: relative;
	display: flex;
	flex-direction: column;
	border-radius: 1.3rem;
	overflow: hidden;
	background: linear-gradient(155deg, var(--t-glass-a), var(--t-glass-b));
	border: 1px solid var(--t-border);
	transition:
		transform var(--dur-ui) var(--ease-soft),
		border-color var(--dur-ui),
		box-shadow var(--dur-ui);
}

.card:hover {
	transform: translateY(-5px) scale(1.015);
	border-color: var(--t-hairline);
	box-shadow: 0 30px 60px -30px rgba(4, 10, 7, 0.9);
}

.card-img {
	overflow: hidden;
}

.card-img img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	transition: transform var(--dur-large) var(--ease-soft);
}

.card:hover .card-img img {
	transform: scale(1.06);
}

.card h3 {
	font-family: "Sora", sans-serif;
	font-weight: 700;
	font-size: 1.06rem;
	letter-spacing: -0.015em;
	padding: 1.05rem 1.2rem 0.3rem;
	color: var(--cream);
}

.card > p {
	font-size: 0.86rem;
	color: var(--text-muted);
	padding: 0 1.2rem;
	flex-grow: 1;
}

.card .card-cta {
	padding: 0.9rem 1.2rem 1.15rem;
}

.category-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.25rem;
}

.category-grid .card:nth-child(2),
.category-grid .card:nth-child(6) {
	grid-column: span 2;
}

.category-grid .card:nth-child(2) .card-img img,
.category-grid .card:nth-child(6) .card-img img {
	aspect-ratio: 21 / 9;
}

.signature {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: clamp(2rem, 5vw, 4rem);
	align-items: center;
	padding-block: clamp(3rem, 6vw, 5rem);
}

.signature-figure {
	position: relative;
	border-radius: 1.75rem;
	overflow: hidden;
	box-shadow:
		0 50px 100px -40px rgba(4, 10, 7, 0.95),
		0 0 90px -30px var(--t-glow);
}

.signature-figure .photo {
	border: 0;
	border-radius: 1.75rem;
}

.signature-figure img {
	width: 100%;
	height: clamp(320px, 52vh, 520px);
	object-fit: cover;
}

.signature-copy > p {
	max-width: 30rem;
	color: rgba(245, 239, 226, 0.7);
	margin-bottom: 1.6rem;
}

.signature-copy .section-title {
	margin-bottom: 1.2rem;
}

.steps {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 1.6rem;
	position: relative;
	padding-top: 1.6rem;
}

.steps::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 1px;
	background: linear-gradient(90deg, var(--t-hairline), rgba(123, 196, 148, 0.08));
}

.step {
	position: relative;
	opacity: 0;
	transform: translateY(26px);
	transition:
		opacity var(--dur-reveal) var(--ease-out),
		transform var(--dur-reveal) var(--ease-out);
	transition-delay: calc(var(--i) * 110ms);
}

.steps.is-in .step {
	opacity: 1;
	transform: none;
}

.step::before {
	content: "";
	position: absolute;
	top: calc(-1.6rem - 3px);
	left: 0;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--t-accent);
	box-shadow: 0 0 12px var(--t-glow);
}

.step-num {
	font-family: "Sora", sans-serif;
	font-weight: 800;
	font-size: 2.1rem;
	line-height: 1;
	color: transparent;
	-webkit-text-stroke: 1px rgba(235, 216, 178, 0.45);
	display: block;
	margin-bottom: 0.7rem;
}

.step h3 {
	font-family: "Sora", sans-serif;
	font-weight: 700;
	font-size: 0.98rem;
	margin-bottom: 0.45rem;
}

.step p {
	font-size: 0.84rem;
	color: var(--text-muted);
}

.party {
	position: relative;
}

.party::before {
	
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(720px 480px at 78% 30%, rgba(232, 179, 75, 0.18) 0%, transparent 60%),
		radial-gradient(640px 420px at 12% 80%, rgba(143, 212, 168, 0.18) 0%, transparent 60%);
	pointer-events: none;
}

.party-grid {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(2.5rem, 6vw, 5rem);
	align-items: center;
}

.party-copy > p {
	max-width: 32rem;
	color: var(--text-secondary);
	margin-bottom: 1.4rem;
}

.party-copy .section-title {
	margin-bottom: 1.3rem;
}

.occasion-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
	margin-bottom: 1.8rem;
}

.occasion-tags li {
	padding: 0.42rem 0.95rem;
	border-radius: 999px;
	border: 1px solid var(--t-border);
	background: linear-gradient(145deg, var(--t-glass-a), var(--t-glass-b));
	font-family: "JetBrains Mono", ui-monospace, monospace;
	font-size: 0.7rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: rgba(245, 239, 226, 0.8);
	opacity: 0;
	transform: translateY(14px);
	transition:
		opacity var(--dur-reveal) var(--ease-out),
		transform var(--dur-reveal) var(--ease-out);
	transition-delay: calc(var(--i) * 70ms);
}

.photo-party img {
	aspect-ratio: 4 / 3;
}

.party-visual .photo {
	transform: rotate(1.8deg);
	box-shadow: 0 50px 100px -40px rgba(4, 10, 7, 0.95);
}

.theme-bridge {
	position: relative;
	max-width: var(--container);
	margin-inline: auto;
	padding: clamp(3rem, 7vw, 5.5rem) clamp(1.25rem, 4vw, 3rem);
	text-align: center;
}

.bridge-note {
	margin-top: 1.5rem;
	color: var(--text-subtle);
}

.bridge-ing {
	position: absolute;
	width: 2rem;
	height: 2rem;
	opacity: 0.35;
	fill: currentColor;
}

.bridge-masala {
	color: #e0a33e;
}

.bridge-ladies {
	color: #c99e9a;
}

.bridge-ing.b1 {
	left: 12%;
	top: 30%;
}

.bridge-ing.b2 {
	right: 15%;
	top: 55%;
	width: 1.5rem;
	height: 1.5rem;
}

.masala-hero {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(2.5rem, 6vw, 5rem);
	align-items: center;
}

.masala-hero-copy > p {
	max-width: 32rem;
	color: var(--text-secondary);
}

.masala-hero-copy .section-title {
	margin-bottom: 1.3rem;
}

.masala-hero-figure {
	border-radius: 1.75rem;
	overflow: hidden;
	border: 1px solid var(--t-border);
	box-shadow:
		0 50px 100px -40px rgba(10, 5, 3, 0.95),
		0 0 90px -30px var(--t-glow);
	transform: rotate(-1.6deg);
}

.masala-hero-figure img {
	width: 100%;
	height: clamp(300px, 48vh, 480px);
	object-fit: cover;
}

.masala-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.4rem;
}

.masala-card {
	transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));
	will-change: transform;
}

.masala-card::after {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(
		420px circle at var(--gx, 50%) var(--gy, 50%),
		rgba(246, 230, 202, 0.13),
		transparent 60%
	);
	opacity: 0;
	transition: opacity var(--dur-ui);
	pointer-events: none;
}

.masala-card:hover::after {
	opacity: 1;
}

.masala-usage {
	font-family: "JetBrains Mono", ui-monospace, monospace;
	font-size: 0.68rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--t-accent);
	padding: 0.55rem 1.2rem 0;
}

.masala-meta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0.9rem 1.2rem 1.15rem;
	font-family: "JetBrains Mono", ui-monospace, monospace;
	font-size: 0.78rem;
	color: var(--text-muted);
}

.masala-meta strong {
	font-family: "Sora", sans-serif;
	font-size: 1.05rem;
	color: var(--t-accent-2);
}

.badge-soon {
	position: absolute;
	top: 0.9rem;
	right: 0.9rem;
	z-index: 2;
	padding: 0.3rem 0.7rem;
	border-radius: 999px;
	background: rgba(24, 12, 8, 0.8);
	border: 1px solid var(--t-border);
	font-family: "JetBrains Mono", ui-monospace, monospace;
	font-size: 0.62rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--t-accent);
}

.ingredient-strip {
	display: grid;
	grid-template-columns: 1.25fr 0.75fr;
	gap: 1.4rem;
}

.ingredient-strip .photo {
	opacity: 0;
	transform: translateY(30px);
	transition:
		opacity var(--dur-large) var(--ease-out),
		transform var(--dur-large) var(--ease-out);
	transition-delay: calc(var(--i) * 140ms);
}

[data-reveal="stagger-cards"].is-in .photo {
	opacity: 1;
	transform: none;
}

.ingredient-strip img {
	aspect-ratio: 16 / 9;
	height: 100%;
}

.shop-note {
	margin-top: 2.2rem;
	font-size: 0.92rem;
	color: var(--text-muted);
}

.shop-note a {
	color: var(--t-accent);
	border-bottom: 1px solid var(--t-hairline);
	transition: color var(--dur-micro);
}

.shop-note a:hover {
	color: var(--t-accent-2);
}

.ladies-hero {
	display: grid;
	grid-template-columns: 0.9fr 1.1fr;
	gap: clamp(2.5rem, 6vw, 5rem);
	align-items: center;
}

.ladies-hero-figure {
	border-radius: 1.75rem;
	overflow: hidden;
	border: 1px solid var(--t-border);
	transform: rotate(-2deg);
	box-shadow:
		0 50px 100px -40px rgba(10, 6, 9, 0.95),
		0 0 90px -30px var(--t-glow);
}

.ladies-hero-figure img {
	width: 100%;
	height: clamp(300px, 48vh, 480px);
	object-fit: cover;
}

.ladies-hero-copy > p {
	max-width: 32rem;
	color: var(--text-secondary);
	margin-bottom: 1.4rem;
}

.ladies-hero-copy .section-title {
	margin-bottom: 1.3rem;
}

.ladies-badges {
	margin-bottom: 0;
}

.class-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.25rem;
}

.class-topic {
	font-family: "JetBrains Mono", ui-monospace, monospace;
	font-size: 0.64rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--t-accent);
	padding: 1rem 1.2rem 0;
}

.class-card h3 {
	padding-top: 0.4rem;
}

.class-meta {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
	padding: 0.8rem 1.2rem 0;
	font-size: 0.78rem;
	color: var(--text-muted);
}

.class-meta b {
	font-family: "JetBrains Mono", ui-monospace, monospace;
	font-weight: 500;
	font-size: 0.62rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--text-subtle);
	margin-right: 0.4rem;
}

.community {
	display: grid;
	grid-template-columns: 1fr 1.1fr;
	gap: clamp(2.5rem, 6vw, 5rem);
	align-items: center;
}

.community-copy > p {
	max-width: 30rem;
	color: var(--text-secondary);
	margin-bottom: 1.6rem;
}

.community-copy .section-title {
	margin-bottom: 1.3rem;
}

.community-figures {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.25rem;
}

.community-figures .photo {
	opacity: 0;
	transform: translateY(30px);
	transition:
		opacity var(--dur-large) var(--ease-out),
		transform var(--dur-large) var(--ease-out);
	transition-delay: calc(var(--i) * 140ms);
}

.community-figures .photo:nth-child(2) {
	transform: translateY(56px);
}

.community-figures.is-in .photo:nth-child(1) {
	transform: none;
}

.community-figures.is-in .photo:nth-child(2) {
	transform: translateY(26px);
}

.community-figures img {
	aspect-ratio: 4 / 5;
}

.promise-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border: 1px solid rgba(235, 216, 178, 0.12);
	border-radius: 1.25rem;
	overflow: hidden;
	background: linear-gradient(155deg, rgba(44, 82, 62, 0.5), rgba(22, 46, 35, 0.42));
}

.promise {
	padding: clamp(1.6rem, 3vw, 2.4rem);
	border-right: 1px solid rgba(235, 216, 178, 0.09);
	opacity: 0;
	transform: translateY(24px);
	transition:
		opacity var(--dur-reveal) var(--ease-out),
		transform var(--dur-reveal) var(--ease-out);
	transition-delay: calc(var(--i) * 110ms);
}

.promise:last-child {
	border-right: 0;
}

[data-reveal="stagger-cards"].is-in .promise {
	opacity: 1;
	transform: none;
}

.promise strong {
	display: block;
	font-family: "Sora", sans-serif;
	font-weight: 800;
	font-size: clamp(2.4rem, 4.5vw, 3.4rem);
	line-height: 1;
	letter-spacing: -0.03em;
	margin-bottom: 0.8rem;
}

.promise h3 {
	font-family: "JetBrains Mono", ui-monospace, monospace;
	font-weight: 500;
	font-size: 0.7rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--text-subtle);
	margin-bottom: 0.7rem;
}

.promise p {
	font-size: 0.84rem;
	color: var(--text-muted);
}

.faq-grid {
	display: grid;
	grid-template-columns: 0.8fr 1.2fr;
	gap: clamp(2.5rem, 6vw, 5rem);
	align-items: start;
}

.faq-grid .section-lede {
	margin-top: 1.2rem;
}

.faq-list {
	display: flex;
	flex-direction: column;
	gap: 0.8rem;
}

.faq-item {
	border-radius: 1rem;
	background: linear-gradient(155deg, var(--t-glass-a), var(--t-glass-b));
	border: 1px solid var(--t-border);
	overflow: hidden;
	opacity: 0;
	transform: translateY(18px);
	transition:
		opacity var(--dur-reveal) var(--ease-out),
		transform var(--dur-reveal) var(--ease-out),
		border-color var(--dur-ui);
	transition-delay: calc(var(--i) * 70ms);
}

[data-reveal="stagger"].is-in .faq-item {
	opacity: 1;
	transform: none;
}

.faq-item.open {
	border-color: var(--t-hairline);
}

.faq-q {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	width: 100%;
	padding: 1.05rem 1.25rem;
	background: none;
	border: 0;
	cursor: pointer;
	font-family: "Sora", sans-serif;
	font-weight: 600;
	font-size: 0.95rem;
	text-align: left;
	color: var(--cream);
}

.faq-q .fx {
	position: relative;
	width: 1.6rem;
	height: 1.6rem;
	flex-shrink: 0;
	border-radius: 50%;
	border: 1px solid var(--t-border);
}

.faq-q .fx::before,
.faq-q .fx::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0.65rem;
	height: 1.5px;
	background: var(--t-accent);
	transform: translate(-50%, -50%);
	transition: transform var(--dur-ui) var(--ease-swift);
}

.faq-q .fx::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.faq-item.open .fx::after {
	transform: translate(-50%, -50%) rotate(0deg);
}

.faq-a {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows var(--dur-ui) var(--ease-soft);
}

.faq-item.open .faq-a {
	grid-template-rows: 1fr;
}

.faq-a p {
	overflow: hidden;
	padding-inline: 1.25rem;
	font-size: 0.88rem;
	color: var(--text-secondary);
	transition: padding var(--dur-ui) var(--ease-soft);
}

.faq-item.open .faq-a p {
	padding-bottom: 1.2rem;
}

.contact {
	position: relative;
}

.contact::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(760px 500px at 16% 20%, rgba(240, 224, 190, 0.14) 0%, transparent 60%),
		radial-gradient(680px 460px at 88% 78%, rgba(143, 212, 168, 0.2) 0%, transparent 60%);
	pointer-events: none;
}

.contact-grid {
	position: relative;
	display: grid;
	grid-template-columns: 0.85fr 1.15fr;
	gap: clamp(2.5rem, 6vw, 5rem);
	align-items: start;
}

.contact-copy > p {
	max-width: 30rem;
	color: var(--text-secondary);
	margin-bottom: 1.6rem;
}

.contact-copy .section-title {
	margin-bottom: 1.3rem;
}

.wa-link {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	font-family: "Sora", sans-serif;
	font-weight: 600;
	font-size: 0.95rem;
	color: var(--t-accent);
	transition: color var(--dur-micro);
}

.wa-link:hover {
	color: var(--t-accent-2);
}

.wa-link svg {
	width: 1.2rem;
	height: 1.2rem;
	fill: currentColor;
}

.contact-copy > .contact-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 1rem;
	margin-top: 1rem;
	font-family: "FC Montserrat", "Inter", system-ui, sans-serif;
	font-size: 0.78rem;
	letter-spacing: 0.04em;
}

.contact-meta a {
	color: inherit;
	text-decoration: underline;
	text-decoration-color: color-mix(in srgb, currentColor 34%, transparent);
	text-underline-offset: 0.3em;
}

.contact-meta a:hover {
	text-decoration-color: currentColor;
}

.enquiry-form {
	padding: clamp(1.5rem, 3vw, 2.2rem);
	border-radius: 1.5rem;
}

.field-row {
	display: flex;
	gap: 1rem;
	margin-bottom: 1rem;
}

.field {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}

.field-small {
	flex: 0.6;
}

.field span {
	font-family: "JetBrains Mono", ui-monospace, monospace;
	font-size: 0.64rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--text-subtle);
}

.field span small {
	text-transform: none;
	letter-spacing: 0.04em;
}

.field input,
.field select,
.field textarea {
	font: inherit;
	font-size: 0.92rem;
	color: var(--cream);
	background: rgba(15, 38, 28, 0.5);
	border: 1px solid rgba(235, 216, 178, 0.2);
	border-radius: 0.7rem;
	padding: 0.7rem 0.85rem;
	transition:
		border-color var(--dur-micro),
		box-shadow var(--dur-micro);
}

.field input:focus,
.field select:focus,
.field textarea:focus {
	outline: none;
	border-color: var(--t-accent);
	box-shadow: 0 0 0 3px rgba(123, 196, 148, 0.22);
}

.field select {
	appearance: none;
	background-image:
		linear-gradient(45deg, transparent 50%, var(--t-accent) 50%),
		linear-gradient(135deg, var(--t-accent) 50%, transparent 50%);
	background-position:
		calc(100% - 18px) 55%,
		calc(100% - 13px) 55%;
	background-size: 5px 5px;
	background-repeat: no-repeat;
}

.field option {
	background: var(--deep);
	color: var(--cream);
}

.btn-submit {
	width: 100%;
	justify-content: center;
	margin-top: 0.4rem;
}

.form-note {
	margin-top: 0.8rem;
	font-size: 0.75rem;
	text-align: center;
	color: var(--text-subtle);
}

.form-error {
	margin-top: 0.7rem;
	font-size: 0.85rem;
	text-align: center;
	color: #e8a08a;
}

.sticky-bar {
	position: fixed;
	left: 50%;
	bottom: 1rem;
	transform: translate(-50%, 130%);
	z-index: 55;
	display: flex;
	align-items: center;
	gap: 1.2rem;
	width: min(94vw, 46rem);
	padding: 0.55rem 0.6rem 0.55rem 1.2rem;
	border-radius: 999px;
	transition: transform var(--dur-large) var(--ease-soft);
	box-shadow: 0 24px 60px -20px rgba(3, 8, 6, 0.9);
}

.sticky-bar.is-visible {
	transform: translate(-50%, 0);
}

.sticky-brand {
	font-family: "Sora", sans-serif;
	font-weight: 700;
	font-size: 0.78rem;
	letter-spacing: 0.06em;
	white-space: nowrap;
}

.sticky-brand span {
	font-family: "Instrument Serif", Georgia, serif;
	font-style: italic;
	font-weight: 400;
	letter-spacing: 0;
	font-size: 0.85rem;
	color: var(--text-muted);
}

.module-pills {
	display: flex;
	gap: 0.3rem;
	margin-left: auto;
}

.module-pills a {
	padding: 0.42rem 0.85rem;
	border-radius: 999px;
	font-family: "JetBrains Mono", ui-monospace, monospace;
	font-size: 0.68rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--text-muted);
	transition:
		color var(--dur-micro),
		background-color var(--dur-micro);
}

.module-pills a:hover {
	color: var(--cream);
}

.module-pills a.is-current {
	background: rgba(123, 196, 148, 0.16);
	color: var(--cream);
}

.sticky-wa {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.6rem 1.1rem;
	border-radius: 999px;
	background: var(--cta-grad);
	color: var(--cta-ink);
	font-family: "Sora", sans-serif;
	font-weight: 700;
	font-size: 0.78rem;
	transition: transform var(--dur-micro) var(--ease-out);
}

.sticky-wa:hover {
	transform: scale(1.05);
}

.sticky-wa svg {
	width: 1.05rem;
	height: 1.05rem;
	fill: currentColor;
}

.rail {
	position: fixed;
	right: 1.4rem;
	top: 50%;
	transform: translateY(-50%);
	z-index: 40;
	display: flex;
	flex-direction: column;
	gap: 0.9rem;
}

.rail a {
	width: 6px;
	height: 6px;
	border-radius: 999px;
	background: rgba(245, 239, 226, 0.28);
	transition:
		height var(--dur-ui) var(--ease-soft),
		background-color var(--dur-ui);
}

.rail a:hover {
	background: rgba(245, 239, 226, 0.6);
}

.rail a.is-current {
	height: 1.5rem;
	background: #7bc494;
	box-shadow: 0 0 10px rgba(123, 196, 148, 0.5);
}

.site-footer {
	position: relative;
	border-top: 1px solid rgba(235, 216, 178, 0.1);
	background: linear-gradient(180deg, transparent, rgba(12, 30, 22, 0.6));
	padding: clamp(3.5rem, 7vw, 5.5rem) 0 7rem;
}

.footer-inner {
	max-width: var(--container);
	margin-inline: auto;
	padding-inline: clamp(1.25rem, 4vw, 3rem);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.4rem;
	text-align: center;
}

.footer-logo {
	display: flex;
	align-items: center;
	gap: 0.6rem;
}

.footer-mark {
	width: 2.2rem;
	height: 2.2rem;
	color: var(--t-accent);
}

.footer-tag {
	font-family: "Instrument Serif", Georgia, serif;
	font-size: 1.35rem;
	color: var(--text-secondary);
}

.footer-tag em {
	font-style: italic;
	color: var(--t-accent-2);
}

.footer-nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1.4rem;
}

.footer-nav a {
	font-size: 0.85rem;
	color: var(--text-muted);
	transition: color var(--dur-micro);
}

.footer-nav a:hover {
	color: var(--cream);
}

.footer-fine {
	line-height: 2.1;
	letter-spacing: 0.1em;
	color: var(--text-subtle);
}

.footer-fine small {
	font-size: 0.85em;
	letter-spacing: 0.06em;
	text-transform: none;
}

.intro {
	position: fixed;
	inset: 0;
	z-index: 100;
	background: linear-gradient(96deg, #f6e6ca, #ebd8b2);
	pointer-events: none;
	display: none;
}

body.intro-play .intro {
	display: block;
	animation: intro-drain 0.9s var(--ease-swift) 0.1s forwards;
}

.intro-wave {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 100%;
	width: 100%;
	height: 120px;
	color: #ebd8b2;
	transform: translateY(1px) scaleY(-1);
}

@keyframes intro-drain {
	to {
		transform: translateY(-112%);
	}
}

.grain {
	position: fixed;
	inset: -60px;
	z-index: 1;
	pointer-events: none;
	opacity: 0.05;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.scroll-syrup {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 80;
	height: 3px;
	transform-origin: 0 50%;
	transform: scaleX(0);
	background: linear-gradient(90deg, #7bc494, #e8b34b, #c4622d);
}

.cursor-dot,
.cursor-blob {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 90;
	pointer-events: none;
	border-radius: 50%;
	opacity: 0;
}

body.has-cursor .cursor-dot,
body.has-cursor .cursor-blob {
	opacity: 1;
}

.cursor-dot {
	width: 6px;
	height: 6px;
	margin: -3px 0 0 -3px;
	background: var(--cream-warm);
}

.cursor-blob {
	width: 38px;
	height: 38px;
	margin: -19px 0 0 -19px;
	border: 1px solid rgba(235, 216, 178, 0.5);
	transition:
		width var(--dur-ui) var(--ease-soft),
		height var(--dur-ui) var(--ease-soft),
		margin var(--dur-ui) var(--ease-soft);
}

body.cursor-hot .cursor-blob {
	width: 58px;
	height: 58px;
	margin: -29px 0 0 -29px;
	border-color: #7bc494;
}

@media (hover: hover) and (pointer: fine) {
	body.has-cursor,
	body.has-cursor a,
	body.has-cursor button,
	body.has-cursor [data-magnetic] {
		cursor: none;
	}
	body.has-cursor input,
	body.has-cursor textarea,
	body.has-cursor select {
		cursor: auto;
	}
}

.ripple-ring {
	position: fixed;
	z-index: 90;
	width: 180px;
	height: 180px;
	margin: -90px 0 0 -90px;
	border-radius: 50%;
	border: 2px solid rgba(27, 122, 80, 0.72);
	background: radial-gradient(closest-side, rgba(123, 196, 148, 0.24), transparent 68%);
	box-shadow:
		0 0 0 1px rgba(253, 245, 236, 0.36) inset,
		0 0 42px rgba(27, 122, 80, 0.2);
	pointer-events: none;
	animation: ripple-ring 1.05s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes ripple-ring {
	0% {
		opacity: 0.92;
		transform: scale(0.16);
	}
	65% {
		opacity: 0.34;
	}
	100% {
		opacity: 0;
		transform: scale(1);
	}
}

.intro-item {
	opacity: 1;
	translate: none;
}

.ripple-ring--touch {
	width: 280px;
	height: 280px;
	margin: -140px 0 0 -140px;
	border-color: rgba(198, 90, 46, 0.78);
	background:
		radial-gradient(closest-side, rgba(217, 163, 35, 0.28), transparent 62%),
		radial-gradient(circle, transparent 46%, rgba(11, 79, 60, 0.2) 62%, transparent 77%);
	box-shadow:
		0 0 0 1px rgba(253, 245, 236, 0.48) inset,
		0 0 54px rgba(198, 90, 46, 0.26);
	animation: ripple-ring-touch 1.15s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes ripple-ring-touch {
	0% {
		opacity: 0.86;
		transform: scale(0.1);
	}
	62% {
		opacity: 0.3;
	}
	100% {
		opacity: 0;
		transform: scale(1);
	}
}

body.is-loaded .intro-item {
	opacity: 1;
	translate: none;
}

[data-reveal] {
	--rd: 0;
}

[data-reveal="fade-up"] {
	opacity: 0;
	transform: translateY(28px);
	transition:
		opacity var(--dur-reveal) var(--ease-out),
		transform var(--dur-reveal) var(--ease-out);
	transition-delay: calc(var(--rd) * 110ms);
}

[data-reveal="fade-up"].is-in {
	opacity: 1;
	transform: none;
}

[data-reveal="scale"] {
	opacity: 0;
	transform: rotate(-1.6deg) scale(0.94) translateY(20px);
	transition:
		opacity var(--dur-large) var(--ease-out),
		transform var(--dur-large) var(--ease-out);
}

[data-reveal="scale"].is-in {
	opacity: 1;
	transform: rotate(-1.6deg);
}

[data-reveal="clip-right"] > :first-child {
	clip-path: inset(0 0 0 100%);
	transition: clip-path var(--dur-cine) var(--ease-soft);
}

[data-reveal="clip-left"] > :first-child {
	clip-path: inset(0 100% 0 0);
	transition: clip-path var(--dur-cine) var(--ease-soft);
}

[data-reveal="clip-left"].is-in > :first-child,
[data-reveal="clip-right"].is-in > :first-child {
	clip-path: inset(0 0 0 0);
}

.section-title.words .w {
	display: inline-block;
	overflow: hidden;
	vertical-align: bottom;
}

.section-title.words .w > span {
	display: inline-block;
	transform: translateY(110%);
	transition: transform var(--dur-large) var(--ease-soft);
	transition-delay: calc(var(--wi) * 46ms);
}

.section-title.words.is-in .w > span {
	transform: none;
}

[data-reveal="lines"]:not(.words) {
	opacity: 0;
	transform: translateY(24px);
	transition:
		opacity var(--dur-reveal) var(--ease-out),
		transform var(--dur-reveal) var(--ease-out);
}

[data-reveal="lines"]:not(.words).is-in {
	opacity: 1;
	transform: none;
}

[data-reveal="stagger-cards"] > .card,
[data-reveal="stagger-cards"] > .world {
	opacity: 0;
	translate: 0 34px;
	clip-path: inset(0 12% 0 12% round 1.3rem);
	transition:
		opacity var(--dur-large) var(--ease-out),
		translate var(--dur-large) var(--ease-out),
		clip-path var(--dur-large) var(--ease-soft);
	transition-delay: calc(var(--i) * 110ms);
}

[data-reveal="stagger-cards"].is-in > .card,
[data-reveal="stagger-cards"].is-in > .world {
	opacity: 1;
	translate: none;
	clip-path: inset(0 0 0 0 round 1.3rem);
}

.class-grid > .card {
	clip-path: none;
	translate: 0 40px;
	transition-duration: 1.1s;
}

.class-grid.is-in > .card {
	translate: none;
	clip-path: none;
}

[data-parallax] {
	transform: translateY(var(--py, 0px));
	will-change: transform;
}

.hero-figure[data-parallax] {
	transform: translateY(-50%) rotate(2.5deg) translateY(var(--py, 0px));
}

.bridge-ing[data-parallax] {
	transform: translateY(var(--py, 0px));
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
	*,
	*::before,
	*::after {
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.001ms !important;
	}
	.atmos,
	.grain,
	.cursor-dot,
	.cursor-blob,
	.ripple-ring,
	.scroll-syrup,
	.scroll-cue i::after {
		display: none !important;
	}
	.pour-photo {
		-webkit-mask-image: none !important;
		mask-image: none !important;
	}
	.intro {
		display: none !important;
	}
	.intro-item,
	.hero-title .char,
	[data-reveal],
	.step,
	.promise,
	.faq-item,
	.occasion-tags li,
	.story-points li,
	.mobile-menu a,
	[data-reveal="stagger-cards"] > .card,
	[data-reveal="stagger-cards"] > .world,
	.ingredient-strip .photo,
	.community-figures .photo,
	[data-reveal="clip-left"] > :first-child,
	[data-reveal="clip-right"] > :first-child,
	.section-title.words .w > span {
		opacity: 1 !important;
		transform: none !important;
		clip-path: none !important;
		filter: none !important;
	}
	.hero-inner {
		transform: none;
		opacity: 1;
	}
	.ticker-track {
		animation: none;
	}
}

@media (max-width: 78rem) {
	.hero-figure {
		width: min(40vw, 520px);
	}
}

@media (max-width: 72rem) {
	.category-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.category-grid .card:nth-child(2),
	.category-grid .card:nth-child(6) {
		grid-column: span 2;
	}
	.class-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.steps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 2rem 1.6rem;
	}
	.promise-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.promise:nth-child(2n) {
		border-right: 0;
	}
	.promise:nth-child(-n + 2) {
		border-bottom: 1px solid rgba(235, 216, 178, 0.09);
	}
}

@media (max-width: 64rem) {
	.main-nav,
	.header-cta {
		display: none;
	}
	.nav-toggle {
		display: flex;
		margin-left: auto;
	}
	.rail {
		display: none;
	}

	.hero {
		flex-direction: column;
		align-items: stretch;
		padding-top: 1.5rem;
	}
	.hero-inner {
		display: flex;
		flex-direction: column;
	}
	.hero-figure {
		position: relative;
		inset: auto;
		width: auto;
		margin: 1.5rem clamp(1.25rem, 4vw, 3rem) 0;
		transform: none;
	}
	.hero-figure[data-parallax] {
		transform: translateY(var(--py, 0px));
	}
	.hero-figure img {
		height: min(48vh, 420px);
	}
	.hero-figure::after {
		background: linear-gradient(180deg, rgba(14, 36, 27, 0.35) 0%, transparent 45%);
	}
	.hero-cols {
		grid-template-columns: 1fr;
		gap: 1rem;
	}
	.scroll-cue {
		display: none;
	}

	.story-grid,
	.party-grid,
	.masala-hero,
	.ladies-hero,
	.community,
	.faq-grid,
	.contact-grid,
	.signature {
		grid-template-columns: 1fr;
	}
	.ladies-hero-figure {
		order: -1;
	}
	.world-grid,
	.masala-grid {
		grid-template-columns: 1fr;
	}
	.ingredient-strip {
		grid-template-columns: 1fr;
	}
	.section-head {
		flex-direction: column;
		align-items: flex-start;
		gap: 1.2rem;
	}
	.story-chip {
		right: 0.75rem;
		bottom: -1.25rem;
	}

	.sticky-bar {
		width: min(94vw, 30rem);
		gap: 0.6rem;
		padding-left: 0.9rem;
	}
	.sticky-brand span {
		display: none;
	}
}

@media (max-width: 40rem) {
	.category-grid,
	.class-grid {
		grid-template-columns: 1fr;
	}
	.category-grid .card:nth-child(2),
	.category-grid .card:nth-child(6) {
		grid-column: auto;
	}
	.category-grid .card:nth-child(2) .card-img img,
	.category-grid .card:nth-child(6) .card-img img {
		aspect-ratio: 4 / 3;
	}
	.steps {
		grid-template-columns: 1fr;
	}
	.promise-grid {
		grid-template-columns: 1fr;
	}
	.promise {
		border-right: 0;
		border-bottom: 1px solid rgba(235, 216, 178, 0.09);
	}
	.promise:last-child {
		border-bottom: 0;
	}
	.field-row {
		flex-direction: column;
		gap: 1rem;
	}
	.community-figures {
		grid-template-columns: 1fr;
	}
	.community-figures.is-in .photo:nth-child(2) {
		transform: none;
	}
	.sticky-brand {
		display: none;
	}
	.module-pills {
		margin-left: 0;
	}
	.sticky-bar {
		justify-content: space-between;
	}
}

:root {
	--fc-paper: #f7f0e3;
	--fc-paper-soft: #fffaf1;
	--fc-paper-deep: #eadfca;
	--fc-green: #073f2e;
	--fc-green-2: #17684b;
	--fc-sage: #b8d5ac;
	--fc-saffron: #f0a21b;
	--fc-terracotta: #ca5b2b;
	--fc-rose: #d76e83;
	--fc-plum: #773b59;
	--fc-ink: #102a21;
	--fc-muted: #4c5c54;
	--fc-line: rgba(7, 63, 46, 0.2);
	--fc-shadow: 0 28px 80px -42px rgba(47, 40, 25, 0.38);
	--fc-section-ink: var(--fc-green);
	--fc-section-accent: var(--fc-green-2);
	--container: 80rem;
}

html {
	background: var(--fc-paper-soft);
}

body {
	color: var(--fc-ink);
	background-color: var(--fc-paper-soft);
	background-image:
		radial-gradient(900px 620px at 10% 14%, rgba(175, 211, 164, 0.28), transparent 65%),
		radial-gradient(780px 560px at 88% 36%, rgba(240, 162, 27, 0.14), transparent 68%),
		linear-gradient(180deg, #fffaf2 0%, #f3e9d8 55%, #fffaf4 100%);
	background-attachment: fixed;
	isolation: isolate;
}

.atmos {
	z-index: 0;
	opacity: 0.4;
	filter: saturate(1.14) brightness(1.08) contrast(1.08);
	mix-blend-mode: normal;
	transform: translateZ(0);
}

@media (max-width: 64rem), (pointer: coarse) {
	.atmos {
		opacity: 0.64;
		filter: saturate(1.2) brightness(1.06) contrast(1.12);
	}
}

main,
.site-footer {
	position: relative;
	z-index: 2;
}

.hero {
	isolation: auto;
}

.section-inner,
.footer-inner {
	position: relative;
	z-index: 2;
}

.world-slider-sticky,
.hero-inner,
.hero-atmo {
	z-index: 2;
}

.theme-bridge > * {
	position: relative;
	z-index: 2;
}

.theme-bridge > .bridge-ing {
	position: absolute;
}

.grain {
	opacity: 0.022;
	mix-blend-mode: multiply;
}

::selection {
	background: rgba(240, 162, 27, 0.32);
	color: var(--fc-green);
}

:focus-visible {
	outline: 3px solid #bd5f16;
	outline-offset: 4px;
}

::-webkit-scrollbar-track {
	background: #f4ead9;
}

::-webkit-scrollbar-thumb {
	background: linear-gradient(180deg, var(--fc-green-2), var(--fc-saffron), var(--fc-rose));
	border-color: #f4ead9;
}

.topline {
	background: linear-gradient(90deg, #d8e5c9 0%, #f0d999 52%, #efc1c9 100%);
	color: var(--fc-green);
	border-bottom: 1px solid rgba(7, 63, 46, 0.1);
}

.site-header {
	color: var(--fc-green);
}

.site-header::after {
	background: linear-gradient(90deg, transparent, rgba(7, 63, 46, 0.22), transparent);
}

.site-header.is-scrolled {
	background: rgba(255, 250, 241, 0.88);
	box-shadow: 0 12px 40px -28px rgba(7, 63, 46, 0.38);
}

.brand-word,
.main-nav a {
	color: var(--fc-green);
}

.brand-mark {
	color: var(--fc-green-2);
}

.main-nav a::after {
	background: var(--fc-green-2);
}

.main-nav a:hover,
.main-nav a.is-active {
	color: #061f17;
}

.nav-toggle span {
	background: var(--fc-green);
}

.mobile-menu {
	color: var(--fc-green);
	background:
		radial-gradient(780px 520px at 84% 10%, rgba(240, 162, 27, 0.24), transparent 62%),
		radial-gradient(720px 540px at 8% 94%, rgba(215, 110, 131, 0.22), transparent 64%),
		var(--fc-paper-soft);
}

.mobile-menu a,
.mobile-menu-note {
	color: var(--fc-green);
}

.section {
	padding-block: clamp(5rem, 9vw, 8.5rem);
}

.section-title {
	font-family: "Instrument Serif", Georgia, serif;
	font-weight: 400;
	font-size: clamp(3rem, 6vw, 5.65rem);
	line-height: 0.96;
	letter-spacing: -0.045em;
	color: var(--fc-section-ink);
	max-width: 15ch;
}

.section-title em {
	font-family: inherit;
	font-style: italic;
	font-size: 1em;
	color: var(--fc-section-accent);
}

.hud,
.chapter,
.chapter b,
.chapter i,
.section-lede,
.section-lede strong {
	color: var(--fc-section-ink);
}

.chapter {
	opacity: 0.78;
}

.chapter i {
	background: linear-gradient(90deg, currentColor, transparent);
}

.section-lede {
	font-size: clamp(1rem, 1.5vw, 1.15rem);
	line-height: 1.65;
	opacity: 0.78;
}

.section-head {
	align-items: flex-start;
	margin-bottom: clamp(3rem, 5.5vw, 5.25rem);
}

.hero {
	position: relative;
	isolation: isolate;
	height: max(46rem, calc(100svh - var(--topline-h) - var(--header-h) - 1.25rem));
	min-height: 46rem;
	max-height: 58rem;
	margin: 0 clamp(0.75rem, 1.5vw, 1.5rem) clamp(2.5rem, 5vw, 5rem);
	padding: 0;
	align-items: stretch;
	overflow: hidden;
	border: 1px solid rgba(7, 63, 46, 0.09);
	border-radius: clamp(1.25rem, 2.4vw, 2.25rem);
	background-color: #fffaf0;
	background-image: url("../assets/img/hero-liquid-atmosphere.webp");
	background-position: center;
	background-size: cover;
	box-shadow: var(--fc-shadow);
}

.hero::before {
	display: none;
}

.hero-atmo {
	z-index: 0;
	opacity: 0.08;
	mix-blend-mode: multiply;
}

.hero-inner {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(20rem, 0.9fr) minmax(26rem, 1.1fr);
	align-items: center;
	gap: clamp(2rem, 6vw, 6rem);
	height: 100%;
	min-height: 0;
	max-width: var(--container);
	padding: clamp(3rem, 7vh, 5.5rem) clamp(2rem, 5vw, 5rem);
	padding-right: clamp(5.5rem, 8vw, 7.5rem);
	transform: translateY(calc(clamp(0, var(--heroP), 1) * -2.2rem));
	opacity: calc(1 - clamp(0, var(--heroP), 1) * 0.72);
}

.hero:has(.hero-journey) .hero-inner {
	padding-bottom: clamp(11rem, 16vw, 14rem);
}

.hero-copy {
	position: relative;
	z-index: 4;
	grid-column: 1;
	max-width: 39rem;
	transform: translateY(-1.5rem);
}

.hero-stage {
	grid-column: 1;
	min-width: 0;
}

.logo-hero {
	display: none;
}

.logo-hero-mark {
	width: clamp(2.15rem, 3.5vw, 3rem);
	height: clamp(2.15rem, 3.5vw, 3rem);
	color: var(--fc-green-2);
}

.logo-hero-word {
	font-size: clamp(0.82rem, 1.4vw, 1rem);
	letter-spacing: 0.18em;
	color: var(--fc-green);
}

.brand-word em,
.logo-hero-word em,
.lockup-text em {
	color: currentColor;
}

.hero-title {
	font-style: normal;
	font-size: clamp(4.45rem, 7.6vw, 7.1rem);
	line-height: 0.79;
	letter-spacing: -0.058em;
	color: var(--fc-green);
	text-shadow: none;
	max-width: 8.8ch;
	margin-bottom: clamp(1.75rem, 3vw, 2.5rem);
	text-wrap: balance;
}

.hero-rule {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	width: min(17rem, 72%);
	height: 1px;
	margin: -0.7rem 0 1.5rem;
	background: linear-gradient(90deg, var(--fc-saffron), rgba(7, 63, 46, 0.18), transparent);
}

.hero-cols {
	grid-template-columns: 1fr;
	gap: 0.65rem;
	max-width: 29rem;
	margin-bottom: clamp(1.4rem, 2.5vw, 2rem);
}

.hero-cols p {
	font-size: clamp(1rem, 1.35vw, 1.16rem);
	line-height: 1.55;
	color: var(--fc-ink);
	text-shadow: none;
}

.hero-cols p + p {
	display: none;
}

.hero-ctas {
	gap: 0.75rem;
	margin-bottom: 0.75rem;
}

.hero .cta {
	min-height: 3.1rem;
	border-radius: 999px;
}

.hero .cta-solid {
	background: var(--fc-green);
	color: #fffdf7;
	box-shadow: 0 15px 35px -22px rgba(7, 63, 46, 0.8);
}

.hero .cta-glass {
	color: var(--fc-ink);
	background: rgba(255, 250, 241, 0.54);
	border-color: rgba(7, 63, 46, 0.3);
	box-shadow: none;
}

.hero-pills {
	margin-bottom: 0.9rem;
}

.hero-pills > li:first-child,
.hero-pills > li:last-child {
	display: none;
}

.hero .pill {
	color: var(--fc-green);
	background: rgba(255, 250, 241, 0.46);
	border-color: rgba(7, 63, 46, 0.24);
}

.hero-hud {
	color: var(--fc-green);
	opacity: 0.72;
}

.hero-figure {
	position: absolute;
	z-index: 1;
	top: clamp(0.45rem, 1vh, 0.8rem);
	right: clamp(5.2rem, 7.2vw, 7rem);
	bottom: clamp(2.1rem, 5vh, 4rem);
	width: min(44vw, 40rem);
	transform: none;
	overflow: hidden;
	border: 1px solid rgba(255, 250, 241, 0.68);
	border-radius: 28% 7% 10% 30% / 16% 8% 14% 22%;
	clip-path: none;
	box-shadow:
		0 42px 85px -40px rgba(37, 29, 15, 0.62),
		-35px 20px 80px -40px rgba(240, 162, 27, 0.5);
}

.hero:has(.hero-journey) .hero-figure {
	bottom: clamp(12.5rem, 19vw, 15rem);
}

.hero-figure::after {
	background:
		linear-gradient(90deg, rgba(255, 250, 241, 0.26), transparent 27%),
		linear-gradient(0deg, rgba(7, 63, 46, 0.12), transparent 30%);
}

.hero-figure img,
.hero-figure picture {
	width: 100%;
	height: 100%;
}

.hero-figure img {
	min-height: 100%;
	object-fit: cover;
	object-position: center 48%;
	filter: saturate(1.03) contrast(1.02) brightness(1.02);
}

.hero-world-rail {
	position: absolute;
	z-index: 5;
	top: 50%;
	right: clamp(0.85rem, 1.8vw, 1.6rem);
	display: grid;
	gap: 0;
	width: clamp(3.6rem, 5vw, 4.9rem);
	transform: translateY(-50%);
}

.hero-world-link {
	position: relative;
	display: grid;
	justify-items: center;
	gap: 0.35rem;
	min-height: 6.2rem;
	padding: 0.55rem 0.2rem 1rem;
	font-family: "JetBrains Mono", ui-monospace, monospace;
	font-size: 0.58rem;
	letter-spacing: 0.1em;
	text-align: center;
	text-transform: uppercase;
	color: var(--fc-green);
}

.hero-world-link:not(:last-child)::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 1px;
	height: 1.1rem;
	background: rgba(7, 63, 46, 0.35);
}

.hero-world-number {
	font-size: 0.72rem;
	letter-spacing: 0;
}

.hero-world-dot {
	width: 0.75rem;
	height: 0.75rem;
	border-radius: 50%;
	background: var(--fc-green-2);
	box-shadow: 0 0 0 4px rgba(23, 104, 75, 0.08);
}

.hero-world-link:nth-child(2) .hero-world-dot {
	background: var(--fc-terracotta);
	box-shadow: 0 0 0 4px rgba(202, 91, 43, 0.08);
}

.hero-world-link:nth-child(3) .hero-world-dot {
	background: var(--fc-rose);
	box-shadow: 0 0 0 4px rgba(215, 110, 131, 0.08);
}

.hero-world-link:nth-child(2) {
	color: #844115;
}

.hero-world-link:nth-child(3) {
	color: var(--fc-plum);
}

.hero-world-link:hover .hero-world-label,
.hero-world-link:focus-visible .hero-world-label {
	text-decoration: underline;
	text-underline-offset: 0.25rem;
}

.hero-world-flow {
	position: absolute;
	inset: auto 0 0;
	z-index: 2;
	height: clamp(10rem, 18vw, 14rem);
	background: linear-gradient(96deg, rgba(58, 139, 80, 0.54), rgba(240, 162, 27, 0.58) 52%, rgba(215, 110, 131, 0.52));
	pointer-events: none;
}

.hero-journey {
	position: absolute;
	z-index: 4;
	left: 0;
	right: 0;
	bottom: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	min-height: clamp(10rem, 14vw, 12rem);
	padding-inline: clamp(2rem, 5vw, 5rem) clamp(5.2rem, 7.5vw, 7rem);
	background-color: rgba(255, 250, 241, 0.18);
	background-image: url("../assets/img/hero-liquid-atmosphere.webp");
	background-position: center bottom;
	background-size: 100% auto;
	border-top: 1px solid rgba(255, 250, 241, 0.42);
}

.hero-journey-link {
	position: relative;
	display: grid;
	grid-template-columns: auto 1fr auto;
	grid-template-rows: auto 1fr;
	column-gap: 1rem;
	align-content: center;
	padding: clamp(1.3rem, 2.5vw, 2rem);
	color: var(--fc-green);
	transition: background-color var(--dur-ui) var(--ease-soft), transform var(--dur-ui) var(--ease-soft);
}

.hero-journey-link:not(:last-child) {
	border-right: 1px solid rgba(7, 63, 46, 0.18);
}

.hero-journey-link:nth-child(2) {
	color: #5e2d12;
}

.hero-journey-link:nth-child(3) {
	color: #5c2944;
}

.hero-journey-link:hover,
.hero-journey-link:focus-visible {
	background: rgba(255, 250, 241, 0.24);
	transform: translateY(-3px);
}

.hero-journey-number {
	grid-column: 1;
	grid-row: 1 / span 2;
	font-family: "JetBrains Mono", ui-monospace, monospace;
	font-size: 0.7rem;
	letter-spacing: 0.08em;
}

.hero-journey-title {
	grid-column: 2;
	font-family: "Instrument Serif", Georgia, serif;
	font-size: clamp(2rem, 3.1vw, 3.15rem);
	font-weight: 400;
	line-height: 0.95;
	letter-spacing: -0.035em;
}

.hero-journey-copy {
	grid-column: 2;
	max-width: 17rem;
	margin-top: 0.65rem;
	font-size: clamp(0.78rem, 1vw, 0.92rem);
	line-height: 1.45;
}

.hero-journey-arrow {
	grid-column: 3;
	grid-row: 1 / span 2;
	align-self: end;
	display: grid;
	place-items: center;
	width: 2.5rem;
	height: 2.5rem;
	border: 1px solid currentColor;
	border-radius: 50%;
	font-size: 1.2rem;
}

.hero-journey-arrow svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
}

.hero:has(.hero-journey) .hero-inner > .hero-hud {
	display: none;
}

.scroll-cue {
	z-index: 6;
	bottom: 0.8rem;
	color: var(--fc-green);
}

.hero:has(.hero-journey) .scroll-cue {
	display: none;
}

.story,
.worlds,
.promises,
.faq,
.contact {
	--fc-section-ink: var(--fc-green);
	--fc-section-accent: var(--fc-green-2);
	position: relative;
	color: var(--fc-ink);
}

.story {
	background:
		radial-gradient(680px 480px at 5% 70%, rgba(184, 213, 172, 0.42), transparent 68%),
		linear-gradient(180deg, rgba(255, 250, 241, 0.36), rgba(237, 242, 224, 0.76));
}

.worlds {
	background: linear-gradient(180deg, rgba(237, 242, 224, 0.76), rgba(255, 247, 232, 0.88));
}

.module {
	position: relative;
	overflow: hidden;
	color: var(--fc-ink);
	border-block: 1px solid rgba(7, 63, 46, 0.08);
}

.module-food {
	--fc-section-ink: #073f2e;
	--fc-section-accent: #1b7a50;
	background:
		radial-gradient(900px 620px at 4% 12%, rgba(142, 192, 126, 0.38), transparent 66%),
		radial-gradient(760px 520px at 95% 82%, rgba(240, 162, 27, 0.12), transparent 68%),
		linear-gradient(180deg, rgba(246, 244, 230, 0.9) 0%, rgba(228, 237, 218, 0.82) 52%, rgba(247, 237, 218, 0.9) 100%);
}

.module-masala {
	--fc-section-ink: #5d2c16;
	--fc-section-accent: #b54d1f;
	background:
		radial-gradient(880px 620px at 7% 16%, rgba(247, 187, 70, 0.36), transparent 66%),
		radial-gradient(760px 560px at 92% 80%, rgba(202, 91, 43, 0.26), transparent 68%),
		linear-gradient(180deg, rgba(255, 243, 215, 0.9) 0%, rgba(248, 217, 155, 0.8) 50%, rgba(245, 225, 202, 0.9) 100%);
}

.module-ladies {
	--fc-section-ink: #5e2945;
	--fc-section-accent: #a63f64;
	background:
		radial-gradient(880px 620px at 6% 20%, rgba(255, 224, 217, 0.72), transparent 66%),
		radial-gradient(800px 560px at 92% 78%, rgba(188, 88, 122, 0.3), transparent 68%),
		linear-gradient(180deg, rgba(255, 241, 237, 0.9) 0%, rgba(243, 203, 211, 0.8) 52%, rgba(248, 231, 224, 0.9) 100%);
}

.module .section-title,
.module .chapter,
.module .chapter b,
.module .section-lede,
.module .section-lede strong,
.module .lockup,
.module .lockup-text,
.module .lockup-text b,
.module .lockup-text small {
	color: var(--fc-section-ink);
}

.theme-bridge {
	max-width: none;
	padding: clamp(3.5rem, 7vw, 6rem) clamp(1.25rem, 4vw, 3rem);
	background: var(--fc-paper-soft);
}

.bridge-masala {
	color: #9c4a1f;
	background: linear-gradient(180deg, #f7edda, #fff3d7);
}

.bridge-ladies {
	color: #9a4463;
	background: linear-gradient(180deg, #f5e1ca, #fff1ed);
}

.bridge-note {
	color: currentColor;
}

.photo,
.signature-figure,
.masala-hero-figure,
.ladies-hero-figure {
	border-color: rgba(7, 63, 46, 0.13);
	box-shadow: 0 35px 80px -46px rgba(34, 39, 22, 0.58);
}

.story-visual .photo {
	border-radius: 31% 8% 27% 10% / 14% 23% 11% 28%;
}

.signature-figure {
	border-radius: 9% 29% 11% 25% / 18% 10% 26% 13%;
}

.signature-figure .photo {
	border-radius: inherit;
}

.masala-hero-figure {
	border-radius: 28% 8% 24% 10% / 14% 25% 10% 21%;
}

.ladies-hero-figure {
	border-radius: 8% 26% 10% 29% / 24% 11% 28% 12%;
}

.photo img,
.signature-figure img,
.masala-hero-figure img,
.ladies-hero-figure img {
	filter: saturate(1.02) contrast(1.02);
}

.glass,
.card,
.world,
.faq-item {
	background: rgba(255, 250, 241, 0.68);
	border-color: rgba(7, 63, 46, 0.17);
	box-shadow: 0 22px 55px -42px rgba(45, 39, 24, 0.55);
}

.glass::before {
	background: linear-gradient(145deg, rgba(255, 255, 250, 0.88), rgba(7, 63, 46, 0.08) 60%, transparent);
}

.world-food {
	background: linear-gradient(155deg, rgba(223, 239, 213, 0.92), rgba(255, 250, 241, 0.75));
	border-color: rgba(23, 104, 75, 0.28);
	--fc-card-accent: var(--fc-green-2);
}

.world-masala {
	background: linear-gradient(155deg, rgba(255, 226, 155, 0.9), rgba(255, 247, 228, 0.76));
	border-color: rgba(202, 91, 43, 0.3);
	--fc-card-accent: #a94a1f;
}

.world-ladies {
	background: linear-gradient(155deg, rgba(249, 211, 218, 0.92), rgba(255, 246, 242, 0.78));
	border-color: rgba(166, 63, 100, 0.28);
	--fc-card-accent: #9d3f62;
}

.world h3,
.card h3,
.faq-q,
.world p,
.card > p,
.card-cta,
.world-num,
.masala-usage,
.masala-meta,
.masala-meta strong,
.class-topic,
.class-meta,
.class-meta b,
.faq-a p {
	color: var(--fc-ink);
}

.world-num,
.world .card-cta {
	color: var(--fc-card-accent, var(--fc-green-2));
}

.module-food .card-cta,
.module-food .class-topic,
.module-food .masala-usage {
	color: var(--fc-green-2);
}

.module-masala .card-cta,
.module-masala .class-topic,
.module-masala .masala-usage,
.module-masala .masala-meta strong {
	color: #9f421b;
}

.module-ladies .card-cta,
.module-ladies .class-topic,
.module-ladies .masala-usage {
	color: #96385c;
}

.card:hover,
.world:hover {
	border-color: var(--fc-section-accent);
	box-shadow: 0 30px 70px -42px rgba(45, 39, 24, 0.65);
}

.pill,
.occasion-tags li {
	color: var(--fc-section-ink);
	background: rgba(255, 250, 241, 0.56);
	border-color: color-mix(in srgb, var(--fc-section-ink) 22%, transparent);
}

.story-copy > p,
.signature-copy > p,
.party-copy > p,
.masala-hero-copy > p,
.ladies-hero-copy > p,
.community-copy > p,
.contact-copy > p,
.shop-note,
.step p,
.promise p,
.story-points li,
.occasion-tags li,
.form-note {
	color: var(--fc-muted);
}

.story-points svg,
.step::before {
	fill: var(--fc-section-accent);
	background: var(--fc-section-accent);
}

.story-chip strong,
.shop-note a,
.wa-link {
	color: var(--fc-section-accent);
}

.story-chip span {
	color: var(--fc-section-ink);
}

.step-num {
	-webkit-text-stroke-color: color-mix(in srgb, var(--fc-section-ink) 48%, transparent);
}

.step h3,
.promise h3 {
	color: var(--fc-section-ink);
}

.steps::before {
	background: linear-gradient(90deg, var(--fc-section-accent), rgba(7, 63, 46, 0.1));
}

.party {
	background:
		radial-gradient(720px 480px at 78% 30%, rgba(240, 162, 27, 0.2), transparent 60%),
		linear-gradient(180deg, rgba(255, 248, 229, 0.5), rgba(235, 225, 199, 0.72));
}

.party::before {
	background:
		radial-gradient(720px 480px at 78% 30%, rgba(240, 162, 27, 0.16), transparent 60%),
		radial-gradient(640px 420px at 12% 80%, rgba(89, 152, 93, 0.14), transparent 60%);
}

.promise-grid {
	background: rgba(255, 250, 241, 0.62);
	border-color: rgba(7, 63, 46, 0.16);
	box-shadow: var(--fc-shadow);
}

.promise {
	border-color: rgba(7, 63, 46, 0.12);
}

.promise strong {
	color: var(--fc-green);
}

.faq-item.open {
	border-color: var(--fc-green-2);
}

.faq-q .fx {
	border-color: rgba(7, 63, 46, 0.24);
}

.faq-q .fx::before,
.faq-q .fx::after {
	background: var(--fc-green-2);
}

.contact {
	background:
		radial-gradient(760px 500px at 16% 20%, rgba(184, 213, 172, 0.44), transparent 60%),
		radial-gradient(680px 460px at 88% 78%, rgba(240, 162, 27, 0.2), transparent 60%),
		linear-gradient(180deg, #fffaf1, #eee7d7);
}

.contact::before {
	background: none;
}

.enquiry-form {
	background: rgba(255, 250, 241, 0.8);
	box-shadow: var(--fc-shadow);
}

.field span {
	color: var(--fc-green);
}

.field input,
.field select,
.field textarea {
	color: var(--fc-ink);
	background-color: rgba(255, 255, 250, 0.84);
	border-color: rgba(7, 63, 46, 0.22);
}

.field input:focus,
.field select:focus,
.field textarea:focus {
	border-color: var(--fc-green-2);
	box-shadow: 0 0 0 3px rgba(23, 104, 75, 0.16);
}

.field select {
	background-image:
		linear-gradient(45deg, transparent 50%, var(--fc-green) 50%),
		linear-gradient(135deg, var(--fc-green) 50%, transparent 50%);
}

.field option {
	background: var(--fc-paper-soft);
	color: var(--fc-ink);
}

.form-error {
	color: #a43027;
}

.cta-solid,
.cta-light {
	background: linear-gradient(96deg, #f7b92f, #ec8b08);
	color: #191407;
	border-color: rgba(117, 67, 4, 0.2);
}

.cta-glass {
	color: var(--fc-green);
	background: rgba(255, 250, 241, 0.66);
	border-color: rgba(7, 63, 46, 0.25);
}

.cta::before {
	background: linear-gradient(96deg, #ffcf59, #e97509);
}

.sticky-bar {
	color: var(--fc-green);
	background: rgba(255, 250, 241, 0.92);
	border-color: rgba(7, 63, 46, 0.18);
	box-shadow: 0 22px 60px -34px rgba(7, 63, 46, 0.48);
}

.sticky-brand span,
.module-pills a {
	color: var(--fc-muted);
}

.module-pills a.is-current {
	color: #fffdf7;
	background: var(--fc-green);
}

.rail a {
	border-color: rgba(7, 63, 46, 0.34);
}

.rail a:hover,
.rail a.is-current {
	background: var(--fc-green-2);
	border-color: var(--fc-green-2);
}

.site-footer {
	color: var(--fc-green);
	background:
		radial-gradient(560px 360px at 15% 90%, rgba(184, 213, 172, 0.34), transparent 68%),
		linear-gradient(180deg, #ede5d4, #f8f1e5);
	border-top: 1px solid rgba(7, 63, 46, 0.12);
}

.footer-logo,
.footer-tag,
.footer-nav a,
.footer-fine,
.footer-tag em {
	color: var(--fc-green);
}

.footer-mark {
	color: var(--fc-green-2);
}

.scroll-syrup {
	background: linear-gradient(90deg, var(--fc-green-2), var(--fc-saffron), var(--fc-rose));
}

.cursor-dot {
	background: var(--fc-green);
}

.cursor-blob {
	border-color: rgba(7, 63, 46, 0.48);
}

body.cursor-hot .cursor-blob {
	border-color: var(--fc-saffron);
}

@supports not (clip-path: polygon(0 0)) {
	.hero-figure {
		border-radius: 30% 8% 12% 28% / 18% 10% 16% 24%;
	}
}

@media (max-width: 76rem) {
	.hero-inner {
		grid-template-columns: minmax(19rem, 0.92fr) minmax(22rem, 1.08fr);
		padding-left: clamp(2rem, 4vw, 3.5rem);
	}

	.hero-title {
		font-size: clamp(4.4rem, 8.2vw, 6.8rem);
	}

	.hero-figure {
		width: 51vw;
	}

	.hero-journey-copy {
		display: none;
	}

	.hero-journey-steps .hero-journey-link {
		grid-template-rows: 1fr;
	}
}

@media (max-width: 64rem) {
	body {
		background-attachment: scroll;
	}

	.hero {
		display: block;
		height: auto;
		min-height: auto;
		max-height: none;
		padding: 0;
	}

	.hero-inner,
	.hero:has(.hero-journey) .hero-inner {
		display: block;
		height: auto;
		min-height: 0;
		padding: clamp(3rem, 8vw, 5rem) clamp(1.5rem, 6vw, 3rem) 1.5rem;
	}

	.hero-stage {
		display: flex;
		flex-direction: column;
	}

	.hero-copy {
		max-width: 43rem;
	}

	.hero-title {
		font-size: clamp(4.4rem, 13vw, 7.2rem);
		max-width: 7.2ch;
	}

	.hero-figure,
	.hero:has(.hero-journey) .hero-figure {
		position: relative;
		order: -1;
		inset: auto;
		width: auto;
		height: clamp(22rem, 62vw, 34rem);
		margin: 0 clamp(1rem, 4vw, 2rem) 1rem;
		clip-path: none;
		border-radius: 18% 6% 9% 20% / 12% 7% 14% 10%;
	}

	.hero-figure[data-parallax] {
		transform: translateY(var(--py, 0px));
	}

	.hero-world-rail {
		position: relative;
		top: auto;
		right: auto;
		width: auto;
		margin: 0 clamp(1rem, 4vw, 2rem) 1rem;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		transform: none;
	}

	.hero-world-link {
		min-height: 3.5rem;
		grid-template-columns: auto auto;
		align-items: center;
		justify-content: center;
		padding: 0.6rem;
	}

	.hero-world-link:not(:last-child)::after {
		left: auto;
		right: 0;
		top: 15%;
		bottom: 15%;
		height: auto;
	}

	.hero-world-label {
		grid-column: 1 / -1;
	}

	.hero-world-flow,
	.hero-journey {
		position: relative;
		inset: auto;
	}

	.hero-world-flow {
		display: none;
	}

	.hero-journey {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		min-height: 0;
		padding: 0;
	}

	.hero-journey-link {
		min-height: 9.5rem;
		padding: 1.25rem;
	}

	.hero-journey-title {
		font-size: clamp(1.9rem, 4.7vw, 2.6rem);
	}

	.section-title {
		font-size: clamp(3.25rem, 9vw, 5.25rem);
	}

	.main-nav,
	.header-cta {
		display: none;
	}

	.mobile-menu .cta,
	.nav-toggle {
		display: flex;
	}

	.rail {
		display: none;
	}
}

@media (max-width: 42rem) {
	:root {
		--topline-h: 1.7rem;
		--header-h: 3.9rem;
	}

	body {
		font-size: 0.96rem;
	}

	.ticker-track {
		font-size: 0.58rem;
	}

	.header-inner {
		padding-inline: 1.05rem;
	}

	.brand-word {
		font-size: 0.84rem;
	}

	.brand-mark {
		width: 1.55rem;
		height: 1.55rem;
	}

	.hero {
		margin-inline: 0.45rem;
		border-radius: 1.35rem;
	}

	.hero-inner,
	.hero:has(.hero-journey) .hero-inner {
		padding: 2.4rem 1.15rem 1.25rem;
	}

	.logo-hero {
		display: none;
	}

	.hero-title {
		font-size: clamp(3.3rem, 14.5vw, 4.1rem);
		line-height: 0.82;
		max-width: 9ch;
		margin-bottom: 1.5rem;
	}

	.hero-cols {
		margin-bottom: 1.2rem;
	}

	.hero-cols p {
		font-size: 0.96rem;
	}

	.hero-cols p + p {
		display: none;
	}

	.hero-ctas {
		display: grid;
		grid-template-columns: 1fr;
	}

	.hero-ctas .cta {
		justify-content: center;
		width: 100%;
	}

	.hero-pills {
		gap: 0.4rem;
	}

	.hero .pill {
		font-size: 0.57rem;
		padding: 0.35rem 0.65rem;
	}

	.hero-hud {
		display: none;
	}

	.hero-figure,
	.hero:has(.hero-journey) .hero-figure {
		height: min(62vw, 22rem);
		margin-inline: 0.75rem;
		border-radius: 15% 6% 10% 18% / 12% 8% 15% 11%;
	}

	.hero-world-rail {
		margin-inline: 0.75rem;
		border: 1px solid rgba(7, 63, 46, 0.14);
		border-radius: 1rem;
		background: rgba(255, 250, 241, 0.42);
		overflow: hidden;
	}

	.hero-world-link {
		font-size: 0.52rem;
	}

	.hero-journey {
		grid-template-columns: 1fr;
		background: transparent;
		border-top: 0;
	}

	.hero-journey-link {
		grid-template-columns: auto 1fr auto;
		grid-template-rows: auto 1fr;
		min-height: 0;
		padding: 1rem 1.15rem;
		border-right: 0 !important;
		border-top: 1px solid rgba(7, 63, 46, 0.14);
	}

	.hero-journey-link:nth-child(1) {
		background: rgba(89, 152, 93, 0.34);
	}

	.hero-journey-link:nth-child(2) {
		background: rgba(240, 162, 27, 0.34);
	}

	.hero-journey-link:nth-child(3) {
		background: rgba(215, 110, 131, 0.34);
	}

	.hero-journey-copy {
		display: block;
		font-size: 0.76rem;
	}

	.hero-journey-title {
		font-size: 2rem;
	}

	.hero-journey-arrow {
		width: 2.1rem;
		height: 2.1rem;
	}

	.section {
		padding-block: 4.25rem;
	}

	.section-inner {
		padding-inline: 1.15rem;
	}

	.section-title {
		font-size: clamp(3rem, 14vw, 4.25rem);
	}

	.section-head {
		margin-bottom: 2.5rem;
	}

	.story-visual .photo,
	.signature-figure,
	.masala-hero-figure,
	.ladies-hero-figure {
		border-radius: 1.4rem;
		transform: none;
	}

	.card,
	.world,
	.glass,
	.faq-item {
		border-radius: 1rem;
	}

	.sticky-bar {
		bottom: 0.55rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.atmos,
	.hero-atmo,
	.hero-world-flow {
		display: none !important;
	}

	.hero-inner,
	.hero-figure,
	.hero-journey-link,
	.hero-world-link {
		transform: none !important;
	}

	.hero-figure img {
		translate: none !important;
	}
}

@media (max-width: 64rem) {
	.hero-copy {
		transform: none;
	}

	.hero:has(.hero-journey) .hero-inner {
		opacity: 1;
		transform: none;
	}
}

.brand {
	flex: 0 0 auto;
	width: clamp(9.6rem, 13vw, 11.25rem);
}

.brand-logo-shell {
	display: block;
	width: 100%;
	overflow: hidden;
}

.brand-logo,
.logo-hero-image,
.lockup-logo,
.footer-logo img {
	display: block;
	width: 100%;
	height: auto;
}

.brand-logo {
	opacity: 1;
	clip-path: none;
	translate: none;
	filter: drop-shadow(0 8px 18px rgba(7, 63, 46, 0.08));
}

body.is-loaded .brand-logo {
	opacity: 1;
	clip-path: inset(0 0 0 0);
	translate: none;
}

.brand-mark,
.brand-word,
.lockup-mark,
.lockup-text,
.footer-mark {
	display: none;
}

.lockup {
	display: flex;
	align-items: center;
	gap: 0.85rem;
}

.lockup-logo {
	width: clamp(8.75rem, 15vw, 11.5rem);
}

.lockup-module {
	padding-left: 0.85rem;
	border-left: 1px solid currentColor;
	font-family: "FC Montserrat", "Inter", sans-serif;
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	line-height: 1.35;
	text-transform: uppercase;
}

.footer-logo {
	width: min(14rem, 68vw);
}

.logo-hero-image {
	width: clamp(12rem, 19vw, 16rem);
}

.main-nav,
.cta,
.pill,
.nav-toggle,
.sticky-bar,
.module-pills,
.world .card-cta {
	font-family: "FC Montserrat", "Inter", sans-serif;
}

.hero-title {
	font-family: "Instrument Serif", Georgia, serif;
	font-style: italic;
	font-weight: 400;
	font-size: clamp(4.45rem, 6.6vw, 6.2rem);
	line-height: 0.91;
	letter-spacing: -0.045em;
	max-width: 9.2ch;
}

.hero-cols p {
	font-family: "FC Cormorant", "Instrument Serif", Georgia, serif;
	font-size: clamp(1.2rem, 1.65vw, 1.48rem);
	font-weight: 600;
	line-height: 1.38;
	letter-spacing: 0.005em;
}

.hero {
	--liquid-shift-x: 0px;
	--liquid-shift-y: 0px;
	--liquid-scroll-y: 0px;
	--liquid-rotate: 0deg;
}

.hero::before {
	content: "";
	display: block;
	position: absolute;
	inset: -9%;
	z-index: 1;
	pointer-events: none;
	background: url("../assets/img/hero-liquid-atmosphere.webp") center / cover no-repeat;
	opacity: 0.38;
	mix-blend-mode: soft-light;
	filter: saturate(1.18) contrast(1.08) blur(1px);
	transform: translate3d(
		var(--liquid-shift-x),
		calc(var(--liquid-shift-y) + var(--liquid-scroll-y)),
		0
	) scale(1.11) rotate(var(--liquid-rotate));
	transform-origin: 50% 50%;
	transition: transform 0.72s cubic-bezier(0.22, 1, 0.36, 1);
	will-change: transform;
}

.hero-atmo {
	z-index: 2;
	opacity: 0.16;
	mix-blend-mode: multiply;
}

.hero-copy,
.hero-figure,
.hero-journey {
	z-index: 4;
}

.hero-figure[data-parallax] {
	transform: translate3d(0, var(--py, 0px), 0);
}

.hero:has(.hero-journey) .hero-inner {
	padding-bottom: clamp(8.75rem, 12vw, 10.25rem);
}

.hero:has(.hero-journey) .hero-figure {
	bottom: clamp(9rem, 12.5vw, 10.5rem);
}

.hero-journey {
	position: absolute;
	inset: auto 0 0;
	display: grid;
	grid-template-columns: minmax(8.5rem, 0.75fr) minmax(31rem, 2.8fr) minmax(8.5rem, 0.75fr);
	align-items: center;
	gap: clamp(1rem, 2.5vw, 2.5rem);
	min-height: clamp(6.9rem, 8vw, 7.6rem);
	padding: 0.9rem clamp(2rem, 4.8vw, 4.8rem) 1.55rem;
	color: var(--fc-green);
	background: rgba(255, 250, 241, 0.66);
	border-top: 1px solid rgba(7, 63, 46, 0.14);
	-webkit-backdrop-filter: blur(14px) saturate(1.08);
	backdrop-filter: blur(14px) saturate(1.08);
}

.hero-journey-kicker,
.hero-journey-scroll {
	color: var(--fc-green);
	font-size: 0.62rem;
	letter-spacing: 0.15em;
}

.hero-journey-scroll {
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0.65rem;
	white-space: nowrap;
}

.hero-journey-scroll span {
	display: grid;
	place-items: center;
	width: 2.15rem;
	height: 2.15rem;
	border: 1px solid currentColor;
	border-radius: 50%;
	font-size: 1rem;
}

.hero-journey-steps {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(0.75rem, 2vw, 2.2rem);
}

.hero-journey-link {
	--step-color: var(--fc-green-2);
	position: relative;
	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-rows: auto auto;
	column-gap: 0.6rem;
	align-items: center;
	min-height: 3.2rem;
	padding: 0.25rem 0 0.65rem;
	color: var(--step-color);
	opacity: 0.55;
	transition:
		opacity var(--dur-ui) var(--ease-soft),
		translate var(--dur-ui) var(--ease-soft);
}

.hero-journey-masala {
	--step-color: #b35119;
}

.hero-journey-ladies {
	--step-color: #a33f64;
}

.hero-journey-link::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 2px;
	border-radius: 999px;
	background: var(--step-color);
	transform: scaleX(0.24);
	transform-origin: left;
	transition: transform var(--dur-ui) var(--ease-soft);
}

.hero-journey-link:hover,
.hero-journey-link:focus-visible,
.hero-journey-link.is-current {
	opacity: 1;
	translate: 0 -0.15rem;
}

.hero-journey-link.is-current::after {
	transform: scaleX(1);
}

.hero-journey-number {
	grid-column: 1;
	grid-row: 1;
	font-family: "JetBrains Mono", ui-monospace, monospace;
	font-size: 0.62rem;
	letter-spacing: 0.08em;
}

.hero-journey-title {
	grid-column: 1 / -1;
	grid-row: 2;
	font-family: "Inter", system-ui, sans-serif;
	font-size: clamp(0.86rem, 1vw, 1rem);
	font-weight: 700;
	line-height: 1.06;
	letter-spacing: -0.02em;
}

.hero-journey-dot {
	grid-column: 2;
	grid-row: 1;
	justify-self: end;
	width: 0.46rem;
	height: 0.46rem;
	border: 1px solid currentColor;
	border-radius: 50%;
	background: transparent;
	transition: background-color var(--dur-ui), box-shadow var(--dur-ui);
}

.hero-journey-link.is-current .hero-journey-dot {
	background: currentColor;
	box-shadow: 0 0 0 4px color-mix(in srgb, currentColor 14%, transparent);
}

.hero-journey-arrow {
	display: none;
}

.hero-journey-track {
	position: absolute;
	left: clamp(2rem, 4.8vw, 4.8rem);
	right: clamp(2rem, 4.8vw, 4.8rem);
	bottom: 0.7rem;
	height: 1px;
	background: linear-gradient(90deg, rgba(23, 104, 75, 0.2), rgba(179, 81, 25, 0.22), rgba(163, 63, 100, 0.2));
	overflow: hidden;
}

.hero-journey-fill {
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, var(--fc-green-2), var(--fc-saffron) 51%, var(--fc-rose));
	transform: scaleX(var(--world-progress, 0));
	transform-origin: left;
	will-change: transform;
}

.world-slider {
	--world-slider-progress: 0;
	position: relative;
	height: 250svh;
	padding: 0;
	overflow: visible;
	background:
		radial-gradient(900px 620px at 8% 18%, rgba(184, 213, 172, 0.44), transparent 66%),
		linear-gradient(180deg, rgba(237, 242, 224, 0.96), rgba(255, 247, 232, 0.94));
}

.world-slider-sticky {
	position: sticky;
	top: calc(var(--topline-h) + var(--header-h));
	display: flex;
	align-items: center;
	height: calc(100svh - var(--topline-h) - var(--header-h));
	min-height: 0;
}

.world-slider .section-inner {
	width: 100%;
	max-width: none;
	padding-inline: clamp(1.25rem, 4vw, 4rem);
}

.world-slider .section-head {
	max-width: var(--container);
	margin: 0 auto clamp(1.2rem, 2vh, 1.8rem);
}

.world-slider .section-title {
	font-size: clamp(2.7rem, 4vw, 4.1rem);
}

.world-slider-viewport {
	max-width: var(--container);
	margin-inline: auto;
	overflow: hidden;
	border-radius: clamp(1.2rem, 2vw, 1.8rem);
	box-shadow: var(--fc-shadow);
}

.world-slider .world-grid {
	display: flex;
	width: 300%;
	gap: 0;
	will-change: transform;
}

.world-slider .world {
	flex: 0 0 calc(100% / 3);
	display: grid;
	grid-template-columns: minmax(0, 1.18fr) minmax(18rem, 0.82fr);
	height: clamp(20rem, 42vh, 25rem);
	min-height: 0;
	border: 1px solid rgba(7, 63, 46, 0.15);
	border-radius: inherit;
	transform: none;
	box-shadow: none;
	overflow: hidden;
}

.world-slider .world-media {
	display: block;
	min-height: 100%;
	overflow: hidden;
	clip-path: inset(0 8% 0 0 round 0 16% 16% 0);
	transition:
		clip-path 1.05s var(--ease-soft),
		opacity 0.65s var(--ease-out);
}

.world-slider .world-media img {
	width: 100%;
	height: 100%;
	aspect-ratio: auto;
	object-fit: cover;
	transform: scale(1.075);
	transition: transform 1.2s var(--ease-soft);
}

.world-slider .world.is-active .world-media {
	clip-path: inset(0 0 0 0 round 0);
}

.world-slider .world.is-active .world-media img {
	transform: scale(1.01);
}

.world-slider .world-body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 0;
	padding: clamp(1.5rem, 3vh, 2.25rem) clamp(1.75rem, 3vw, 3rem);
}

.world-slider .world-num {
	font-family: "JetBrains Mono", ui-monospace, monospace;
	font-size: 0.68rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.world-slider .world h3 {
	font-family: "Inter", system-ui, sans-serif;
	font-size: clamp(2.3rem, 3.15vw, 3.9rem);
	font-weight: 700;
	line-height: 1.02;
	letter-spacing: -0.045em;
	color: var(--fc-card-accent, var(--fc-green));
	text-wrap: balance;
}

.world-slider .world p {
	max-width: 28rem;
	font-size: clamp(0.96rem, 1.2vw, 1.12rem);
	line-height: 1.6;
	color: var(--fc-ink);
	opacity: 0.78;
}

.world-slider-footer {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 1.2rem;
	max-width: var(--container);
	margin: clamp(1.3rem, 2.6vh, 2rem) auto 0;
	color: var(--fc-green);
}

.world-slider-line {
	height: 1px;
	background: rgba(7, 63, 46, 0.18);
	overflow: hidden;
}

.world-slider-line i {
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, var(--fc-green-2), var(--fc-saffron), var(--fc-rose));
	transform: scaleX(var(--world-slider-progress));
	transform-origin: left;
}

.world-slider-count b {
	color: var(--fc-green);
}

.world-slider.is-static {
	height: auto;
	padding-block: clamp(5rem, 9vw, 8rem);
	overflow: hidden;
}

.world-slider.is-static .world-slider-sticky {
	position: static;
	display: block;
	height: auto;
	min-height: 0;
}

.world-slider.is-static .world-slider-viewport {
	overflow: visible;
	box-shadow: none;
}

.world-slider.is-static .world-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	width: auto;
	gap: 1rem;
	transform: none !important;
}

.world-slider.is-static .world {
	min-height: 0;
	border-radius: 1.2rem;
}

.world-slider.is-static .world-media,
.world-slider.is-static .world-media img {
	clip-path: none;
	transform: none;
}

.world-slider.is-static .world-slider-footer {
	display: none;
}

@media (max-width: 64rem) {
	.brand {
		width: clamp(9rem, 22vw, 10.4rem);
	}

	.hero::before {
		opacity: 0.38;
		transform: translate3d(
			var(--liquid-shift-x),
			calc(var(--liquid-shift-y) + var(--liquid-scroll-y)),
			0
		) scale(1.1) rotate(var(--liquid-rotate));
		transition-duration: 0.34s;
	}

	.hero-atmo {
		opacity: 0.24;
	}

	.hero:has(.hero-journey) .hero-inner {
		padding-bottom: 1.4rem;
	}

	.hero:has(.hero-journey) .hero-figure {
		bottom: auto;
	}

	.hero-title {
		line-height: 0.93;
	}

	.hero-journey {
		position: relative;
		inset: auto;
		display: block;
		min-height: 0;
		margin: 0 clamp(1rem, 4vw, 2rem) 1.4rem;
		padding: 0;
		background: transparent;
		border: 0;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.hero-journey-kicker,
	.hero-journey-track {
		display: none;
	}

	.hero-journey-steps {
		display: grid;
		grid-template-columns: 1fr;
		gap: 0.65rem;
	}

	.hero-journey-steps .hero-journey-link {
		display: grid;
		grid-template-columns: auto 1fr auto;
		grid-template-rows: 1fr;
		gap: 0.85rem;
		min-height: 3.75rem;
		padding: 0.75rem 1rem;
		border: 1px solid color-mix(in srgb, currentColor 48%, transparent);
		border-radius: 999px;
		background: rgba(255, 250, 241, 0.26);
		opacity: 0.78;
	}

	.hero-journey-link::after {
		display: none;
	}

	.hero-journey-steps .hero-journey-link:hover,
	.hero-journey-steps .hero-journey-link:focus-visible,
	.hero-journey-steps .hero-journey-link.is-current {
		background: rgba(255, 250, 241, 0.74);
		opacity: 1;
		translate: none;
	}

	.hero-journey-number,
	.hero-journey-title,
	.hero-journey-arrow {
		grid-row: 1;
	}

	.hero-journey-number {
		grid-column: 1;
	}

	.hero-journey-title {
		grid-column: 2;
		font-size: 0.96rem;
	}

	.hero-journey-dot {
		display: none;
	}

	.hero-journey-arrow {
		grid-column: 3;
		display: grid;
		place-items: center;
		width: 2rem;
		height: 2rem;
		border: 0;
	}

	.hero-journey-arrow svg {
		width: 1rem;
		height: 1rem;
		fill: currentColor;
	}

	.hero-journey-scroll {
		justify-content: center;
		width: 100%;
		margin-top: 1rem;
	}

	.world-slider,
	.world-slider.is-static {
		height: auto;
		padding-block: clamp(5rem, 9vw, 8rem);
		overflow: hidden;
	}

	.world-slider-sticky {
		position: static;
		display: block;
		height: auto;
		min-height: 0;
	}

	.world-slider .section-head {
		margin-bottom: 2.5rem;
	}

	.world-slider-viewport {
		overflow: visible;
		box-shadow: none;
	}

	.world-slider .world-grid {
		display: grid;
		width: auto;
		gap: 1rem;
		transform: none !important;
	}

	.world-slider .world {
		display: block;
		min-height: 0;
		border-radius: 1.2rem;
	}

	.world-slider .world-media {
		min-height: 0;
		clip-path: none;
	}

	.world-slider .world-media img {
		height: auto;
		aspect-ratio: 16 / 10;
		transform: none;
	}

	.world-slider .world-body {
		display: block;
		padding: 1.4rem 1.5rem 1.7rem;
	}

	.world-slider .world h3 {
		font-size: clamp(1.8rem, 6vw, 2.55rem);
	}

	.world-slider-footer {
		display: none;
	}
}

html[data-fluid="webgl"] .atmos {
	opacity: 0.72;
	filter: saturate(1.24) brightness(1.08) contrast(1.15);
}

html[data-fluid="webgl"] .hero::before {
	display: none;
}

html[data-fluid="webgl"] .hero-atmo {
	display: none;
}

html[data-fluid="webgl"] .hero {
	background-color: transparent;
	background-image:
		linear-gradient(rgba(255, 250, 240, 0.12), rgba(255, 250, 240, 0.12)),
		linear-gradient(
			96deg,
			rgba(184, 213, 172, 0.07) 0%,
			rgba(240, 162, 27, 0.1) 52%,
			rgba(215, 110, 131, 0.13) 100%
		);
}

html[data-fluid="webgl"] .hero .cta-solid {
	background: linear-gradient(96deg, rgba(7, 63, 46, 0.9), rgba(23, 104, 75, 0.84));
}

html[data-fluid="webgl"] .site-header:not(.is-scrolled) .header-cta {
	background: linear-gradient(96deg, rgba(247, 185, 47, 0.9), rgba(236, 139, 8, 0.82));
}

@media (min-width: 64.001rem) {
	html[data-fluid="webgl"] .hero-journey {
		background: rgba(255, 250, 241, 0.46);
	}
}

.theme-bridge {
	overflow: hidden;
	isolation: isolate;
}

.theme-bridge::before,
.theme-bridge::after {
	content: "";
	position: absolute;
	z-index: 1;
	left: -10%;
	width: 120%;
	pointer-events: none;
	border: 1px solid color-mix(in srgb, currentColor 22%, transparent);
	background: color-mix(in srgb, currentColor 9%, transparent);
	filter: blur(0.2px);
	transform-origin: 50% 50%;
}

.theme-bridge::before {
	top: 23%;
	height: 34%;
	border-radius: 46% 54% 55% 45% / 44% 42% 58% 56%;
	animation: fc-membrane-drift 11s ease-in-out infinite alternate;
}

.theme-bridge::after {
	top: 42%;
	height: 27%;
	border-radius: 53% 47% 42% 58% / 51% 58% 42% 49%;
	opacity: 0.72;
	animation: fc-membrane-drift 14s ease-in-out -5s infinite alternate-reverse;
}

@keyframes fc-membrane-drift {
	0% { transform: translate3d(-1.8%, -5%, 0) rotate(-0.7deg) scaleX(1.02); }
	100% { transform: translate3d(2.2%, 7%, 0) rotate(0.8deg) scaleX(0.99); }
}

.motion-media {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	min-height: inherit;
	overflow: hidden;
	background:
		radial-gradient(circle at 22% 18%, color-mix(in srgb, var(--t-accent) 24%, transparent), transparent 48%),
		linear-gradient(145deg, rgba(24, 72, 51, 0.32), rgba(88, 42, 30, 0.2));
}

.motion-media-poster,
.motion-media video {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.motion-media-poster {
	z-index: 1;
	filter: saturate(0.94) contrast(1.04);
	transition: opacity 0.65s var(--ease-out);
}

.motion-media video {
	z-index: 2;
	opacity: 0;
	filter: saturate(0.94) contrast(1.04);
	transition: opacity 0.65s var(--ease-out);
}

.motion-media.is-ready.is-playing video {
	opacity: 1;
}

.motion-media.is-ready.is-playing .motion-media-poster {
	opacity: 0;
}

.motion-media::after {
	content: "";
	position: absolute;
	z-index: 3;
	inset: 0;
	pointer-events: none;
	background:
		linear-gradient(180deg, rgba(15, 26, 19, 0.08), transparent 42%, rgba(15, 26, 19, 0.28)),
		radial-gradient(circle at 72% 18%, rgba(255, 238, 195, 0.14), transparent 32%);
}

.motion-media-label {
	position: absolute;
	z-index: 4;
	left: 1rem;
	bottom: 1rem;
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	padding: 0.48rem 0.72rem;
	border: 1px solid rgba(255, 250, 241, 0.34);
	border-radius: 999px;
	color: #fffaf1;
	background: rgba(18, 34, 25, 0.52);
	box-shadow: 0 12px 30px -18px rgba(0, 0, 0, 0.8);
	backdrop-filter: blur(10px);
}

.motion-media-label i {
	width: 0.42rem;
	height: 0.42rem;
	border-radius: 50%;
	background: #f0a21b;
	box-shadow: 0 0 0 0.25rem rgba(240, 162, 27, 0.18);
}

.world-media .motion-media {
	min-height: 100%;
}

@media (max-width: 64rem) {
	
	.world-slider .world-media .motion-media {
		min-height: clamp(13rem, 62vw, 18rem);
		aspect-ratio: 16 / 10;
	}
}

.masala-hero-figure .motion-media,
.ladies-hero-figure .motion-media {
	height: clamp(300px, 48vh, 480px);
}

.motion-media--ladies-hero video,
.motion-media--ladies-hero .motion-media-poster {
	object-position: 50% 47%;
}

.brand {
	position: relative;
	isolation: isolate;
}

.brand-steam {
	position: absolute;
	z-index: 2;
	left: 14.2%;
	top: -8%;
	width: 6.8%;
	height: 76%;
	overflow: visible;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.8s var(--ease-out);
}

.brand-steam path {
	fill: none;
	stroke: #c65a2e;
	stroke-width: 4.2;
	stroke-linecap: round;
	stroke-dasharray: 62 48;
	stroke-dashoffset: 0;
	transform-box: fill-box;
	transform-origin: 50% 100%;
}

body.is-loaded .brand-steam.is-steaming {
	opacity: 1;
}

body.is-loaded .brand-steam.is-steaming path {
	animation: fc-brand-steam var(--brand-steam-duration, 5.4s) cubic-bezier(0.42, 0, 0.32, 1) infinite;
	animation-delay: calc(var(--steam-index) * -1.8s);
}

@keyframes fc-brand-steam {
	0%, 14% {
		opacity: 0;
		stroke-dashoffset: 52;
		transform: translate3d(0, 7px, 0) scale(0.88, 0.82) rotate(-2deg);
	}
	34% { opacity: 0.32; }
	68% { opacity: 0.18; }
	88%, 100% {
		opacity: 0;
		stroke-dashoffset: -32;
		transform: translate3d(2px, -16px, 0) scale(1.08, 1.2) rotate(3deg);
	}
}

.sticky-brand {
	display: grid;
	grid-template-columns: 2.45rem minmax(0, 1fr);
	align-items: center;
	gap: 0.58rem;
	font-family: "FC Montserrat", "Inter", sans-serif;
	white-space: nowrap;
}

.sticky-seal {
	display: block;
	width: 2.45rem;
	height: 2.45rem;
	padding: 0.24rem;
	border: 1px solid #d9a323;
	border-radius: 50%;
	background: #fffaf1;
	box-shadow: 0 8px 18px -12px rgba(7, 63, 46, 0.6);
}

.sticky-signature-copy {
	display: grid;
	gap: 0.04rem;
}

.sticky-signature-copy strong {
	font-size: 0.7rem;
	letter-spacing: 0.06em;
}

.sticky-signature-copy small {
	font-family: "Instrument Serif", Georgia, serif;
	font-size: 0.78rem;
	font-style: italic;
	font-weight: 400;
	letter-spacing: 0;
	color: var(--text-muted);
}

.lockup {
	gap: clamp(0.7rem, 1vw, 0.9rem);
}

.lockup-module {
	padding-left: clamp(0.65rem, 1vw, 0.85rem);
	line-height: 1.25;
}

.footer-inner {
	gap: clamp(0.9rem, 1.6vw, 1.2rem);
}

.footer-logo {
	line-height: 0;
	margin-bottom: -0.1rem;
}

.footer-tag {
	max-width: 22ch;
	line-height: 1.08;
	letter-spacing: -0.012em;
}

.ripple-ring {
	width: 150px;
	height: 150px;
	margin: -75px 0 0 -75px;
	border-width: 1px;
	background: radial-gradient(closest-side, rgba(123, 196, 148, 0.12), transparent 70%);
	box-shadow: 0 0 32px rgba(27, 122, 80, 0.12);
}

.ripple-ring--touch {
	width: 190px;
	height: 190px;
	margin: -95px 0 0 -95px;
	background: radial-gradient(closest-side, rgba(217, 163, 35, 0.12), transparent 68%);
	box-shadow: 0 0 38px rgba(198, 90, 46, 0.14);
}

@media (max-width: 64rem), (pointer: coarse) {
	html[data-fluid="webgl"] .atmos {
		opacity: 0.76;
		filter: saturate(1.22) brightness(1.07) contrast(1.15);
	}

	.glass,
	.site-header.is-scrolled,
	.motion-media-label,
	.hero-order-facts span,
	.hero-commercial-links {
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.hero-order-facts span,
	.hero-commercial-links {
		background: rgba(253, 245, 236, 0.88);
	}

	.theme-bridge {
		padding-block: 3rem;
	}

	.class-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.product-mark,
	.class-mark {
		min-height: 7.25rem;
	}

	.process-card {
		min-height: 11rem;
	}

	.sticky-signature-copy {
		display: none;
	}

	.sticky-brand {
		grid-template-columns: 2.35rem;
	}

	.sticky-seal {
		width: 2.35rem;
		height: 2.35rem;
	}

	body.is-loaded .brand-steam.is-steaming path {
		animation-duration: 6.2s;
	}

	.brand-steam path:nth-child(3) {
		display: none;
	}
}

@media (max-width: 40rem) {
	.sticky-brand {
		display: grid;
	}

	.class-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 0.9rem;
	}

	.class-card {
		display: grid;
		grid-template-columns: 5.3rem minmax(0, 1fr);
		align-items: start;
	}

	.class-mark {
		grid-row: 1 / span 5;
		min-height: 100%;
		padding: 0.8rem;
	}

	.class-mark span {
		font-size: 3.2rem;
	}

	.class-mark i {
		writing-mode: vertical-rl;
	}

	.class-topic,
	.class-card h3,
	.class-card > p,
	.class-meta,
	.class-card .card-cta {
		grid-column: 2;
	}

	.class-topic {
		padding-top: 0.9rem;
	}

	.class-card .card-cta {
		margin-bottom: 0.8rem;
	}

	.motion-media-label {
		left: 0.75rem;
		bottom: 0.75rem;
		font-size: 0.56rem;
	}
}

html[data-save-data="true"] .motion-media video,
html[data-save-data="true"] .brand-steam,
html[data-save-data="true"] .theme-bridge::before,
html[data-save-data="true"] .theme-bridge::after {
	display: none !important;
}

html[data-save-data="true"] .motion-media-poster {
	opacity: 1 !important;
}

@media (prefers-reduced-motion: reduce) {
	.motion-media video,
	.brand-steam,
	.theme-bridge::before,
	.theme-bridge::after {
		display: none !important;
	}

	.motion-media-poster {
		opacity: 1 !important;
	}
}

@media (max-width: 64rem) and (prefers-reduced-motion: no-preference) {
	.world-slider.has-mobile-motion .world {
		opacity: 0.76;
		transform: translate3d(0, 1.1rem, 0) scale(0.972);
		will-change: transform, opacity;
		transition:
			opacity 0.52s var(--ease-out),
			transform 0.68s var(--ease-soft);
	}

	.world-slider.has-mobile-motion .world.is-mobile-current {
		opacity: 1;
		transform: translate3d(0, 0, 0) scale(1);
	}
}

.editorial-panel {
	position: relative;
	isolation: isolate;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: 100%;
	height: 100%;
	min-height: inherit;
	padding: clamp(1.5rem, 3vw, 3rem);
	overflow: hidden;
	color: var(--fc-ink);
	background:
		radial-gradient(circle at 78% 20%, rgba(255, 255, 255, 0.58), transparent 0 24%),
		linear-gradient(145deg, rgba(255, 250, 241, 0.96), rgba(223, 239, 213, 0.88));
}

.editorial-panel::before,
.editorial-panel::after {
	content: "";
	position: absolute;
	z-index: -1;
	border-radius: 46% 54% 61% 39% / 45% 37% 63% 55%;
	pointer-events: none;
}

.editorial-panel::before {
	width: clamp(13rem, 30vw, 28rem);
	aspect-ratio: 1;
	right: -12%;
	top: -38%;
	background: color-mix(in srgb, currentColor 13%, transparent);
	transform: rotate(18deg);
}

.editorial-panel::after {
	width: clamp(8rem, 19vw, 17rem);
	aspect-ratio: 1;
	left: 15%;
	bottom: -42%;
	border: 1px solid color-mix(in srgb, currentColor 22%, transparent);
	transform: rotate(-24deg);
}

.editorial-panel--masala,
.editorial-panel--masala-hero {
	color: #873716;
	background:
		radial-gradient(circle at 78% 20%, rgba(255, 248, 221, 0.74), transparent 0 24%),
		linear-gradient(145deg, #ffe09a, #f7a33a 58%, #d55b2b);
}

.editorial-panel--ladies,
.editorial-panel--ladies-hero {
	color: #7c294c;
	background:
		radial-gradient(circle at 78% 20%, rgba(255, 247, 246, 0.72), transparent 0 24%),
		linear-gradient(145deg, #f9d7de, #efaebc 58%, #db718d);
}

.editorial-panel-kicker,
.editorial-panel-note {
	position: relative;
	z-index: 1;
	font-family: "JetBrains Mono", ui-monospace, monospace;
	font-size: clamp(0.62rem, 0.8vw, 0.76rem);
	font-weight: 600;
	letter-spacing: 0.16em;
	line-height: 1.45;
	text-transform: uppercase;
}

.editorial-panel-kicker {
	max-width: 24rem;
}

.editorial-panel-lines {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin-block: auto;
	padding-block: 1rem;
	font-family: "Instrument Serif", Georgia, serif;
	font-size: clamp(3.4rem, 6vw, 6.6rem);
	font-style: italic;
	font-weight: 400;
	line-height: 0.72;
	letter-spacing: -0.055em;
}

.editorial-panel-line:nth-child(2) {
	margin-left: clamp(1rem, 5vw, 5.5rem);
}

.editorial-panel-line:nth-child(3) {
	margin-left: clamp(0.35rem, 2vw, 2.5rem);
}

.world-media--panel {
	background: transparent;
}

.world-slider .world-media--panel .editorial-panel {
	transition: transform 1.2s var(--ease-soft), filter 0.7s var(--ease-out);
	transform: scale(1.045);
}

.world-slider .world.is-active .world-media--panel .editorial-panel {
	transform: scale(1);
}

.world-slider.is-static .world {
	height: auto;
}

.masala-hero-figure .editorial-panel,
.ladies-hero-figure .editorial-panel {
	height: clamp(300px, 48vh, 480px);
}

.masala-pack-shot {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	overflow: hidden;
}

.masala-pack-shot picture {
	display: block;
	width: 100%;
	height: 100%;
}

.masala-hero-figure .masala-pack-shot picture img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.masala-hero-figure .masala-pack-sticker {
	position: absolute;
	z-index: 2;
	left: 51.45%;
	top: 62.2%;
	width: 17.7%;
	height: auto;
	aspect-ratio: 1;
	object-fit: contain;
	filter: drop-shadow(0 0.28rem 0.32rem rgba(65, 40, 18, 0.2));
	transform: translate(-50%, -50%);
}

.pickle-story {
	padding-top: clamp(4.5rem, 9vw, 8rem);
}

.pickle-range {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1rem, 2.2vw, 1.75rem);
}

.pickle-collection {
	position: relative;
	margin: 0;
	overflow: hidden;
	border: 1px solid rgba(7, 63, 46, 0.12);
	border-radius: clamp(1.25rem, 2.6vw, 2.2rem);
	background: #fffaf0;
	box-shadow: 0 30px 70px -44px rgba(34, 39, 22, 0.62);
}

.pickle-collection picture {
	display: block;
	width: 100%;
	overflow: hidden;
	aspect-ratio: 4 / 3;
}

.pickle-collection picture img,
.pickle-collection > img {
	display: block;
	width: 100%;
	object-fit: cover;
	transition: transform 1.05s var(--ease-soft), filter 0.55s var(--ease-out);
}

.pickle-collection picture img {
	height: 100%;
}

.pickle-collection > img {
	height: auto;
	aspect-ratio: 4 / 3;
}

.pickle-collection figcaption {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 1.25rem;
	padding: 1.15rem 1.25rem 1.35rem;
}

.pickle-collection figcaption span {
	max-width: 12rem;
	font-family: "JetBrains Mono", ui-monospace, monospace;
	font-size: 0.62rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	line-height: 1.45;
	text-transform: uppercase;
	color: #a34720;
}

.pickle-collection figcaption strong {
	max-width: 17rem;
	font-family: "Instrument Serif", Georgia, serif;
	font-size: clamp(1.5rem, 2.5vw, 2.45rem);
	font-style: italic;
	font-weight: 400;
	line-height: 0.96;
	text-align: right;
	color: var(--fc-green);
}

@media (hover: hover) and (pointer: fine) {
	.pickle-collection:hover picture img,
	.pickle-collection:hover > img {
		transform: scale(1.035);
		filter: saturate(1.08) contrast(1.03);
	}
}

.card-img--pair {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 2px;
	background: rgba(7, 63, 46, 0.12);
}

.card-img--pair img,
.category-grid .card:nth-child(2) .card-img--pair img,
.category-grid .card:nth-child(6) .card-img--pair img {
	width: 100%;
	height: 100%;
	aspect-ratio: 2 / 3;
	object-fit: cover;
}

.card-panel {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	aspect-ratio: 4 / 3;
	padding: 1.15rem;
	overflow: hidden;
	color: var(--fc-green);
	background:
		radial-gradient(circle at 82% 16%, rgba(255, 255, 255, 0.8), transparent 0 23%),
		linear-gradient(145deg, rgba(184, 213, 172, 0.96), rgba(240, 244, 214, 0.9));
}

.card-panel::after {
	content: "";
	position: absolute;
	width: 70%;
	aspect-ratio: 1;
	right: -28%;
	bottom: -55%;
	border: 1px solid rgba(7, 63, 46, 0.22);
	border-radius: 44% 56% 62% 38% / 40% 49% 51% 60%;
	transform: rotate(18deg);
}

.card-panel span {
	font-family: "JetBrains Mono", ui-monospace, monospace;
	font-size: 0.64rem;
	font-weight: 600;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}

.card-panel strong {
	font-family: "Instrument Serif", Georgia, serif;
	font-size: clamp(3.2rem, 6vw, 5.7rem);
	font-style: italic;
	font-weight: 400;
	line-height: 0.82;
	letter-spacing: -0.055em;
}

.category-grid .card:nth-child(2) .card-panel,
.category-grid .card:nth-child(6) .card-panel {
	aspect-ratio: 21 / 9;
}

.product-mark,
.class-mark {
	position: relative;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	min-height: 9rem;
	padding: 1rem 1.2rem;
	overflow: hidden;
}

.product-mark {
	color: #963e1c;
	background: linear-gradient(145deg, rgba(255, 222, 143, 0.96), rgba(241, 158, 55, 0.72));
}

.class-mark {
	color: #873452;
	background: linear-gradient(145deg, rgba(250, 219, 225, 0.98), rgba(229, 145, 166, 0.7));
}

.product-mark::after,
.class-mark::after {
	content: "";
	position: absolute;
	width: 10rem;
	aspect-ratio: 1;
	right: -2.5rem;
	top: -5rem;
	border: 1px solid currentColor;
	border-radius: 50%;
	opacity: 0.24;
}

.product-mark span,
.class-mark span {
	font-family: "Instrument Serif", Georgia, serif;
	font-size: clamp(4rem, 7vw, 6rem);
	font-style: italic;
	line-height: 0.72;
}

.product-mark i,
.class-mark i {
	font-family: "JetBrains Mono", ui-monospace, monospace;
	font-size: 0.61rem;
	font-style: normal;
	font-weight: 600;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}

.ingredient-strip {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
}

.process-card {
	min-height: 14.5rem;
	padding: 1.25rem;
}

.process-card .process-num {
	font-family: "JetBrains Mono", ui-monospace, monospace;
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	color: #a34720;
}

.process-card h3,
.process-card > p {
	padding-inline: 0;
}

.process-card h3 {
	margin-top: auto;
	padding-top: 2.5rem;
}

.process-card > p {
	padding-bottom: 0.25rem;
}

.community-figures {
	grid-template-columns: minmax(0, 1fr);
	gap: 0.85rem;
}

.community-step {
	display: grid;
	grid-template-columns: 3.3rem minmax(0, 0.48fr) minmax(0, 1fr);
	align-items: center;
	gap: 1rem;
	padding: 1.1rem 1.25rem;
}

.community-step > span {
	font-family: "JetBrains Mono", ui-monospace, monospace;
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	color: #9d3f62;
}

.community-step h3,
.community-step > p {
	padding: 0;
	margin: 0;
}

@media (max-width: 72rem) {
	.ingredient-strip {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 64rem) {
	.world-slider .world {
		height: auto;
	}

	.world-slider .world-media--panel .editorial-panel {
		height: auto;
		min-height: clamp(14rem, 52vw, 20rem);
		aspect-ratio: 16 / 10;
		transform: none;
	}

	.editorial-panel-lines {
		font-size: clamp(3.1rem, 11vw, 5.5rem);
	}
}

@media (max-width: 40rem) {
	.ingredient-strip {
		grid-template-columns: minmax(0, 1fr);
	}

	.pickle-range {
		grid-template-columns: minmax(0, 1fr);
	}

	.pickle-collection figcaption {
		align-items: start;
		flex-direction: column;
	}

	.pickle-collection figcaption strong {
		text-align: left;
	}

	.category-grid .card:nth-child(2) .card-panel,
	.category-grid .card:nth-child(6) .card-panel {
		aspect-ratio: 4 / 3;
	}

	.community-step {
		grid-template-columns: 2.75rem minmax(0, 1fr);
	}

	.community-step > p {
		grid-column: 2;
	}
}

@media (prefers-reduced-motion: reduce) {
	.world-slider .world-media--panel .editorial-panel {
		transform: none !important;
	}
}

@media (max-width: 42rem) {
	.brand {
		width: 9.15rem;
	}

	.hero-title {
		font-size: clamp(3.25rem, 14.25vw, 4.15rem);
		line-height: 0.92;
		max-width: 9ch;
	}

	.hero-cols p {
		font-size: clamp(1.08rem, 5vw, 1.25rem);
		line-height: 1.38;
	}

	.lockup {
		align-items: flex-start;
		gap: 0.6rem;
	}

	.lockup-logo {
		width: 8.75rem;
	}

	.lockup-module {
		font-size: 0.58rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.brand-logo,
	.intro-item,
	[data-reveal="stagger-cards"] > .card,
	[data-reveal="stagger-cards"] > .world {
		opacity: 1 !important;
		clip-path: none !important;
		translate: none !important;
	}

	.hero::before {
		display: none !important;
	}

	.world-slider {
		height: auto;
		padding-block: clamp(5rem, 9vw, 8rem);
	}

	.world-slider-sticky {
		position: static;
		display: block;
		height: auto;
		min-height: 0;
	}

	.world-slider .world-grid {
		display: grid;
		width: auto;
		gap: 1rem;
		transform: none !important;
	}

	.world-slider .world {
		display: block;
		min-height: 0;
	}

	.world-slider .world-media,
	.world-slider .world-media img {
		clip-path: none !important;
		transform: none !important;
	}

	.world-slider-footer {
		display: none;
	}
}

@media (max-width: 64rem), (pointer: coarse) {
	.product-mark,
	.class-mark {
		min-height: 7.25rem;
	}

	.process-card {
		min-height: 11rem;
	}
}

@media (max-width: 40rem) {
	.class-card {
		display: grid;
		grid-template-columns: 5.3rem minmax(0, 1fr);
		align-items: start;
	}

	.class-mark {
		grid-row: 1 / span 5;
		min-height: 100%;
		padding: 0.8rem;
	}

	.class-mark span {
		font-size: 3.2rem;
	}

	.class-mark i {
		writing-mode: vertical-rl;
	}

	.class-topic,
	.class-card h3,
	.class-card > p,
	.class-meta,
	.class-card .card-cta {
		grid-column: 2;
	}

	.sticky-bar {
		box-sizing: border-box;
		width: calc(100vw - 0.75rem);
		max-width: none;
		gap: 0.34rem;
		padding: 0.4rem 0.45rem;
		justify-content: flex-start;
	}

	.sticky-brand {
		flex: 0 0 auto;
		grid-template-columns: 2.1rem;
	}

	.sticky-seal {
		width: 2.1rem;
		height: 2.1rem;
	}

	.module-pills {
		flex: 1 1 auto;
		min-width: 0;
		justify-content: center;
		gap: 0.08rem;
		margin-left: 0;
	}

	.module-pills a {
		min-width: 0;
		padding: 0.36rem 0.42rem;
		font-size: 0.56rem;
		letter-spacing: 0.055em;
		white-space: nowrap;
	}

	.sticky-wa {
		flex: 0 0 2.4rem;
		justify-content: center;
		width: 2.4rem;
		height: 2.4rem;
		gap: 0;
		padding: 0;
		font-size: 0;
	}

	.sticky-wa svg {
		width: 1.08rem;
		height: 1.08rem;
	}
}

@media (min-width: 64.001rem) {
	.hero:has(.hero-journey--panels) .hero-inner {
		padding-bottom: clamp(12rem, 16.5vw, 14.5rem);
	}

	.hero:has(.hero-journey--panels) .hero-figure {
		bottom: clamp(13.2rem, 18.5vw, 15.5rem);
	}

	.hero-journey--panels {
		position: absolute;
		inset: auto 0 0;
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: minmax(0, 1fr) auto;
		align-items: stretch;
		gap: 0;
		min-height: clamp(11.2rem, 15vw, 13.25rem);
		padding: 0 clamp(4rem, 7vw, 6.75rem) 0.55rem clamp(2rem, 5vw, 5rem);
		color: var(--fc-green);
		background:
			linear-gradient(90deg, rgba(52, 139, 80, 0.47), rgba(236, 157, 28, 0.49) 51%, rgba(210, 103, 129, 0.45)),
			rgba(255, 250, 241, 0.16);
		border-top: 1px solid rgba(255, 250, 241, 0.5);
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.hero-journey--panels .hero-journey-kicker,
	.hero-journey--panels .hero-journey-track {
		display: none;
	}

	.hero-journey--panels .hero-journey-steps {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 0;
		min-height: 8.8rem;
	}

	.hero-journey--panels .hero-journey-link {
		position: relative;
		display: grid;
		grid-template-columns: auto minmax(0, 1fr);
		grid-template-rows: auto auto;
		column-gap: clamp(0.75rem, 1.5vw, 1.15rem);
		align-content: center;
		align-items: start;
		min-height: 0;
		padding: clamp(1.15rem, 2vw, 1.65rem) clamp(1rem, 2vw, 1.75rem);
		color: var(--step-color);
		background: transparent;
		opacity: 1;
		translate: none;
		transition:
			background-color var(--dur-ui) var(--ease-soft),
			transform var(--dur-ui) var(--ease-soft);
	}

	.hero-journey--panels .hero-journey-link:not(:last-child) {
		border-right: 1px solid color-mix(in srgb, currentColor 24%, transparent);
	}

	.hero-journey--panels .hero-journey-link::after {
		display: none;
	}

	.hero-journey--panels .hero-journey-link:hover,
	.hero-journey--panels .hero-journey-link:focus-visible,
	.hero-journey--panels .hero-journey-link.is-current {
		background: rgba(255, 250, 241, 0.17);
		transform: translateY(-0.2rem);
		translate: none;
	}

	.hero-journey--panels .hero-journey-number {
		grid-column: 1;
		grid-row: 1 / span 2;
		padding-top: 0.22rem;
		font-size: 0.68rem;
		letter-spacing: 0.08em;
	}

	.hero-journey--panels .hero-journey-title {
		grid-column: 2;
		grid-row: 1;
		font-family: "Instrument Serif", Georgia, serif;
		font-size: clamp(2.1rem, 2.85vw, 3rem);
		font-weight: 400;
		line-height: 0.92;
		letter-spacing: -0.04em;
	}

	.hero-journey--panels .hero-journey-copy {
		grid-column: 2;
		grid-row: 2;
		display: block;
		max-width: 16rem;
		padding-right: 2.8rem;
		margin-top: 0.58rem;
		font-size: clamp(0.78rem, 1vw, 0.94rem);
		line-height: 1.42;
	}

	.hero-journey--panels .hero-journey-dot {
		display: none;
	}

	.hero-journey--panels .hero-journey-arrow {
		position: absolute;
		right: clamp(1rem, 1.8vw, 1.6rem);
		bottom: clamp(1.15rem, 1.8vw, 1.55rem);
		display: grid;
		place-items: center;
		width: 2.55rem;
		height: 2.55rem;
		border: 1px solid color-mix(in srgb, currentColor 62%, transparent);
		border-radius: 50%;
	}

	.hero-journey--panels .hero-journey-arrow svg {
		width: 1rem;
		height: 1rem;
		fill: currentColor;
	}

	.hero-journey--panels .hero-journey-scroll {
		justify-self: center;
		justify-content: center;
		gap: 0.55rem;
		margin: 0;
		padding: 0.35rem 0 0.1rem;
		font-size: 0.58rem;
	}

	.hero-journey--panels .hero-journey-scroll span {
		width: 1.75rem;
		height: 1.75rem;
		font-size: 0.85rem;
	}
}

@media (max-width: 64rem) {
	.hero-world-rail {
		display: none;
	}

	.hero-journey--panels .hero-journey-copy {
		display: none;
	}
}

.skip-link {
	position: fixed;
	z-index: 100;
	top: 0.65rem;
	left: 0.65rem;
	padding: 0.7rem 1rem;
	border-radius: 999px;
	color: #fffdf7;
	background: var(--fc-green);
	box-shadow: 0 12px 30px -18px rgba(7, 63, 46, 0.8);
	transform: translateY(-180%);
	transition: transform var(--dur-micro) var(--ease-out);
}

.skip-link:focus {
	transform: translateY(0);
}

.hero-heart-lock {
	white-space: nowrap;
}

.hero-heart {
	display: inline-grid;
	place-items: center;
	width: 0.34em;
	height: 0.34em;
	margin-left: 0.1em;
	vertical-align: 0.08em;
	transform: rotate(-7deg);
}

.hero-heart img {
	display: block;
	width: 100%;
	height: 100%;
}

.mobile-menu {
	pointer-events: none;
	transition:
		opacity 180ms var(--ease-out),
		visibility 0s 180ms;
}

.mobile-menu.is-open,
body.menu-open .mobile-menu {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transition-delay: 0s;
}

body.menu-open .site-header {
	z-index: 70;
	transform: none !important;
}

body.menu-open {
	overscroll-behavior: none;
}

.masala-meta {
	gap: 1rem;
}

.masala-meta strong {
	max-width: 12rem;
	line-height: 1.3;
	text-align: right;
}

.pickle-story {
	padding-bottom: clamp(2.5rem, 4.5vw, 4rem);
}

.ingredient-story {
	padding-top: clamp(2.5rem, 4.5vw, 4rem);
}

.shop-note a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.75rem;
	margin-top: 0.8rem;
	padding: 0.55rem 0.85rem;
	border: 1px solid color-mix(in srgb, currentColor 34%, transparent);
	border-radius: 999px;
	font-family: "FC Montserrat", "Inter", system-ui, sans-serif;
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.035em;
	text-decoration: none;
	white-space: nowrap;
}

.contact.section {
	padding-bottom: clamp(3.5rem, 6vw, 5.25rem);
}

.contact + .site-footer,
.site-footer {
	padding-top: clamp(2.75rem, 5vw, 4rem);
}

@media (max-width: 40rem) {
	.hero-heart {
		width: 0.31em;
		height: 0.31em;
		margin-left: 0.08em;
	}

	.masala-meta {
		align-items: flex-start;
		flex-direction: column;
		gap: 0.3rem;
	}

	.masala-meta strong {
		max-width: none;
		text-align: left;
	}
}

.error-page {
	min-height: 100svh;
	display: grid;
	place-items: center;
	padding: 1.25rem;
	color: var(--fc-ink);
	background:
		radial-gradient(760px 520px at 12% 18%, rgba(184, 213, 172, 0.5), transparent 66%),
		radial-gradient(680px 480px at 88% 82%, rgba(240, 162, 27, 0.24), transparent 66%),
		var(--fc-paper-soft);
}

.error-shell {
	width: min(42rem, 100%);
	padding: clamp(2rem, 6vw, 4.5rem);
	border: 1px solid rgba(7, 63, 46, 0.14);
	border-radius: clamp(1.5rem, 4vw, 2.5rem);
	background: rgba(255, 250, 241, 0.78);
	box-shadow: var(--fc-shadow);
}

.error-shell > img {
	width: min(14rem, 68vw);
	height: auto;
	margin-bottom: clamp(2rem, 5vw, 3.5rem);
}

.error-shell h1 {
	max-width: 10ch;
	font-family: "Instrument Serif", Georgia, serif;
	font-size: clamp(3.4rem, 10vw, 6.4rem);
	font-style: italic;
	font-weight: 400;
	line-height: 0.9;
	letter-spacing: -0.045em;
	color: var(--fc-green);
}

.error-shell > p:not(.chapter) {
	max-width: 34rem;
	margin-top: 1.5rem;
	font-family: "FC Cormorant", "Instrument Serif", Georgia, serif;
	font-size: clamp(1.15rem, 2.2vw, 1.45rem);
	font-weight: 600;
}

.error-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 2rem;
}

html[data-fluid="webgl"] .hero::before {
	content: "";
	position: absolute;
	inset: -9%;
	z-index: 0;
	display: block;
	pointer-events: none;
	background: url("../assets/img/hero-liquid-atmosphere.webp") center / cover no-repeat;
	opacity: 0.46;
	mix-blend-mode: normal;
	filter: saturate(1.16) contrast(1.06);
}

@media (min-width: 64.001rem) {
	.hero {
		margin-bottom: clamp(1.25rem, 2vw, 2rem);
	}

	.story.section {
		padding-top: clamp(3rem, 4.5vw, 4.5rem);
	}

	.ingredient-story {
		padding-bottom: clamp(2rem, 3vw, 3rem);
	}

	.bridge-ladies {
		padding-block: clamp(1.75rem, 2.6vw, 2.5rem);
	}
}

@media (max-width: 42rem) {
	.hero-figure,
	.hero:has(.hero-journey) .hero-figure {
		order: 0;
		margin-top: 1rem;
	}

	.hero .hero-ctas .cta,
	.hero-journey-steps .hero-journey-link {
		min-height: 3.75rem;
		border-radius: 999px;
	}

	.mobile-menu nav {
		gap: 0.4rem;
	}

	.mobile-menu nav > a {
		display: flex;
		align-items: center;
		min-height: 2.75rem;
		padding-block: 0.2rem;
		font-family: "FC Montserrat", "Inter", system-ui, sans-serif;
		font-size: clamp(1.4rem, 6.15vw, 1.55rem);
		font-weight: 600;
		line-height: 1.15;
		letter-spacing: -0.015em;
	}
}

:is(html[data-fluid="webgl"], html[data-fluid="2d"]) :where(
	main > .story,
	main > .world-slider,
	main > .module,
	main > .theme-bridge,
	main > .contact,
	.module > .party,
	.site-footer
) {
	background: rgba(255, 250, 241, 0.28);
}

:root {
	--abyss: #bfdbbe;
	--deep: #ddebD3;
	--ink: #faf7eb;
	--canvas-key: rgba(255, 252, 239, 0.32);
	--canvas-fill: rgba(100, 151, 91, 0.22);
}

:root[data-world="masala"] {
	--abyss: #e5974e;
	--deep: #f6cf89;
	--ink: #fff7e2;
	--canvas-key: rgba(255, 246, 216, 0.28);
	--canvas-fill: rgba(219, 119, 43, 0.2);
}

:root[data-world="ladies"] {
	--abyss: #e7b7c0;
	--deep: #f7dcd6;
	--ink: #fff8ed;
	--canvas-key: rgba(255, 252, 241, 0.3);
	--canvas-fill: rgba(211, 139, 158, 0.18);
}

html[data-fluid="webgl"] .atmos,
html[data-fluid="2d"] .atmos {
	opacity: 0.98;
	filter: none;
	mix-blend-mode: normal;
}

html[data-fluid="webgl"] .hero::before {
	opacity: 0.3;
	filter: none;
	mix-blend-mode: soft-light;
	will-change: auto;
	transition: none;
}

:is(html[data-fluid="webgl"], html[data-fluid="2d"]) .theme-bridge::before,
:is(html[data-fluid="webgl"], html[data-fluid="2d"]) .theme-bridge::after {
	display: none;
}

:is(html[data-fluid="webgl"], html[data-fluid="2d"]) :where(
	main > .story,
	main > .world-slider,
	main > .module,
	main > .theme-bridge,
	main > .contact,
	.module > .party,
	.site-footer
) {
	background: rgba(255, 250, 241, 0.22);
}

@media (max-width: 64rem), (pointer: coarse) {
	html[data-fluid="webgl"] .atmos,
	html[data-fluid="2d"] .atmos {
		opacity: 0.98;
		filter: none;
	}

	.grain {
		display: none;
	}

	html[data-fluid="webgl"] .hero::before {
		opacity: 0.24;
	}
}

:root {
	--process-food: 1;
	--process-masala: 0;
	--process-class: 0;
}

.process-atmosphere {
	position: fixed;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	pointer-events: none;
	background: #f8f1df;
}

.process-backdrop {
	position: absolute;
	inset: -1px;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	filter: saturate(1.02) contrast(0.98);
	transform: translateZ(0) scale(1.012);
	transform-origin: center;
	will-change: opacity;
}

.process-backdrop--food {
	background-image: url("../assets/img/process-food-background-desktop.webp");
	opacity: calc(var(--process-food) * 0.92);
}

.process-backdrop--masala {
	background-image: url("../assets/img/process-masala-background-desktop.webp");
	opacity: calc(var(--process-masala) * 0.92);
}

.process-backdrop--class {
	background-image: url("../assets/img/process-class-background-desktop.webp");
	opacity: calc(var(--process-class) * 0.92);
}

html[data-fluid="webgl"] .atmos,
html[data-fluid="2d"] .atmos {
	opacity: 0.52;
}

html[data-fluid="static"] .atmos {
	opacity: 0.28;
}

:is(html[data-fluid="webgl"], html[data-fluid="2d"], html[data-fluid="static"]) :where(
	main > .story,
	main > .world-slider,
	main > .module,
	main > .theme-bridge,
	main > .contact,
	.module > .party,
	.site-footer
) {
	background: rgba(255, 250, 241, 0.12);
}

@media (max-width: 64rem), (pointer: coarse) {
	.process-backdrop--food {
		background-image: url("../assets/img/process-food-background.webp");
	}

	.process-backdrop--masala {
		background-image: url("../assets/img/process-masala-background.webp");
	}

	.process-backdrop--class {
		background-image: url("../assets/img/process-class-background.webp");
	}

	html[data-fluid="webgl"] .atmos,
	html[data-fluid="2d"] .atmos {
		opacity: 0.56;
	}
}

@media (prefers-reduced-motion: reduce) {
	.process-backdrop {
		will-change: auto;
	}
}

.process-motif {
	position: absolute;
	z-index: 1;
	display: block;
	height: auto;
	user-select: none;
	pointer-events: none;
	transform-origin: 50% 52%;
	animation-play-state: paused;
	animation-iteration-count: infinite;
	animation-timing-function: ease-in-out;
	animation-fill-mode: both;
	will-change: auto;
}

.process-motif--masala {
	left: 0;
	top: 16vh;
	width: clamp(11rem, 18vw, 17.5rem);
	opacity: calc(var(--process-masala) * 0.6);
	animation-name: fc-spice-toss;
	animation-duration: 7.8s;
}

:root[data-world="masala"] .process-motif--masala {
	animation-play-state: running;
	will-change: transform;
}

@keyframes fc-food-leaf-breathe {
	0%, 100% {
		transform: translate3d(-0.75%, 0.48%, 0) scale(1.02);
	}
	50% {
		transform: translate3d(0.75%, -0.48%, 0) scale(1.028);
	}
}

@keyframes fc-spice-toss {
	0%, 100% {
		transform: translate3d(-0.35rem, 0.55rem, 0) rotate(-3deg) scale(0.98);
	}
	44% {
		transform: translate3d(0.55rem, -0.7rem, 0) rotate(3deg) scale(1.01);
	}
	58% {
		transform: translate3d(0.85rem, -1rem, 0) rotate(5deg) scale(1.025);
	}
}

@keyframes fc-class-roller-work {
	0%, 100% {
		transform: translate3d(-0.7%, 0.42%, 0) scale(1.02);
	}
	50% {
		transform: translate3d(0.7%, -0.42%, 0) scale(1.027);
	}
}

.process-backdrop--food {
	animation: fc-food-leaf-breathe 8.8s ease-in-out infinite both paused;
}

.process-backdrop--class {
	animation: fc-class-roller-work 6.2s ease-in-out infinite both paused;
}

:root[data-world="food"] .process-backdrop--food,
:root[data-world="ladies"] .process-backdrop--class {
	animation-play-state: running;
	will-change: opacity, transform;
}

@media (max-width: 64rem), (pointer: coarse) {
	@keyframes fc-food-leaf-breathe-mobile {
		0%, 100% {
			transform: translate3d(-0.65%, 0.42%, 0) scale(1.02);
		}
		50% {
			transform: translate3d(0.65%, -0.42%, 0) scale(1.026);
		}
	}

	@keyframes fc-class-roller-work-mobile {
		0%, 100% {
			transform: translate3d(-0.6%, 0.4%, 0) scale(1.02);
		}
		50% {
			transform: translate3d(0.6%, -0.4%, 0) scale(1.025);
		}
	}

	.process-backdrop--food {
		animation-name: fc-food-leaf-breathe-mobile;
		animation-duration: 9.8s;
	}

	.process-backdrop--class {
		animation-name: fc-class-roller-work-mobile;
		animation-duration: 7s;
	}

	.process-motif--masala {
		left: auto;
		right: -2vw;
		top: 48vh;
		width: clamp(9rem, 38vw, 12rem);
		opacity: calc(var(--process-masala) * 0.52);
		animation-duration: 8.8s;
	}
}

@media (prefers-reduced-motion: reduce) {
	.process-backdrop--food,
	.process-backdrop--class {
		animation: none !important;
		transform: translateZ(0) scale(1.012) !important;
	}

	.process-motif {
		animation: none !important;
		transform: none !important;
		will-change: auto !important;
	}
}

html[data-save-data="true"] .process-motif {
	display: none;
}

html[data-save-data="true"] :is(.process-backdrop--food, .process-backdrop--class) {
	animation: none;
	transform: translateZ(0) scale(1.012);
	will-change: opacity;
}

html[data-contact-mode="email"] .sticky-wa,
html[data-contact-mode="email"] .wa-link {
	letter-spacing: 0.01em;
}

.footer-developed {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 3.25rem;
	margin-top: -0.35rem;
	color: var(--fc-green);
}

.footer-developed-signature {
	display: block;
	width: clamp(9.5rem, 14vw, 12.5rem);
	height: auto;
	max-height: 5rem;
	object-fit: contain;
	user-select: none;
	-webkit-user-drag: none;
}

@media (max-width: 40rem) {
	.footer-developed {
		margin-top: -0.55rem;
	}

	.footer-developed-signature {
		width: 10rem;
	}
}

.atmos {
	z-index: 1;
}

html[data-hash-restoring="true"] main {
	opacity: 0 !important;
	pointer-events: none;
}

html[data-fonts-loading="true"] .hero-copy,
html[data-fonts-loading="true"] .hero-journey {
	visibility: hidden;
}

.topline {
	background: linear-gradient(
		90deg,
		rgba(216, 229, 201, 0.78),
		rgba(240, 217, 153, 0.74) 52%,
		rgba(239, 193, 201, 0.78)
	);
	-webkit-backdrop-filter: blur(10px) saturate(1.12);
	backdrop-filter: blur(10px) saturate(1.12);
	border-bottom: 1px solid rgba(255, 255, 255, 0.58);
	box-shadow: 0 8px 24px -20px rgba(7, 63, 46, 0.5);
}

.module-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
	margin-bottom: 1.35rem;
	color: currentColor;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.module-eyebrow::before {
	content: "";
	width: 2.25rem;
	height: 1px;
	background: currentColor;
	opacity: 0.5;
}

@media (min-width: 64.001rem) {
	.hero-copy {
		transform: translateY(-3rem);
	}
}

.masala-hero-figure .motion-media {
	height: auto;
	min-height: 0;
	aspect-ratio: 16 / 9;
}

.world-slider .world-media .motion-media--world-ladies {
	min-height: 0;
	aspect-ratio: 16 / 9;
}

.ladies-hero-figure {
	width: min(100%, 18rem);
	justify-self: center;
}

.ladies-hero-figure .motion-media {
	height: auto;
	min-height: 0;
	aspect-ratio: 9 / 16;
}

.motion-media--masala-hero video,
.motion-media--masala-hero .motion-media-poster,
.motion-media--world-ladies video,
.motion-media--world-ladies .motion-media-poster,
.motion-media--ladies-hero video,
.motion-media--ladies-hero .motion-media-poster {
	object-position: 50% 50%;
}

.sticky-bar,
.sticky-bar.glass {
	box-sizing: border-box;
	width: max-content;
	max-width: calc(100vw - 1rem);
	gap: 0.38rem;
	padding: 0.42rem;
	background: linear-gradient(
		145deg,
		rgba(255, 250, 241, 0.82),
		rgba(247, 240, 227, 0.66)
	);
	-webkit-backdrop-filter: blur(12px) saturate(1.14);
	backdrop-filter: blur(12px) saturate(1.14);
	border-color: rgba(255, 255, 255, 0.72);
	box-shadow:
		0 18px 46px -28px rgba(7, 63, 46, 0.52),
		inset 0 1px 0 rgba(255, 255, 255, 0.76);
}

.module-pills {
	margin-left: 0;
}

.sticky-top,
.sticky-wa {
	flex: 0 0 2.55rem;
	display: inline-grid;
	place-items: center;
	width: 2.55rem;
	height: 2.55rem;
	padding: 0;
	border: 1px solid rgba(7, 63, 46, 0.2);
	border-radius: 50%;
}

.sticky-top {
	color: var(--fc-green);
	background: rgba(255, 250, 241, 0.66);
	transition:
		transform var(--dur-micro) var(--ease-out),
		background-color var(--dur-micro);
}

.sticky-top:hover,
.sticky-top:focus-visible {
	transform: translateY(-0.14rem);
	background: rgba(255, 250, 241, 0.92);
}

.sticky-top svg {
	width: 1.05rem;
	height: 1.05rem;
	fill: currentColor;
	transform: rotate(-90deg);
}

.sticky-wa {
	justify-content: center;
	gap: 0;
}

.sticky-wa b {
	display: none;
}

html {
	scroll-padding-bottom: 5.5rem;
}

.site-footer {
	padding-bottom: calc(5.5rem + env(safe-area-inset-bottom));
}

@media (max-width: 64rem), (pointer: coarse) {
	.sticky-bar.glass {
		-webkit-backdrop-filter: blur(10px) saturate(1.08);
		backdrop-filter: blur(10px) saturate(1.08);
	}

	.motion-media video {
		filter: none;
		transform: translateZ(0);
	}

	.ladies-hero-figure {
		width: min(100%, 17rem);
	}
}

@media (max-width: 40rem) {
	.sticky-bar {
		width: calc(100vw - 0.75rem);
		max-width: none;
		justify-content: space-between;
	}

	.module-pills {
		flex: 1 1 auto;
	}

	.module-pills a {
		padding-inline: 0.36rem;
		font-size: 0.54rem;
		letter-spacing: 0.045em;
	}

	.sticky-top,
	.sticky-wa {
		flex-basis: 2.35rem;
		width: 2.35rem;
		height: 2.35rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sticky-top {
		transition: none;
	}
}

:root {
	--header-h: 5rem;
	--header-visual-h: 4.25rem;
	--header-sticky-h: 3.75rem;
}

.site-header {
	background: rgba(255, 250, 241, 0.84);
	border-bottom: 1px solid rgba(7, 63, 46, 0.1);
	-webkit-backdrop-filter: blur(12px) saturate(1.08);
	backdrop-filter: blur(12px) saturate(1.08);
}

.site-header.is-scrolled {
	background: rgba(255, 250, 241, 0.95);
}

.header-inner {
	height: var(--header-visual-h);
	gap: clamp(1rem, 1.55vw, 1.65rem);
	transition: height var(--dur-ui) var(--ease-soft);
}

.site-header.is-scrolled .header-inner {
	height: var(--header-sticky-h);
}

.brand {
	display: inline-flex;
	flex: 0 1 auto;
	align-items: center;
	gap: 0.62rem;
	width: auto;
	max-width: min(18rem, calc(100vw - 33rem));
	min-width: 0;
}

.brand-mark-shell {
	position: relative;
	flex: 0 0 auto;
	width: 3rem;
	height: 3rem;
	transition:
		width var(--dur-ui) var(--ease-soft),
		height var(--dur-ui) var(--ease-soft);
}

.brand-mark-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	filter: drop-shadow(0 7px 16px rgba(7, 63, 46, 0.09));
}

.brand-copy {
	display: grid;
	min-width: 0;
	gap: 0.12rem;
	line-height: 1;
}

.brand-name {
	font-family: "FC Cormorant", "Instrument Serif", Georgia, serif;
	font-size: 1.32rem;
	font-weight: 600;
	line-height: 0.92;
	letter-spacing: 0.052em;
	color: var(--fc-green);
	white-space: nowrap;
}

.brand-slogan {
	font-family: "FC Montserrat", "Inter", sans-serif;
	font-size: 0.66rem;
	font-weight: 650;
	line-height: 1.25;
	letter-spacing: 0.012em;
	color: var(--fc-green-2);
	white-space: nowrap;
}

.brand-mark-shell .brand-steam {
	left: 42.6%;
	top: -8%;
	width: 20.4%;
	height: 76%;
}

.site-header.is-scrolled .brand-mark-shell {
	width: 2.35rem;
	height: 2.35rem;
}

.site-header.is-scrolled .brand-name {
	font-size: 1.08rem;
}

.site-header.is-scrolled .brand-slogan {
	font-size: 0.6rem;
}

@media (max-width: 72rem) and (min-width: 64.001rem) {
	.main-nav {
		gap: 1.15rem;
	}

	.brand-name {
		font-size: 1.12rem;
	}

	.brand-slogan {
		font-size: 0.6rem;
	}
}

@media (max-width: 64rem) {
	:root {
		--header-h: 4.5rem;
		--header-visual-h: 4.125rem;
		--header-sticky-h: 3.75rem;
	}

	.header-inner {
		gap: 1rem;
	}

	.brand {
		max-width: calc(100% - 3.75rem);
	}

	.brand-mark-shell {
		width: 2.7rem;
		height: 2.7rem;
	}

	.brand-name {
		font-size: 1.12rem;
	}

	.brand-slogan {
		font-size: 0.61rem;
	}
}

@media (max-width: 42rem) {
	:root {
		--header-h: 4.25rem;
		--header-visual-h: 3.875rem;
		--header-sticky-h: 3.625rem;
	}

	.header-inner {
		gap: 0.65rem;
	}

	.brand-mark-shell {
		width: 2.45rem;
		height: 2.45rem;
	}

	.brand-name {
		font-size: 1.05rem;
	}

	.brand-slogan {
		font-size: 0.62rem;
	}

	.site-header.is-scrolled .brand-mark-shell {
		width: 2.2rem;
		height: 2.2rem;
	}
}

@media (max-width: 22rem) {
	.brand-mark-shell {
		width: 2.2rem;
		height: 2.2rem;
	}

	.brand-name {
		font-size: 0.94rem;
	}

	.brand-slogan {
		font-size: 0.56rem;
		letter-spacing: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.header-inner,
	.brand-mark-shell {
		transition: none;
	}
}

.menu-collections{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,5rem);padding:clamp(2rem,4vw,3.5rem);margin:2rem 0 3rem;border:1px solid var(--t-border);border-radius:1.5rem;background:color-mix(in srgb,var(--t-surface) 86%,transparent)}
.menu-collections .section-title{font-size:clamp(2.5rem,5vw,4.75rem);margin:.7rem 0 1rem}.menu-collection-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;list-style:none;padding:0;margin:0}.menu-collection-list li{min-height:4rem;display:flex;align-items:center;padding:1rem 1.1rem;border:1px solid var(--t-border);border-radius:.75rem;background:color-mix(in srgb,var(--t-bg) 82%,transparent);font-weight:600}.safety{background:color-mix(in srgb,var(--fc-cream) 90%,white)}.safety-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,6rem);align-items:start}.safety-card{padding:clamp(1.5rem,3vw,2.5rem);border:1px solid rgba(11,79,60,.2);border-radius:1.25rem;background:rgba(255,255,255,.68)}.safety-card p+p,.safety-card p+ul{margin-top:1rem}.safety-card ul{padding-left:1.25rem}.safety-card li+li{margin-top:.6rem}.form-consent{display:flex;align-items:flex-start;gap:.75rem;font-size:.875rem;line-height:1.5}.form-consent input{width:1.15rem;height:1.15rem;margin-top:.15rem;flex:0 0 auto;accent-color:var(--fc-green)}.form-consent a{text-decoration:underline}.contact-meta span{display:block}
.legal-page{background:var(--fc-cream);color:var(--fc-green)}.legal-shell{width:min(760px,calc(100% - 2rem));margin:0 auto;padding:3rem 0 5rem}.legal-brand img{width:12rem;height:auto}.legal-shell h1{font-family:"Instrument Serif",Georgia,serif;font-size:clamp(3.25rem,9vw,6rem);font-weight:400;line-height:.95;margin:2rem 0}.legal-lede{font-size:1.25rem;line-height:1.6}.legal-shell h2{font-size:1.35rem;margin:2.25rem 0 .6rem}.legal-shell p{max-width:68ch}.legal-note{padding:1rem;border-left:3px solid var(--fc-saffron);margin:2rem 0}
@media(max-width:48rem){.menu-collections,.safety-grid{grid-template-columns:1fr}.menu-collection-list{grid-template-columns:1fr}.menu-collections{padding:1.5rem;margin-bottom:2rem}}

.hero-order-facts{position:absolute;right:2.4rem;top:52%;display:grid;gap:.55rem;width:12rem;z-index:5}.hero-order-facts span{padding:.75rem;border-left:2px solid var(--fc-green);background:rgba(253,245,236,.72);backdrop-filter:blur(10px)}.hero-order-facts b,.hero-order-facts small{display:block}.hero-order-facts b{font-size:1rem}.hero-order-facts small{font-size:.72rem;line-height:1.35;margin-top:.2rem}.hero-commercial-links{display:grid;grid-template-columns:repeat(3,1fr);margin:1.5rem 0 0;border:1px solid rgba(11,79,60,.18);background:rgba(253,245,236,.72);backdrop-filter:blur(14px)}.hero-commercial-links a{min-height:7rem;padding:1.25rem 1.4rem;color:var(--fc-green);border-right:1px solid rgba(11,79,60,.16);display:flex;flex-direction:column;justify-content:center}.hero-commercial-links a:last-child{border-right:0}.hero-commercial-links strong,.hero-commercial-links span{display:block}.hero-commercial-links strong{font-family:"Instrument Serif",Georgia,serif;font-size:1.6rem;font-weight:400}.hero-commercial-links span{font-size:.82rem;margin-top:.35rem}.class-coming{background:linear-gradient(135deg,#f8eceb,#ead9df);color:#422938}.class-coming-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(2rem,6vw,6rem);align-items:center}.class-coming-card{padding:clamp(1.5rem,4vw,3rem);border:1px solid rgba(66,41,56,.2);border-radius:1.5rem;background:rgba(255,255,255,.55)}.class-coming-card>strong{display:inline-block;padding:.45rem .7rem;background:#684054;color:white;border-radius:.4rem;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem}.class-coming-card p{margin:1rem 0}.site-footer .footer-nav{flex-wrap:wrap}.landing-page{background:#f8f3e9;color:#123f31}.landing-header{position:sticky;top:0;z-index:20;background:rgba(248,243,233,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(18,63,49,.13)}.landing-header-inner{width:min(1120px,calc(100% - 2rem));min-height:5.2rem;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:1rem}.landing-header img{width:12rem;height:auto}.landing-nav{display:flex;gap:1.2rem;align-items:center;font-size:.9rem}.landing-nav a{color:inherit}.landing-hero{padding:clamp(4rem,9vw,8rem) 0 3rem}.landing-shell{width:min(1080px,calc(100% - 2rem));margin:auto}.landing-kicker{text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;font-weight:700}.landing-hero h1{font-family:"Instrument Serif",Georgia,serif;font-weight:400;font-size:clamp(3.8rem,9vw,7.5rem);line-height:.88;max-width:900px;margin:1rem 0 1.5rem}.landing-lede{font-size:clamp(1.15rem,2vw,1.4rem);line-height:1.6;max-width:720px}.landing-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:2.5rem 0}.landing-facts div,.landing-card{padding:1.3rem;border:1px solid rgba(18,63,49,.15);border-radius:1rem;background:rgba(255,255,255,.55)}.landing-facts b,.landing-facts span{display:block}.landing-facts span{margin-top:.3rem;font-size:.88rem}.landing-section{padding:3rem 0}.landing-section h2{font-family:"Instrument Serif",Georgia,serif;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:400;margin:0 0 1.5rem}.landing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.landing-card h3{font-size:1.15rem;margin:0 0 .5rem}.landing-card p{margin:0;line-height:1.6}.landing-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;list-style:none;padding:0}.landing-list li{padding:1rem 1.1rem;border:1px solid rgba(18,63,49,.15);border-radius:.75rem;background:rgba(255,255,255,.55)}.landing-cta{margin:3rem 0 5rem;padding:clamp(2rem,6vw,4rem);border-radius:1.5rem;background:#174c39;color:white}.landing-cta h2{color:white}.landing-cta a{display:inline-flex;margin-top:1rem;padding:.9rem 1.2rem;background:#e7a52f;color:#112f25;border-radius:.65rem;font-weight:700}.landing-footer{padding:2rem 1rem;text-align:center;border-top:1px solid rgba(18,63,49,.15);font-size:.85rem}html[data-lite-motion="true"] .process-motif,html[data-lite-motion="true"] .cursor-blob,html[data-lite-motion="true"] .cursor-dot{display:none!important}
@media(max-width:64rem){.hero-order-facts{position:static;width:auto;grid-template-columns:repeat(3,1fr);margin-top:1rem}.hero-commercial-links{grid-template-columns:1fr}.hero-commercial-links a{min-height:4.8rem;border-right:0;border-bottom:1px solid rgba(11,79,60,.16)}.hero-commercial-links a:last-child{border-bottom:0}.class-coming-grid{grid-template-columns:1fr}}
@media(max-width:42rem){.hero-order-facts{grid-template-columns:1fr}.hero-order-facts span{padding:.6rem .75rem}.hero-commercial-links{margin-top:1rem}.landing-nav a:not(.landing-contact){display:none}.landing-header img{width:10rem}.landing-facts,.landing-grid,.landing-list{grid-template-columns:1fr}.landing-hero{padding-top:3rem}.landing-hero h1{font-size:clamp(3.3rem,16vw,5.5rem)}}

html[data-lite-motion="true"] .process-motif {
	display: block !important;
}

@media (min-width: 42.01rem) and (max-width: 64rem) {
	.hero-inner,
	.hero:has(.hero-journey) .hero-inner {
		padding: 3rem clamp(1.5rem, 4vw, 3rem) 1.5rem;
	}

	.hero-stage {
		display: grid;
		grid-template-columns: minmax(18rem, 0.86fr) minmax(21rem, 1.14fr);
		align-items: center;
		gap: clamp(1.25rem, 3vw, 2.25rem);
	}

	.hero-copy {
		grid-column: 1;
		max-width: 30rem;
	}

	.hero-title {
		font-size: clamp(4rem, 7.4vw, 5.25rem);
		max-width: 8ch;
	}

	.hero-figure,
	.hero:has(.hero-journey) .hero-figure {
		position: relative;
		inset: auto;
		grid-column: 2;
		grid-row: 1;
		order: initial;
		width: 100%;
		height: clamp(23rem, 46vw, 29rem);
		margin: 0;
	}

	.hero-order-facts {
		grid-column: 1 / -1;
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.hero-commercial-links {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.hero-commercial-links a {
		min-height: 6rem;
		border-right: 1px solid rgba(11, 79, 60, 0.16);
		border-bottom: 0;
	}

	.hero-commercial-links a:last-child {
		border-right: 0;
	}
}
