/*
 * NÈG MARRON 1.7 elevation layer.
 * Immersive story, scalable Living Pantry, sensory instruments and Dry Pantry.
 */

:root {
	--nm-white: #f5f1e8;
	--nm-mist: #b8c2ba;
	--nm-green: #07140d;
	--nm-green-2: #10271a;
	--nm-red: #d21034;
	--nm-blue: #00209f;
	--nm-gold: #d1a758;
}

/* 1.9 — connected journeys and immersive editorial systems */
.nm-formula-path-v2 > * {
	text-decoration: none;
	transition: transform .45s ease, filter .45s ease;
}
.nm-formula-path-v2 > *::after {
	inset: auto 0 0;
	height: 5px;
	border: 0;
	background: linear-gradient(90deg, var(--nm-blue) 0 50%, var(--nm-red) 50% 100%);
	transform: none;
}
.nm-formula-path-v2 > *:hover,
.nm-formula-path-v2 > *:focus-visible { transform: translateY(-6px); filter: saturate(1.08); }
.nm-formula-path-v2 > *:hover::after { border: 0; }
.nm-formula-path-v2 em { margin-top: 22px; font-size: 9px; font-style: normal; letter-spacing: .16em; text-transform: uppercase; }

.nm-film-library-card::after {
	left: 0;
	right: 0;
	bottom: 0;
	height: 5px;
	top: auto;
	transform: none;
	background: linear-gradient(90deg, var(--nm-blue) 0 50%, var(--nm-red) 50% 100%);
}
.nm-film-library-card:hover::after,
.nm-film-library-card:focus-visible::after { transform: none; }

.nm-tower-cycle { background: #07100b; color: #fff; }
.nm-tower-cycle-stage { position: relative; min-height: min(780px, 82vh); }
.nm-tower-cycle-stage article { position: absolute; inset: 0; display: flex; align-items: flex-end; padding: clamp(55px, 8vw, 120px); opacity: 0; visibility: hidden; transform: scale(1.025); transition: opacity .55s ease, visibility .55s ease, transform .8s ease; background: linear-gradient(90deg, rgba(3,8,5,.95), rgba(3,8,5,.18) 70%), linear-gradient(0deg, rgba(3,8,5,.8), transparent 62%), var(--nm-bg) center/cover; }
.nm-tower-cycle-stage article.is-active { opacity: 1; visibility: visible; transform: none; }
.nm-tower-cycle-stage article > div { max-width: 680px; }
.nm-tower-cycle-stage small { color: #fff; letter-spacing: .17em; text-transform: uppercase; }
.nm-tower-cycle-stage h2 { margin: 24px 0; max-width: 760px; font: 400 clamp(55px, 7vw, 105px)/.92 var(--serif); }
.nm-tower-cycle-stage p { max-width: 600px; color: #d5dbd6; font-size: 17px; line-height: 1.75; }
.nm-tower-cycle > nav { display: grid; grid-template-columns: repeat(3,1fr); }
.nm-tower-cycle > nav button { position: relative; padding: 28px 34px; border: 0; border-right: 1px solid rgba(255,255,255,.13); background: #07100b; color: #fff; text-align: left; cursor: pointer; }
.nm-tower-cycle > nav button::after { content:""; position:absolute; left:0; right:0; bottom:0; height:5px; background:linear-gradient(90deg,var(--nm-blue) 0 50%,var(--nm-red) 50%); opacity:.28; transition:opacity .3s; }
.nm-tower-cycle > nav button.is-active::after { opacity:1; }
.nm-tower-cycle nav b { margin-right: 18px; color: #e34943; font: 400 28px var(--serif); }
.nm-tower-cycle nav span { font: 400 clamp(21px,2vw,30px) var(--serif); }

.nm-journal-chapters { padding: clamp(80px,10vw,150px) clamp(25px,5vw,80px); background:#f0ede4; color:#101510; }
.nm-journal-chapters header { display:grid; grid-template-columns:.65fr 1.35fr; gap:50px; align-items:end; margin-bottom:55px; }
.nm-journal-chapters h2 { margin:0; max-width:1050px; font:400 clamp(48px,6vw,90px)/.96 var(--serif); }
.nm-journal-chapters > div { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:#aaa; }
.nm-journal-chapters a { min-height:580px; padding:32px; display:flex; flex-direction:column; justify-content:flex-end; color:#fff; background:linear-gradient(0deg,rgba(3,8,5,.94),transparent 75%),var(--nm-bg) center/cover; transition:filter .4s, transform .4s; }
.nm-journal-chapters a:hover { filter:saturate(1.12); transform:translateY(-5px); }
.nm-journal-chapters small,.nm-journal-chapters span { font-size:9px; letter-spacing:.16em; text-transform:uppercase; }
.nm-journal-chapters strong { margin:20px 0 38px; font:400 clamp(28px,3vw,46px)/1.03 var(--serif); }
.nm-film-journal-library { position:relative; }
.nm-film-journal-library > span { position:absolute; top:-120px; }
.nm-film-journal-library .nm-product-index-head { padding-left:clamp(28px,6vw,95px); padding-right:clamp(28px,6vw,95px); }

.nm-chef-method { padding:clamp(80px,10vw,150px) clamp(25px,5vw,80px); background:#061009; color:#fff; }
.nm-chef-method header { display:grid; grid-template-columns:.6fr 1.4fr; gap:50px; align-items:end; margin-bottom:60px; }
.nm-chef-method h2 { margin:0; font:400 clamp(52px,6.5vw,100px)/.92 var(--serif); }
.nm-chef-method > div { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.nm-chef-method a { min-height:650px; padding:35px; display:flex; flex-direction:column; justify-content:flex-end; color:#fff; background:linear-gradient(0deg,rgba(3,8,5,.97),transparent 78%),var(--nm-bg) center/cover; transition:transform .45s,filter .45s; }
.nm-chef-method a:hover { transform:translateY(-7px); filter:saturate(1.12); }
.nm-chef-method small,.nm-chef-method span { font-size:9px; letter-spacing:.16em; text-transform:uppercase; }
.nm-chef-method strong { margin:20px 0; font:400 clamp(36px,4vw,58px)/.96 var(--serif); }
.nm-chef-method p { color:#d1d7d2; line-height:1.65; }
.nm-chef-method span { margin-top:28px; }

.nm-sauce-preview-luxury { min-height:780px; display:grid; grid-template-columns:1.05fr .95fr; grid-template-rows:1fr auto; padding:clamp(45px,6vw,90px); position:relative; overflow:hidden; background:linear-gradient(90deg,rgba(3,8,5,.9),rgba(3,8,5,.18)),var(--nm-bg) center/cover; color:#fff; }
.nm-sauce-preview-readings { position:relative; min-height:390px; z-index:2; }
.nm-sauce-preview-readings article { position:absolute; inset:auto 0 0; max-width:570px; opacity:0; visibility:hidden; transform:translateY(18px); transition:.35s; }
.nm-sauce-preview-readings article.is-active { opacity:1; visibility:visible; transform:none; }
.nm-sauce-preview-readings small { letter-spacing:.17em; text-transform:uppercase; }
.nm-sauce-preview-readings strong { display:block; margin:20px 0; font:400 clamp(48px,5.5vw,84px)/.92 var(--serif); }
.nm-sauce-preview-readings p { max-width:520px; color:#d4dad5; line-height:1.7; }
.nm-sauce-wave { align-self:end; padding:35px; display:grid; grid-template-columns:repeat(6,1fr); align-items:end; height:280px; border-left:1px solid rgba(255,255,255,.22); border-bottom:1px solid rgba(255,255,255,.22); background:rgba(3,8,5,.26); backdrop-filter:blur(4px); }
.nm-sauce-wave i { display:block; height:var(--h,40%); margin:0 5px; background:linear-gradient(0deg,var(--nm-blue),var(--nm-red)); opacity:.9; }.nm-sauce-wave i:nth-child(1){--h:22%}.nm-sauce-wave i:nth-child(2){--h:37%}.nm-sauce-wave i:nth-child(3){--h:68%}.nm-sauce-wave i:nth-child(4){--h:91%}.nm-sauce-wave i:nth-child(5){--h:72%}.nm-sauce-wave i:nth-child(6){--h:48%}
.nm-sauce-wave span { font-size:8px; letter-spacing:.13em; text-transform:uppercase; }.nm-sauce-wave span:nth-of-type(2){grid-column:2/6;text-align:center}.nm-sauce-wave span:last-child{text-align:right}
.nm-sauce-preview-luxury > nav { grid-column:1/-1; display:grid; grid-template-columns:repeat(4,1fr); margin-top:55px; background:rgba(3,8,5,.78); backdrop-filter:blur(12px); }
.nm-sauce-preview-luxury nav button { position:relative; padding:25px; border:0;border-right:1px solid rgba(255,255,255,.18);background:transparent;color:#fff;font:400 22px var(--serif);text-align:left;cursor:pointer; }
.nm-sauce-preview-luxury nav button::after { content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,var(--nm-blue) 0 50%,var(--nm-red) 50%);opacity:0; }.nm-sauce-preview-luxury nav button.is-active{background:#f0ede4;color:#111}.nm-sauce-preview-luxury nav button.is-active::after{opacity:1}.nm-sauce-preview-luxury nav b{margin-right:14px;color:#df3d3b;font-weight:400}

.nm-sauce-instrument { padding:clamp(80px,10vw,155px) clamp(28px,7vw,110px); background:#f0ede4;color:#111; }
.nm-sauce-instrument > header { display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:end;margin-bottom:75px}.nm-sauce-instrument h2{margin:15px 0 0;font:400 clamp(55px,7vw,105px)/.9 var(--serif)}.nm-sauce-instrument header>p{max-width:610px;color:#4d574f;line-height:1.8}
.nm-sauce-instrument-stage{display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:1fr auto;min-height:650px;background:#07120c;color:#fff}.nm-sauce-curve{position:relative;min-height:520px;margin:55px;border-left:1px solid rgba(255,255,255,.22);border-bottom:1px solid rgba(255,255,255,.22);overflow:hidden}.nm-sauce-curve b{position:absolute;left:4%;right:4%;bottom:7%;height:74%;border-radius:50% 60% 0 0/80% 80% 0 0;border-top:4px solid #e64b3d;transform:skewX(-12deg)}.nm-sauce-curve i{position:absolute;bottom:0;width:1px;height:100%;background:rgba(255,255,255,.08)}.nm-sauce-curve i:nth-of-type(1){left:25%}.nm-sauce-curve i:nth-of-type(2){left:50%}.nm-sauce-curve i:nth-of-type(3){left:75%}.nm-sauce-curve i:nth-of-type(4){right:0}.nm-sauce-curve small{position:absolute;bottom:12px;font-size:8px;letter-spacing:.13em}.nm-sauce-curve small:nth-of-type(1){left:3%}.nm-sauce-curve small:nth-of-type(2){left:28%}.nm-sauce-curve small:nth-of-type(3){left:55%}.nm-sauce-curve small:nth-of-type(4){right:3%}.nm-curve-label{position:absolute;top:0;left:12px;font-size:8px;letter-spacing:.14em}
.nm-sauce-lab-copy{position:relative;margin:55px 55px 55px 10px}.nm-sauce-lab-copy article{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;opacity:0;visibility:hidden;transform:translateY(16px);transition:.35s}.nm-sauce-lab-copy article.is-active{opacity:1;visibility:visible;transform:none}.nm-sauce-lab-copy small{color:#e34a42;letter-spacing:.15em}.nm-sauce-lab-copy h3{margin:22px 0;font:400 clamp(42px,5vw,72px)/.94 var(--serif)}.nm-sauce-lab-copy p{color:#c8d0ca;line-height:1.75}
.nm-sauce-instrument-stage>nav{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr)}.nm-sauce-instrument-stage nav button{padding:25px;border:0;border-top:1px solid rgba(255,255,255,.15);border-right:1px solid rgba(255,255,255,.15);background:#07120c;color:#e14b43;text-align:left;cursor:pointer}.nm-sauce-instrument-stage nav span{display:block;margin-top:8px;color:#fff;font:400 25px var(--serif)}.nm-sauce-instrument-stage nav button.is-active{background:#f0ede4;color:#d53b39}.nm-sauce-instrument-stage nav button.is-active span{color:#111}
.nm-sauce-ritual{padding:clamp(80px,9vw,140px) clamp(28px,5vw,75px);background:#07100b;color:#fff}.nm-sauce-ritual header{max-width:950px;margin-bottom:60px}.nm-sauce-ritual h2{font:400 clamp(52px,6vw,90px)/.93 var(--serif)}.nm-sauce-ritual>div{display:grid;grid-template-columns:repeat(4,1fr);gap:2px}.nm-sauce-ritual article{min-height:520px;padding:30px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(0deg,rgba(3,8,5,.93),transparent 72%),var(--nm-bg) center/cover}.nm-sauce-ritual span{font:400 38px var(--serif);color:#fff}.nm-sauce-ritual strong{font:400 32px var(--serif)}

@media(max-width:900px){.nm-sauce-preview-luxury,.nm-sauce-instrument-stage{grid-template-columns:1fr}.nm-sauce-wave{display:none}.nm-sauce-preview-luxury>nav{grid-template-columns:1fr 1fr}.nm-sauce-instrument>header,.nm-journal-chapters header,.nm-chef-method header{grid-template-columns:1fr}.nm-sauce-lab-copy{min-height:420px}.nm-sauce-ritual>div{grid-template-columns:1fr 1fr}.nm-journal-chapters>div,.nm-chef-method>div{grid-template-columns:1fr}.nm-chef-method a,.nm-journal-chapters a{min-height:520px}}
@media(max-width:700px){.nm-tower-cycle>nav{grid-template-columns:1fr}.nm-tower-cycle-stage{min-height:680px}.nm-tower-cycle-stage article{padding:45px 25px}.nm-sauce-preview-luxury{padding:35px 22px}.nm-sauce-preview-luxury>nav,.nm-sauce-instrument-stage>nav,.nm-sauce-ritual>div{grid-template-columns:1fr}.nm-sauce-curve{margin:30px 20px}.nm-sauce-lab-copy{margin:35px 25px;min-height:470px}}

:focus-visible {
	outline: 2px solid var(--nm-white);
	outline-offset: 5px;
}

.nm-header .nm-wordmark img {
	display: block;
	width: clamp(225px, 19vw, 330px);
	max-height: 58px;
	object-fit: contain;
	object-position: left center;
}

.nm-primary-nav > ul {
	gap: clamp(12px, 1.45vw, 27px);
}

.nm-primary-nav a,
.nm-language {
	font-weight: 500;
}

.nm-primary-nav > ul > li:last-child > a {
	border: 1px solid rgba(255, 255, 255, .45);
	padding: 9px 13px;
}

.nm-primary-nav > ul > li:last-child > a::after {
	display: none;
}

.nm-primary-nav .sub-menu {
	min-width: 225px;
}

/* OUR STORY */
.nm-story-page-v2 {
	background: #061009;
	color: var(--nm-white);
}

.nm-story-hero-v2 {
	position: relative;
	min-height: 100svh;
	padding: clamp(150px, 17vw, 250px) clamp(28px, 7vw, 110px) clamp(70px, 9vw, 130px);
	display: flex;
	align-items: flex-end;
	background:
		linear-gradient(90deg, rgba(3, 8, 5, .95) 0%, rgba(3, 8, 5, .69) 42%, rgba(3, 8, 5, .08) 74%),
		linear-gradient(0deg, rgba(3, 8, 5, .8), transparent 55%),
		var(--nm-bg) center / cover;
	overflow: hidden;
}

.nm-story-hero-v2::after,
.nm-profile-hero-v2::after,
.nm-flavor-hero-v2::after,
.nm-pantry-intro::after,
.nm-dry-hero-v2::after {
	content: "";
	position: absolute;
	inset: auto 0 0;
	height: 4px;
	background: linear-gradient(90deg, var(--nm-blue) 0 48%, transparent 48% 52%, var(--nm-red) 52%);
}

.nm-story-hero-v2 > div {
	position: relative;
	z-index: 1;
	max-width: 1020px;
}

.nm-story-hero-v2 h1 {
	max-width: 980px;
	margin: .22em 0;
	font-family: var(--serif);
	font-size: clamp(62px, 8.4vw, 142px);
	font-weight: 400;
	line-height: .86;
}

.nm-story-hero-v2 > div > p:last-child {
	max-width: 760px;
	font-size: clamp(17px, 1.45vw, 22px);
	line-height: 1.7;
	color: #d3d8d2;
}

.nm-story-coordinate {
	position: absolute;
	right: clamp(24px, 5vw, 80px);
	bottom: clamp(60px, 8vw, 120px);
	z-index: 1;
	padding-left: 14px;
	border-left: 3px solid var(--nm-red);
	font-size: 9px;
	letter-spacing: .22em;
	text-transform: uppercase;
	writing-mode: vertical-rl;
}

.nm-name-story {
	display: grid;
	grid-template-columns: .8fr 1.2fr;
	min-height: 850px;
	border-bottom: 1px solid rgba(255, 255, 255, .14);
}

.nm-name-monument {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(60px, 8vw, 130px);
	background:
		radial-gradient(circle at 30% 40%, rgba(210, 16, 52, .18), transparent 34%),
		radial-gradient(circle at 75% 60%, rgba(0, 32, 159, .22), transparent 37%),
		#040907;
	overflow: hidden;
}

.nm-name-monument::before {
	content: "ROOT / RESIST / GROW";
	position: absolute;
	left: 30px;
	bottom: 28px;
	color: rgba(255, 255, 255, .35);
	font-size: 8px;
	letter-spacing: .4em;
}

.nm-name-monument span,
.nm-name-monument strong {
	position: relative;
	z-index: 1;
	font-family: var(--serif);
	font-weight: 400;
	line-height: .76;
}

.nm-name-monument span {
	font-size: clamp(74px, 10vw, 170px);
}

.nm-name-monument strong {
	margin-left: clamp(20px, 5vw, 80px);
	font-size: clamp(68px, 9vw, 152px);
}

.nm-name-monument i {
	position: absolute;
	top: 15%;
	right: 17%;
	bottom: 15%;
	width: 6px;
	background: linear-gradient(var(--nm-blue) 0 47%, transparent 47% 53%, var(--nm-red) 53%);
	transform: rotate(13deg);
	box-shadow: 0 0 45px rgba(255, 255, 255, .12);
}

.nm-name-copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(70px, 9vw, 150px);
	background: #f0ede4;
	color: #111711;
}

.nm-name-copy .nm-section-label {
	color: #424b44;
}

.nm-name-copy h2,
.nm-two-roots h2,
.nm-story-chapters h2 {
	margin: 25px 0 35px;
	font-family: var(--serif);
	font-size: clamp(50px, 6.2vw, 98px);
	font-weight: 400;
	line-height: .91;
}

.nm-name-copy > p:not(.nm-section-label) {
	max-width: 790px;
	font-size: 17px;
	line-height: 1.78;
	color: #414842;
}

.nm-name-copy blockquote {
	margin: 48px 0 0;
	padding: 25px 0 0 35px;
	border-top: 1px solid #aeb1aa;
	border-left: 4px solid var(--nm-blue);
	font-family: var(--serif);
	font-size: clamp(26px, 3vw, 42px);
	line-height: 1.15;
}

.nm-two-roots {
	padding: clamp(85px, 10vw, 155px) clamp(28px, 6vw, 95px);
	background: #07110b;
}

.nm-two-roots > header {
	display: grid;
	grid-template-columns: .85fr 1.15fr;
	align-items: end;
	gap: 7vw;
	margin-bottom: 65px;
}

.nm-two-roots h2 {
	grid-column: 2;
	margin: 0;
}

.nm-two-roots > header .nm-section-label {
	align-self: start;
}

.nm-two-roots-visual {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 3px;
}

.nm-two-roots-visual article {
	position: relative;
	min-height: 720px;
	padding: clamp(30px, 4vw, 62px);
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	background:
		linear-gradient(0deg, rgba(3, 8, 5, .96), rgba(3, 8, 5, .05) 76%),
		var(--nm-bg) center / cover;
	overflow: hidden;
}

.nm-two-roots-visual article::after {
	content: "";
	position: absolute;
	inset: 14px;
	border: 1px solid rgba(255, 255, 255, 0);
	transition: .45s;
}

.nm-two-roots-visual article:hover::after {
	border-color: rgba(255, 255, 255, .42);
}

.nm-two-roots-visual small {
	font-size: 9px;
	letter-spacing: .18em;
	text-transform: uppercase;
}

.nm-two-roots-visual h3 {
	max-width: 600px;
	margin: 18px 0;
	font-family: var(--serif);
	font-size: clamp(42px, 5vw, 78px);
	font-weight: 400;
	line-height: .94;
}

.nm-two-roots-visual p {
	max-width: 540px;
	color: #cad1cb;
	font-size: 16px;
}

.nm-story-origin-film {
	border-top: 1px solid rgba(255, 255, 255, .13);
	border-bottom: 1px solid rgba(255, 255, 255, .13);
}

.nm-story-chapters {
	padding: clamp(90px, 11vw, 170px) clamp(28px, 6vw, 95px);
	background:
		radial-gradient(circle at 10% 20%, rgba(0, 32, 159, .17), transparent 28%),
		#07110b;
}

.nm-story-chapters > header,
.nm-grow-journey > header,
.nm-flavor-wave-section > header,
.nm-aroma-cabinet > header {
	display: grid;
	grid-template-columns: 1.25fr .65fr;
	gap: 8vw;
	align-items: end;
	margin-bottom: 65px;
}

.nm-story-chapters > header h2,
.nm-grow-journey > header h2,
.nm-flavor-wave-section > header h2,
.nm-aroma-cabinet > header h2 {
	margin-bottom: 0;
}

.nm-story-chapters > header > p,
.nm-grow-journey > header > p,
.nm-flavor-wave-section > header > p,
.nm-aroma-cabinet > header > p {
	color: var(--nm-mist);
	font-size: 16px;
	line-height: 1.75;
}

.nm-story-chapter-stage,
.nm-grow-stage {
	border: 1px solid rgba(255, 255, 255, .2);
	background: #030705;
}

.nm-story-chapter-media,
.nm-grow-panels {
	position: relative;
	min-height: 690px;
	overflow: hidden;
}

.nm-story-chapter-media article,
.nm-grow-panels article {
	position: absolute;
	inset: 0;
	padding: clamp(35px, 5vw, 78px);
	display: flex;
	align-items: flex-end;
	background:
		linear-gradient(90deg, rgba(2, 6, 4, .96), rgba(2, 6, 4, .15) 72%),
		linear-gradient(0deg, rgba(2, 6, 4, .85), transparent 58%),
		var(--nm-bg) center / cover;
	opacity: 0;
	visibility: hidden;
	transform: scale(1.035);
	transition: opacity .5s, visibility .5s, transform 1.2s;
}

.nm-story-chapter-media article.is-active,
.nm-grow-panels article.is-active {
	opacity: 1;
	visibility: visible;
	transform: scale(1);
}

.nm-story-chapter-media article > span,
.nm-grow-panels article > span {
	position: absolute;
	top: 30px;
	right: 40px;
	color: rgba(255, 255, 255, .28);
	font-family: var(--serif);
	font-size: clamp(90px, 14vw, 220px);
	line-height: 1;
}

.nm-story-chapter-media article > div,
.nm-grow-panels article > div {
	position: relative;
	z-index: 1;
	max-width: 700px;
}

.nm-story-chapter-media small,
.nm-grow-panels small {
	font-size: 9px;
	letter-spacing: .2em;
	text-transform: uppercase;
}

.nm-story-chapter-media h3,
.nm-grow-panels h3 {
	margin: 15px 0;
	font-family: var(--serif);
	font-size: clamp(62px, 8vw, 125px);
	font-weight: 400;
	line-height: .84;
}

.nm-story-chapter-media p,
.nm-grow-panels p {
	max-width: 620px;
	font-size: 18px;
	line-height: 1.65;
	color: #d0d6d1;
}

.nm-story-chapter-stage nav,
.nm-grow-stage nav {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
}

.nm-story-chapter-stage nav button,
.nm-grow-stage nav button {
	position: relative;
	min-height: 112px;
	padding: 24px;
	display: flex;
	gap: 14px;
	align-items: flex-end;
	border: 0;
	border-right: 1px solid rgba(255, 255, 255, .16);
	background: #09120d;
	color: #aab2ac;
	cursor: pointer;
	text-align: left;
	transition: .3s;
}

.nm-story-chapter-stage nav button::before,
.nm-grow-stage nav button::before {
	content: "";
	position: absolute;
	top: -2px;
	left: 0;
	width: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--nm-blue), var(--nm-red));
	transition: .35s;
}

.nm-story-chapter-stage nav button.is-active,
.nm-grow-stage nav button.is-active {
	background: #13251a;
	color: #fff;
}

.nm-story-chapter-stage nav button.is-active::before,
.nm-grow-stage nav button.is-active::before {
	width: 100%;
}

.nm-story-chapter-stage nav b,
.nm-grow-stage nav b {
	color: #dd3b3d;
	font-family: var(--serif);
	font-size: 26px;
	font-weight: 400;
}

.nm-story-chapter-stage nav span,
.nm-grow-stage nav span {
	font-size: 10px;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.nm-story-close {
	padding: clamp(100px, 13vw, 210px) clamp(28px, 8vw, 130px);
	text-align: center;
	background:
		linear-gradient(135deg, rgba(0, 32, 159, .14), transparent 45%, rgba(210, 16, 52, .14)),
		#f0ede4;
	color: #101510;
}

.nm-story-close > small {
	letter-spacing: .22em;
	text-transform: uppercase;
}

.nm-story-close blockquote {
	max-width: 1200px;
	margin: 35px auto 55px;
	font-family: var(--serif);
	font-size: clamp(48px, 7vw, 105px);
	line-height: .93;
}

.nm-story-close .nm-button {
	border-color: #111;
}

.nm-story-close .nm-text-link {
	margin-left: 25px;
	border-color: #888;
}

/* LIVING PANTRY ARCHIVE */
.nm-pantry-page {
	background: #061009;
	color: var(--nm-white);
}

.nm-pantry-intro {
	position: relative;
	min-height: 96svh;
	padding: clamp(150px, 17vw, 250px) clamp(28px, 7vw, 110px) clamp(80px, 10vw, 150px);
	display: flex;
	align-items: flex-end;
	background:
		linear-gradient(90deg, rgba(3, 8, 5, .94), rgba(3, 8, 5, .35) 58%, rgba(3, 8, 5, .06)),
		linear-gradient(0deg, rgba(3, 8, 5, .85), transparent 60%),
		var(--nm-bg) center / cover;
}

.nm-pantry-intro-copy {
	position: relative;
	z-index: 1;
	max-width: 1030px;
}

.nm-pantry-intro h1 {
	margin: .22em 0;
	font-family: var(--serif);
	font-size: clamp(64px, 8.6vw, 140px);
	font-weight: 400;
	line-height: .85;
}

.nm-pantry-intro-copy > p:last-child {
	max-width: 760px;
	color: #d0d7d1;
	font-size: 19px;
	line-height: 1.7;
}

.nm-pantry-scroll {
	position: absolute;
	right: clamp(28px, 6vw, 95px);
	bottom: clamp(75px, 9vw, 135px);
	z-index: 2;
	display: flex;
	gap: 18px;
	align-items: center;
	font-size: 9px;
	letter-spacing: .18em;
	text-transform: uppercase;
}

.nm-pantry-scroll::before {
	content: "";
	width: 36px;
	height: 2px;
	background: linear-gradient(90deg, var(--nm-blue) 0 45%, transparent 45% 55%, var(--nm-red) 55%);
}

.nm-pantry-feature {
	padding: clamp(85px, 10vw, 155px) clamp(28px, 6vw, 95px);
	background:
		radial-gradient(circle at 80% 20%, rgba(33, 86, 55, .35), transparent 34%),
		#07110b;
}

.nm-pantry-feature > header {
	display: grid;
	grid-template-columns: 1fr .55fr;
	gap: 8vw;
	align-items: end;
	margin-bottom: 60px;
}

.nm-pantry-feature h2,
.nm-plant-library h2 {
	margin: 20px 0 0;
	font-family: var(--serif);
	font-size: clamp(52px, 6vw, 95px);
	font-weight: 400;
	line-height: .9;
}

.nm-pantry-feature > header > p,
.nm-plant-library-head > p {
	color: var(--nm-mist);
	font-size: 15px;
	line-height: 1.75;
}

.nm-pantry-feature-stage {
	border: 1px solid rgba(255, 255, 255, .18);
}

.nm-pantry-feature-panels {
	position: relative;
	min-height: 760px;
	overflow: hidden;
}

.nm-pantry-feature-panel {
	position: absolute;
	inset: 0;
	padding: clamp(35px, 5vw, 80px);
	display: flex;
	align-items: flex-end;
	background:
		linear-gradient(90deg, rgba(2, 7, 4, .95), rgba(2, 7, 4, .36) 58%, rgba(2, 7, 4, .05)),
		linear-gradient(0deg, rgba(2, 7, 4, .88), transparent 62%),
		var(--nm-bg) center / cover;
	opacity: 0;
	visibility: hidden;
	transform: scale(1.025);
	transition: opacity .5s, visibility .5s, transform 1s;
}

.nm-pantry-feature-panel.is-active {
	opacity: 1;
	visibility: visible;
	transform: scale(1);
}

.nm-pantry-feature-copy {
	max-width: 700px;
}

.nm-pantry-feature-copy > small,
.nm-pantry-botanical {
	font-size: 9px;
	letter-spacing: .18em;
	text-transform: uppercase;
}

.nm-pantry-feature-copy h3 {
	margin: 14px 0;
	font-family: var(--serif);
	font-size: clamp(62px, 8vw, 130px);
	font-weight: 400;
	line-height: .84;
}

.nm-pantry-feature-copy > p {
	max-width: 590px;
	color: #d0d7d1;
	font-size: 18px;
}

.nm-pantry-feature-copy dl {
	max-width: 630px;
	margin: 38px 0;
	border-top: 1px solid rgba(255, 255, 255, .25);
}

.nm-pantry-feature-copy dl > div {
	display: grid;
	grid-template-columns: 110px 1fr;
	gap: 25px;
	padding: 13px 0;
	border-bottom: 1px solid rgba(255, 255, 255, .14);
}

.nm-pantry-feature-copy dt {
	font-size: 9px;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.nm-pantry-feature-copy dd {
	margin: 0;
	color: #c7cec8;
}

.nm-pantry-botanical {
	position: absolute;
	right: 30px;
	bottom: 35px;
	writing-mode: vertical-rl;
	color: rgba(255, 255, 255, .65);
}

.nm-pantry-feature-nav {
	display: grid;
	grid-template-columns: repeat(var(--count, 5), 1fr);
}

.nm-pantry-feature-nav button {
	position: relative;
	min-height: 118px;
	padding: 25px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	border: 0;
	border-right: 1px solid rgba(255, 255, 255, .14);
	background: #08110c;
	color: #9fa8a1;
	cursor: pointer;
	text-align: left;
	transition: .3s;
}

.nm-pantry-feature-nav button::before {
	content: "";
	position: absolute;
	inset: -2px auto auto 0;
	width: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--nm-blue), var(--nm-red));
	transition: .35s;
}

.nm-pantry-feature-nav button.is-active {
	background: #f0ede4;
	color: #111711;
}

.nm-pantry-feature-nav button.is-active::before {
	width: 100%;
}

.nm-pantry-feature-nav span {
	color: #d23638;
	font-family: var(--serif);
	font-size: 24px;
}

.nm-pantry-feature-nav strong {
	font-family: var(--serif);
	font-size: 22px;
	font-weight: 400;
}

.nm-plant-library {
	padding: clamp(90px, 11vw, 170px) clamp(28px, 6vw, 95px);
	background: #040a07;
}

.nm-plant-library-head {
	display: grid;
	grid-template-columns: 1.15fr .55fr;
	gap: 8vw;
	align-items: end;
	margin-bottom: 55px;
}

.nm-plant-controls {
	position: sticky;
	top: 68px;
	z-index: 20;
	margin-bottom: 38px;
	padding: 22px 0;
	display: grid;
	grid-template-columns: minmax(260px, .75fr) 1.4fr auto;
	gap: 25px;
	align-items: end;
	border-top: 1px solid rgba(255, 255, 255, .18);
	border-bottom: 1px solid rgba(255, 255, 255, .18);
	background: rgba(4, 10, 7, .93);
	backdrop-filter: blur(18px);
}

.nm-plant-search span {
	display: block;
	margin-bottom: 6px;
	font-size: 8px;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.nm-plant-search input {
	width: 100%;
	padding: 9px 0;
	border: 0;
	border-bottom: 1px solid rgba(255, 255, 255, .45);
	background: transparent;
	color: #fff;
	font-family: var(--serif);
	font-size: 21px;
}

.nm-plant-filters {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
}

.nm-plant-filters button {
	padding: 9px 12px;
	border: 1px solid rgba(255, 255, 255, .25);
	background: transparent;
	color: #c7cec8;
	cursor: pointer;
	font-size: 9px;
	letter-spacing: .11em;
	text-transform: uppercase;
}

.nm-plant-filters button.is-active {
	border-color: var(--nm-white);
	background: var(--nm-white);
	color: #101510;
}

.nm-plant-count {
	margin: 0;
	white-space: nowrap;
	color: #9fa8a1;
	font-size: 9px;
	letter-spacing: .13em;
	text-transform: uppercase;
}

.nm-plant-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 3px;
}

.nm-plant-card {
	position: relative;
	min-height: 610px;
	padding: 32px;
	display: flex;
	align-items: flex-end;
	background:
		linear-gradient(0deg, rgba(2, 6, 4, .97), transparent 72%),
		linear-gradient(90deg, rgba(2, 6, 4, .22), transparent),
		var(--nm-bg) center / cover;
	color: #fff;
	overflow: hidden;
	isolation: isolate;
	transition: transform .45s, filter .45s;
}

.nm-plant-card[hidden] {
	display: none;
}

.nm-plant-card::after {
	content: "";
	position: absolute;
	inset: 12px;
	z-index: -1;
	border: 1px solid rgba(255, 255, 255, 0);
	transition: .45s;
}

.nm-plant-card:hover {
	z-index: 2;
	transform: translateY(-8px);
	filter: saturate(1.12);
}

.nm-plant-card:hover::after {
	border-color: rgba(255, 255, 255, .5);
}

.nm-plant-number {
	position: absolute;
	top: 25px;
	right: 28px;
	color: rgba(255, 255, 255, .7);
	font-family: var(--serif);
	font-size: 32px;
}

.nm-plant-card small,
.nm-plant-card em {
	font-size: 9px;
	font-style: normal;
	letter-spacing: .15em;
	text-transform: uppercase;
}

.nm-plant-card strong {
	display: block;
	margin: 9px 0;
	font-family: var(--serif);
	font-size: clamp(36px, 3.6vw, 56px);
	font-weight: 400;
	line-height: 1;
}

.nm-plant-card p {
	max-width: 390px;
	color: #ced4cf;
}

.nm-plant-card em {
	display: block;
	margin-top: 25px;
}

.nm-plant-library-foot {
	padding-top: 45px;
	text-align: center;
}

.nm-plant-library-foot .nm-button {
	color: #fff;
	cursor: pointer;
	background: transparent;
}

.nm-plant-library-foot .nm-button[hidden] {
	display: none;
}

.nm-all-plants-head {
	min-height: 78vh;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}

.nm-all-plants-head > p:not(.nm-section-label) {
	max-width: 700px;
	color: #bdc6bf;
	font-size: 18px;
}

/* SINGLE PLANT */
.nm-ingredient-single-v2 {
	background: #061009;
	color: var(--nm-white);
}

.nm-profile-hero-v2 {
	position: relative;
	min-height: 96svh;
	padding: clamp(150px, 17vw, 250px) clamp(28px, 7vw, 110px) clamp(75px, 9vw, 135px);
	display: flex;
	align-items: flex-end;
	background:
		linear-gradient(90deg, rgba(3, 8, 5, .95), rgba(3, 8, 5, .3) 66%, rgba(3, 8, 5, .05)),
		linear-gradient(0deg, rgba(3, 8, 5, .86), transparent 58%),
		var(--nm-bg) center / cover;
}

.nm-profile-hero-v2 > div {
	max-width: 1000px;
}

.nm-profile-hero-v2 > div > small {
	font-size: 9px;
	letter-spacing: .2em;
	text-transform: uppercase;
}

.nm-profile-hero-v2 h1 {
	margin: .18em 0;
	font-family: var(--serif);
	font-size: clamp(72px, 11vw, 175px);
	font-weight: 400;
	line-height: .82;
}

.nm-profile-hero-v2 > div > p:last-child {
	max-width: 720px;
	font-size: clamp(18px, 1.7vw, 25px);
	color: #d0d7d1;
}

.nm-profile-hero-v2 > a,
.nm-flavor-hero-v2 > a {
	position: absolute;
	right: clamp(28px, 6vw, 95px);
	bottom: clamp(75px, 9vw, 135px);
	font-size: 9px;
	letter-spacing: .17em;
	text-transform: uppercase;
}

.nm-profile-facts-v2 {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	border-bottom: 1px solid rgba(255, 255, 255, .15);
}

.nm-profile-facts-v2 > div {
	min-height: 155px;
	padding: 35px clamp(26px, 5vw, 75px);
	display: flex;
	flex-direction: column;
	justify-content: center;
	border-right: 1px solid rgba(255, 255, 255, .15);
}

.nm-profile-facts-v2 small {
	margin-bottom: 9px;
	color: #9fa8a1;
	font-size: 8px;
	letter-spacing: .17em;
	text-transform: uppercase;
}

.nm-profile-facts-v2 strong {
	font-family: var(--serif);
	font-size: clamp(21px, 2vw, 32px);
	font-weight: 400;
}

.nm-sensory-lens {
	padding: clamp(90px, 11vw, 170px) clamp(28px, 7vw, 110px);
	background:
		radial-gradient(circle at 78% 55%, rgba(28, 88, 55, .36), transparent 36%),
		#07110b;
}

.nm-sensory-lens > header {
	display: grid;
	grid-template-columns: 1.15fr .6fr;
	gap: 8vw;
	align-items: end;
	margin-bottom: 70px;
}

.nm-sensory-lens h2,
.nm-plant-context h2,
.nm-grow-journey h2,
.nm-flavor-wave-section h2,
.nm-aroma-cabinet h2,
.nm-preservation-ritual h2,
.nm-dry-heat-language h2 {
	margin: 22px 0 0;
	font-family: var(--serif);
	font-size: clamp(52px, 6.3vw, 98px);
	font-weight: 400;
	line-height: .9;
}

.nm-sensory-lens > header > p {
	color: var(--nm-mist);
	font-size: 16px;
	line-height: 1.75;
}

.nm-sensory-instrument {
	display: grid;
	grid-template-columns: .8fr 1.2fr;
	min-height: 610px;
	border: 1px solid rgba(255, 255, 255, .18);
	background: #030806;
}

.nm-sensory-spectrum {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	padding: 45px 35px;
	border-right: 1px solid rgba(255, 255, 255, .15);
	background: linear-gradient(180deg, #0b1c12, #030806);
}

.nm-sensory-spectrum button {
	position: relative;
	padding: 0 14px 24px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	gap: 15px;
	border: 0;
	background: transparent;
	color: #8f9b92;
	cursor: pointer;
}

.nm-sensory-spectrum button::after {
	content: "";
	position: absolute;
	inset: 0 0 -45px;
	border: 1px solid transparent;
	transition: .3s;
}

.nm-sensory-spectrum button.is-active {
	color: #fff;
}

.nm-sensory-spectrum button.is-active::after {
	border-color: rgba(255, 255, 255, .24);
	background: linear-gradient(180deg, transparent, rgba(210, 16, 52, .09));
}

.nm-sensory-spectrum button > span {
	font-size: 8px;
	letter-spacing: .15em;
	text-transform: uppercase;
}

.nm-sensory-spectrum button > i {
	position: relative;
	width: 8px;
	height: 350px;
	background: rgba(255, 255, 255, .09);
	overflow: hidden;
}

.nm-sensory-spectrum button > i b {
	position: absolute;
	inset: auto 0 0;
	height: var(--value);
	background: linear-gradient(0deg, var(--nm-blue), #f1ae45 58%, var(--nm-red));
	transition: height .55s;
}

.nm-sensory-spectrum button > strong {
	font-family: var(--serif);
	font-size: 28px;
	font-weight: 400;
}

.nm-sensory-readout {
	position: relative;
	padding: clamp(45px, 7vw, 105px);
	display: flex;
	flex-direction: column;
	justify-content: center;
	overflow: hidden;
}

.nm-sensory-plant {
	position: absolute;
	top: 26px;
	right: 32px;
	color: rgba(255, 255, 255, .18);
	font-family: var(--serif);
	font-size: clamp(55px, 8vw, 120px);
	line-height: .8;
}

.nm-sensory-readout article {
	position: relative;
	z-index: 2;
	display: none;
}

.nm-sensory-readout article.is-active {
	display: block;
	animation: nmElevationFade .45s ease;
}

.nm-sensory-readout small {
	color: #e34645;
	font-size: 9px;
	letter-spacing: .17em;
	text-transform: uppercase;
}

.nm-sensory-readout article > strong {
	display: block;
	max-width: 750px;
	margin: 18px 0 28px;
	font-family: var(--serif);
	font-size: clamp(42px, 5.5vw, 82px);
	font-weight: 400;
	line-height: .96;
}

.nm-sensory-readout article p {
	max-width: 600px;
	color: #b9c3bb;
	font-size: 16px;
}

.nm-sensory-pulse {
	position: absolute;
	right: -8%;
	bottom: -22%;
	width: 48%;
	aspect-ratio: 1;
}

.nm-sensory-pulse i {
	position: absolute;
	inset: calc(var(--ring, 0) * 10%);
	border: 1px solid rgba(255, 255, 255, .09);
	border-radius: 50%;
}

.nm-sensory-pulse i:nth-child(2) { inset: 10%; }
.nm-sensory-pulse i:nth-child(3) { inset: 20%; }
.nm-sensory-pulse i:nth-child(4) { inset: 30%; }
.nm-sensory-pulse i:nth-child(5) { inset: 40%; background: rgba(210, 16, 52, .14); }

.nm-plant-context {
	display: grid;
	grid-template-columns: 1.08fr .92fr;
	min-height: 790px;
}

.nm-plant-context-image {
	position: relative;
	min-height: 650px;
	background:
		linear-gradient(0deg, rgba(3, 8, 5, .5), transparent),
		var(--nm-bg) center / cover;
}

.nm-plant-context-image span {
	position: absolute;
	left: 35px;
	bottom: 35px;
	font-size: 9px;
	letter-spacing: .18em;
	text-transform: uppercase;
}

.nm-plant-context-copy {
	padding: clamp(65px, 8vw, 125px);
	display: flex;
	flex-direction: column;
	justify-content: center;
	background: #f0ede4;
	color: #111711;
}

.nm-plant-context-copy .nm-section-label {
	color: #434a44;
}

.nm-plant-context-copy > p:not(.nm-section-label) {
	font-size: 17px;
	line-height: 1.8;
	color: #454c46;
}

.nm-plant-context-copy dl {
	margin: 35px 0 0;
}

.nm-plant-context-copy dl > div {
	display: grid;
	grid-template-columns: 140px 1fr;
	gap: 20px;
	padding: 18px 0;
	border-top: 1px solid #b8bbb4;
}

.nm-plant-context-copy dt {
	font-size: 9px;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.nm-plant-context-copy dd {
	margin: 0;
	font-family: var(--serif);
	font-size: 21px;
}

.nm-grow-journey {
	padding: clamp(90px, 11vw, 170px) clamp(28px, 7vw, 110px);
	background: #061009;
}

.nm-plant-film {
	border-top: 1px solid rgba(255, 255, 255, .14);
}

/* FLAVOR JOURNEY */
.nm-flavor-single-v2 {
	background: #050b07;
	color: var(--nm-white);
}

.nm-flavor-hero-v2 {
	position: relative;
	min-height: 96svh;
	padding: clamp(150px, 17vw, 250px) clamp(28px, 7vw, 110px) clamp(75px, 9vw, 135px);
	display: flex;
	align-items: flex-end;
	background:
		linear-gradient(90deg, rgba(3, 7, 5, .95), rgba(3, 7, 5, .36) 62%, rgba(3, 7, 5, .05)),
		linear-gradient(0deg, rgba(3, 7, 5, .88), transparent 58%),
		var(--nm-bg) center / cover;
}

.nm-flavor-hero-v2 > div {
	max-width: 1050px;
}

.nm-flavor-hero-v2 h1 {
	margin: .2em 0;
	font-family: var(--serif);
	font-size: clamp(70px, 10vw, 165px);
	font-weight: 400;
	line-height: .82;
}

.nm-flavor-hero-v2 > div > p {
	max-width: 720px;
	color: #d0d6d1;
	font-size: clamp(18px, 1.6vw, 24px);
}

.nm-flavor-hero-v2 > div > span {
	display: inline-block;
	margin-top: 22px;
	padding: 9px 12px;
	border-left: 3px solid var(--nm-red);
	background: rgba(3, 7, 5, .55);
	font-size: 8px;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.nm-flavor-wave-section {
	padding: clamp(90px, 11vw, 170px) clamp(28px, 6vw, 95px);
	background:
		radial-gradient(circle at 85% 25%, rgba(210, 16, 52, .12), transparent 29%),
		radial-gradient(circle at 15% 76%, rgba(0, 32, 159, .15), transparent 31%),
		#061009;
}

.nm-flavor-wave {
	border: 1px solid rgba(255, 255, 255, .18);
	background: linear-gradient(135deg, rgba(18, 52, 34, .72), rgba(3, 8, 5, .98));
}

.nm-wave-plot {
	position: relative;
	height: clamp(470px, 52vw, 700px);
	padding: 45px;
	overflow: hidden;
}

.nm-wave-plot::before {
	content: "";
	position: absolute;
	inset: 45px;
	background:
		linear-gradient(rgba(255, 255, 255, .06) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, .06) 1px, transparent 1px);
	background-size: 25% 25%;
}

.nm-wave-plot svg {
	position: absolute;
	inset: 12% 4% 8%;
	width: 92%;
	height: 80%;
	overflow: visible;
	filter: drop-shadow(0 0 18px rgba(217, 56, 45, .3));
}

.nm-wave-line {
	fill: none;
	stroke: url(#nm-wave-gradient);
	stroke-width: 5;
	vector-effect: non-scaling-stroke;
}

.nm-wave-area {
	fill: url(#nm-wave-fill);
	stroke: none;
}

.nm-wave-axis {
	position: absolute;
	z-index: 2;
	color: #8f9a92;
	font-size: 8px;
	letter-spacing: .18em;
	text-transform: uppercase;
}

.nm-wave-axis-y {
	top: 48%;
	left: 16px;
	transform: rotate(-90deg);
}

.nm-wave-axis-x {
	right: 35px;
	bottom: 20px;
}

.nm-wave-plot button {
	position: absolute;
	left: var(--x);
	top: var(--y);
	z-index: 5;
	width: 138px;
	padding: 0;
	transform: translate(-50%, -50%);
	border: 0;
	background: transparent;
	color: #aeb8b0;
	cursor: pointer;
	text-align: center;
}

.nm-wave-plot button i {
	position: relative;
	width: 18px;
	height: 18px;
	margin: 0 auto 12px;
	display: block;
	border: 3px solid #061009;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, .7), 0 0 25px rgba(255, 255, 255, .35);
}

.nm-wave-plot button i::after {
	content: "";
	position: absolute;
	inset: -10px;
	border: 1px solid transparent;
	border-radius: 50%;
	transition: .35s;
}

.nm-wave-plot button.is-active i {
	background: var(--nm-red);
	box-shadow: 0 0 0 1px var(--nm-red), 0 0 35px rgba(210, 16, 52, .7);
}

.nm-wave-plot button.is-active i::after {
	border-color: rgba(210, 16, 52, .65);
}

.nm-wave-plot button span {
	display: block;
	color: #d34140;
	font-family: var(--serif);
	font-size: 21px;
}

.nm-wave-plot button strong {
	font-size: 8px;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.nm-wave-plot button.is-active strong {
	color: #fff;
}

.nm-wave-readings {
	min-height: 270px;
	padding: 45px clamp(30px, 6vw, 90px);
	border-top: 1px solid rgba(255, 255, 255, .15);
}

.nm-wave-readings article {
	display: none;
	grid-template-columns: .4fr 1fr 1fr;
	gap: 5vw;
	align-items: center;
}

.nm-wave-readings article.is-active {
	display: grid;
	animation: nmElevationFade .4s ease;
}

.nm-wave-readings small {
	color: #df4340;
	font-size: 9px;
	letter-spacing: .17em;
	text-transform: uppercase;
}

.nm-wave-readings strong {
	font-family: var(--serif);
	font-size: clamp(34px, 4vw, 62px);
	font-weight: 400;
	line-height: 1;
}

.nm-wave-readings p {
	color: #b6c0b8;
	font-size: 15px;
	line-height: 1.75;
}

.nm-flavor-signature {
	display: grid;
	grid-template-columns: 1.25fr .75fr;
	margin-top: 4px;
	border: 1px solid rgba(255, 255, 255, .18);
}

.nm-signature-metrics {
	padding: clamp(38px, 5vw, 75px);
	display: grid;
	gap: 24px;
}

.nm-signature-metrics > div {
	display: grid;
	grid-template-columns: 155px 1fr 35px;
	gap: 20px;
	align-items: center;
}

.nm-signature-metrics span {
	font-size: 9px;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.nm-signature-metrics i {
	height: 4px;
	background: rgba(255, 255, 255, .12);
}

.nm-signature-metrics i b {
	display: block;
	width: var(--value);
	height: 100%;
	background: linear-gradient(90deg, var(--nm-blue), #e5af4d, var(--nm-red));
}

.nm-signature-metrics strong {
	font-family: var(--serif);
	font-size: 20px;
	font-weight: 400;
}

.nm-scoville-instrument {
	padding: clamp(38px, 5vw, 75px);
	display: flex;
	flex-direction: column;
	justify-content: center;
	border-left: 1px solid rgba(255, 255, 255, .18);
	background: #f0ede4;
	color: #111711;
}

.nm-scoville-instrument > small {
	font-size: 8px;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.nm-scoville-instrument > strong {
	margin: 18px 0 0;
	font-family: var(--serif);
	font-size: clamp(36px, 4vw, 64px);
	font-weight: 400;
	line-height: 1;
}

.nm-scoville-instrument > span {
	margin-bottom: 30px;
	font-size: 9px;
	letter-spacing: .16em;
}

.nm-scoville-instrument > i {
	position: relative;
	height: 10px;
	background: linear-gradient(90deg, #b8d78f, #f1ca4c 42%, #ed6a2e 68%, #ae102b);
}

.nm-scoville-instrument > i::after {
	content: "";
	position: absolute;
	top: -7px;
	left: var(--heat);
	width: 2px;
	height: 24px;
	background: #111;
	transform: translateX(-1px);
}

.nm-scoville-instrument > i b {
	display: block;
	width: var(--heat);
	height: 100%;
	background: rgba(17, 23, 17, .2);
}

.nm-scoville-instrument > div {
	margin-top: 8px;
	display: flex;
	justify-content: space-between;
	font-size: 7px;
	font-style: normal;
	letter-spacing: .08em;
}

.nm-scoville-instrument em {
	font-style: normal;
}

.nm-scoville-instrument p {
	margin: 28px 0 0;
	color: #59615b;
	font-size: 11px;
	line-height: 1.6;
}

.nm-formula-path-v2 {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}

.nm-formula-path-v2 > * {
	position: relative;
	min-height: 570px;
	padding: 35px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	background:
		linear-gradient(0deg, rgba(3, 7, 5, .95), transparent 70%),
		var(--nm-bg) center / cover;
	color: #fff;
	overflow: hidden;
}

.nm-formula-path-v2 > *::after {
	content: "";
	position: absolute;
	inset: 12px;
	border: 1px solid transparent;
	transition: .4s;
}

.nm-formula-path-v2 > *:hover::after {
	border-color: rgba(255, 255, 255, .45);
}

.nm-formula-path-v2 span {
	position: absolute;
	top: 25px;
	right: 30px;
	color: rgba(255, 255, 255, .6);
	font-family: var(--serif);
	font-size: 38px;
}

.nm-formula-path-v2 small {
	font-size: 8px;
	letter-spacing: .15em;
	text-transform: uppercase;
}

.nm-formula-path-v2 strong {
	font-family: var(--serif);
	font-size: clamp(35px, 4vw, 60px);
	font-weight: 400;
}

/* DRY PANTRY */
.nm-dry-pantry-v2 {
	background: #050b07;
	color: var(--nm-white);
}

.nm-dry-hero-v2 {
	position: relative;
	min-height: 100svh;
	padding: clamp(150px, 17vw, 250px) clamp(28px, 7vw, 110px) clamp(75px, 9vw, 135px);
	display: flex;
	align-items: flex-end;
	background:
		linear-gradient(90deg, rgba(3, 7, 5, .94), rgba(3, 7, 5, .65) 36%, rgba(3, 7, 5, .06) 70%),
		linear-gradient(0deg, rgba(3, 7, 5, .72), transparent 55%),
		var(--nm-bg) center / cover;
}

.nm-dry-hero-v2 > div {
	position: relative;
	z-index: 1;
	max-width: 980px;
}

.nm-dry-hero-v2 h1 {
	margin: .22em 0;
	font-family: var(--serif);
	font-size: clamp(64px, 8.8vw, 145px);
	font-weight: 400;
	line-height: .84;
}

.nm-dry-hero-v2 > div > p {
	max-width: 730px;
	color: #d0d6d1;
	font-size: 19px;
	line-height: 1.7;
}

.nm-dry-hero-v2 .nm-button {
	margin-top: 25px;
}

.nm-aroma-cabinet {
	padding: clamp(90px, 11vw, 170px) clamp(28px, 6vw, 95px);
	background:
		radial-gradient(circle at 80% 20%, rgba(102, 49, 111, .16), transparent 31%),
		#061009;
}

.nm-cabinet-stage {
	position: relative;
	min-height: 780px;
	display: grid;
	grid-template-rows: 1fr auto;
	background:
		linear-gradient(90deg, rgba(2, 6, 4, .92), rgba(2, 6, 4, .16) 69%),
		linear-gradient(0deg, rgba(2, 6, 4, .88), transparent 55%),
		var(--nm-bg) center / cover;
	border: 1px solid rgba(255, 255, 255, .2);
}

.nm-cabinet-readings {
	position: relative;
	min-height: 590px;
}

.nm-cabinet-readings article {
	position: absolute;
	inset: 0;
	padding: clamp(50px, 7vw, 110px);
	display: flex;
	flex-direction: column;
	justify-content: center;
	max-width: 730px;
	opacity: 0;
	visibility: hidden;
	transform: translateY(18px);
	transition: .4s;
}

.nm-cabinet-readings article.is-active {
	opacity: 1;
	visibility: visible;
	transform: none;
}

.nm-cabinet-readings small {
	color: #df4140;
	font-size: 9px;
	letter-spacing: .17em;
	text-transform: uppercase;
}

.nm-cabinet-readings h3 {
	margin: 20px 0;
	font-family: var(--serif);
	font-size: clamp(52px, 7vw, 105px);
	font-weight: 400;
	line-height: .88;
}

.nm-cabinet-readings p {
	max-width: 580px;
	color: #c7cfc9;
	font-size: 16px;
	line-height: 1.75;
}

.nm-cabinet-stage nav {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	background: rgba(3, 8, 5, .9);
	backdrop-filter: blur(12px);
}

.nm-cabinet-stage nav button {
	position: relative;
	min-height: 120px;
	padding: 25px;
	display: flex;
	flex-direction: column;
	gap: 9px;
	border: 0;
	border-right: 1px solid rgba(255, 255, 255, .18);
	background: transparent;
	color: #a7b0a9;
	cursor: pointer;
	text-align: left;
}

.nm-cabinet-stage nav button::before {
	content: "";
	position: absolute;
	top: -2px;
	left: 0;
	width: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--nm-blue), var(--nm-red));
	transition: .35s;
}

.nm-cabinet-stage nav button.is-active {
	background: rgba(239, 236, 227, .96);
	color: #101510;
}

.nm-cabinet-stage nav button.is-active::before {
	width: 100%;
}

.nm-cabinet-stage nav b {
	color: #d83c3b;
	font-family: var(--serif);
	font-size: 26px;
	font-weight: 400;
}

.nm-cabinet-stage nav span {
	font-size: 9px;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.nm-preservation-ritual {
	padding: clamp(90px, 11vw, 170px) 0;
	background: #f0ede4;
	color: #111711;
	overflow: hidden;
}

.nm-preservation-ritual > header {
	padding: 0 clamp(28px, 6vw, 95px);
	display: grid;
	grid-template-columns: .6fr 1.4fr;
	gap: 7vw;
	align-items: start;
	margin-bottom: 65px;
}

.nm-preservation-ritual h2 {
	margin-top: 0;
}

.nm-preservation-ritual .nm-section-label {
	color: #3f4841;
}

.nm-ritual-track {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 3px;
	padding: 0 clamp(28px, 6vw, 95px);
}

.nm-ritual-track article {
	position: relative;
	min-height: 650px;
	padding: 30px;
	display: flex;
	align-items: flex-end;
	background:
		linear-gradient(0deg, rgba(3, 7, 5, .95), transparent 73%),
		var(--nm-bg) center / cover;
	color: #fff;
	overflow: hidden;
	transition: transform .4s;
}

.nm-ritual-track article:hover {
	transform: translateY(-10px);
}

.nm-ritual-track article > span {
	position: absolute;
	top: 24px;
	right: 28px;
	color: rgba(255, 255, 255, .7);
	font-family: var(--serif);
	font-size: 34px;
}

.nm-ritual-track small {
	font-size: 8px;
	letter-spacing: .15em;
	text-transform: uppercase;
}

.nm-ritual-track h3 {
	margin: 12px 0;
	font-family: var(--serif);
	font-size: clamp(35px, 3.3vw, 53px);
	font-weight: 400;
	line-height: .95;
}

.nm-ritual-track p {
	color: #cad1cb;
	font-size: 13px;
}

.nm-dry-heat-language {
	padding: clamp(90px, 11vw, 170px) clamp(28px, 7vw, 110px);
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 9vw;
	align-items: center;
	background:
		radial-gradient(circle at 82% 50%, rgba(210, 16, 52, .14), transparent 31%),
		#061009;
}

.nm-dry-heat-language > div:first-child > p:last-child {
	max-width: 720px;
	color: #b8c2ba;
	font-size: 16px;
	line-height: 1.75;
}

.nm-dry-mini-instrument {
	padding: clamp(38px, 5vw, 70px);
	border: 1px solid rgba(255, 255, 255, .2);
	background: rgba(10, 26, 17, .72);
}

.nm-dry-mini-instrument > span {
	display: grid;
	grid-template-columns: 90px 1fr;
	gap: 20px;
	align-items: center;
	margin: 25px 0;
	font-size: 9px;
	letter-spacing: .13em;
	text-transform: uppercase;
}

.nm-dry-mini-instrument b {
	height: 4px;
	background: linear-gradient(90deg, var(--nm-blue), var(--nm-red));
	width: var(--value);
}

.nm-dry-mini-instrument strong {
	display: block;
	margin-top: 45px;
	padding-top: 30px;
	border-top: 1px solid rgba(255, 255, 255, .2);
	font-family: var(--serif);
	font-size: clamp(55px, 7vw, 105px);
	font-weight: 400;
	line-height: .8;
}

.nm-dry-mini-instrument strong small {
	display: block;
	margin-top: 18px;
	font-family: var(--sans);
	font-size: 8px;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.nm-dry-product-index {
	background: #040a07;
}

.nm-empty-product {
	min-height: 480px;
	padding: 45px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	border: 1px solid rgba(255, 255, 255, .18);
	background: linear-gradient(135deg, #122a1b, #050a07);
}

.nm-empty-product small {
	font-size: 9px;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.nm-empty-product strong {
	max-width: 550px;
	margin-top: 20px;
	font-family: var(--serif);
	font-size: clamp(38px, 5vw, 70px);
	font-weight: 400;
	line-height: 1;
}

/* DRY PREVIEW INSIDE THE FLAVOR HOUSE */
.nm-dry-preview-luxury {
	position: relative;
	min-height: 760px;
	padding: clamp(40px, 6vw, 90px);
	display: grid;
	grid-template-columns: 1fr .72fr;
	gap: 9vw;
	align-items: end;
	background:
		linear-gradient(90deg, rgba(2, 6, 4, .95), rgba(2, 6, 4, .14) 72%),
		linear-gradient(0deg, rgba(2, 6, 4, .82), transparent 60%),
		var(--nm-bg) center / cover;
	color: #fff;
	overflow: hidden;
}

.nm-dry-preview-luxury::after {
	content: "";
	position: absolute;
	inset: 14px;
	border: 1px solid rgba(255, 255, 255, .3);
	pointer-events: none;
}

.nm-dry-preview-luxury > div,
.nm-dry-preview-luxury ol {
	position: relative;
	z-index: 1;
}

.nm-dry-preview-luxury small,
.nm-dry-preview-luxury em {
	font-size: 9px;
	font-style: normal;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.nm-dry-preview-luxury strong {
	display: block;
	margin: 18px 0;
	font-family: var(--serif);
	font-size: clamp(55px, 7vw, 110px);
	font-weight: 400;
	line-height: .85;
}

.nm-dry-preview-luxury p {
	max-width: 560px;
	color: #cbd2cc;
}

.nm-dry-preview-luxury em {
	display: block;
	margin-top: 30px;
}

.nm-dry-preview-luxury ol {
	margin: 0;
	padding: 0;
	list-style: none;
	background: rgba(3, 8, 5, .76);
	backdrop-filter: blur(13px);
}

.nm-dry-preview-luxury li {
	padding: 22px 25px;
	display: flex;
	gap: 20px;
	align-items: center;
	border-bottom: 1px solid rgba(255, 255, 255, .18);
	font-family: var(--serif);
	font-size: 24px;
}

.nm-dry-preview-luxury li b {
	color: #dc403f;
	font-weight: 400;
}

.nm-dry-collection-strip {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2px;
	margin-top: 3px;
}

.nm-dry-collection-strip a {
	min-height: 230px;
	padding: 30px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	background: linear-gradient(135deg, #102b1b, #061009);
}

.nm-dry-collection-strip small,
.nm-dry-collection-strip span {
	font-size: 8px;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.nm-dry-collection-strip strong {
	margin: 12px 0 25px;
	font-family: var(--serif);
	font-size: 34px;
	font-weight: 400;
}

@keyframes nmElevationFade {
	from { opacity: 0; transform: translateY(12px); }
	to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 1320px) {
	.nm-header {
		gap: 18px;
		padding-right: 28px;
		padding-left: 28px;
	}

	.nm-header .nm-wordmark img {
		width: 230px;
	}

	.nm-primary-nav > ul {
		gap: 13px;
	}

	.nm-primary-nav a,
	.nm-language {
		font-size: 8px;
	}

	.nm-ritual-track {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 1050px) {
	.nm-header .nm-wordmark img {
		width: 270px;
	}

	.nm-primary-nav > ul > li:last-child > a {
		border: 0;
		padding: 12px 0;
	}

	.nm-primary-nav .submenu-open > .sub-menu {
		display: flex !important;
	}

	.nm-name-story,
	.nm-sensory-instrument,
	.nm-plant-context,
	.nm-flavor-signature,
	.nm-dry-heat-language,
	.nm-dry-preview-luxury {
		grid-template-columns: 1fr;
	}

	.nm-name-monument {
		min-height: 650px;
	}

	.nm-two-roots > header,
	.nm-sensory-lens > header,
	.nm-plant-library-head,
	.nm-pantry-feature > header,
	.nm-story-chapters > header,
	.nm-grow-journey > header,
	.nm-flavor-wave-section > header,
	.nm-aroma-cabinet > header,
	.nm-preservation-ritual > header {
		grid-template-columns: 1fr;
		gap: 25px;
	}

	.nm-two-roots h2 {
		grid-column: 1;
	}

	.nm-two-roots-visual {
		grid-template-columns: 1fr;
	}

	.nm-two-roots-visual article {
		min-height: 640px;
	}

	.nm-plant-controls {
		grid-template-columns: 1fr;
		top: 67px;
	}

	.nm-plant-grid {
		grid-template-columns: 1fr 1fr;
	}

	.nm-sensory-spectrum {
		border-right: 0;
		border-bottom: 1px solid rgba(255, 255, 255, .15);
	}

	.nm-sensory-readout {
		min-height: 500px;
	}

	.nm-scoville-instrument {
		border-left: 0;
		border-top: 1px solid rgba(255, 255, 255, .18);
	}

	.nm-wave-readings article {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.nm-dry-preview-luxury ol {
		max-width: 650px;
	}
}

@media (max-width: 700px) {
	.nm-header .nm-wordmark img,
	.nm-header.is-scrolled .nm-wordmark img {
		width: 220px;
	}

	.nm-story-coordinate,
	.nm-pantry-scroll,
	.nm-profile-hero-v2 > a,
	.nm-flavor-hero-v2 > a {
		display: none;
	}

	.nm-story-hero-v2,
	.nm-pantry-intro,
	.nm-profile-hero-v2,
	.nm-flavor-hero-v2,
	.nm-dry-hero-v2 {
		min-height: 780px;
		padding-right: 23px;
		padding-left: 23px;
	}

	.nm-name-monument {
		min-height: 480px;
		padding: 40px 24px;
	}

	.nm-name-copy,
	.nm-plant-context-copy {
		padding: 70px 24px;
	}

	.nm-two-roots,
	.nm-story-chapters,
	.nm-pantry-feature,
	.nm-plant-library,
	.nm-sensory-lens,
	.nm-grow-journey,
	.nm-flavor-wave-section,
	.nm-aroma-cabinet,
	.nm-dry-heat-language {
		padding-right: 22px;
		padding-left: 22px;
	}

	.nm-story-chapter-media,
	.nm-grow-panels,
	.nm-pantry-feature-panels {
		min-height: 620px;
	}

	.nm-story-chapter-stage nav,
	.nm-grow-stage nav,
	.nm-pantry-feature-nav,
	.nm-cabinet-stage nav {
		display: flex;
		overflow-x: auto;
	}

	.nm-story-chapter-stage nav button,
	.nm-grow-stage nav button,
	.nm-pantry-feature-nav button,
	.nm-cabinet-stage nav button {
		min-width: 155px;
	}

	.nm-story-close .nm-text-link {
		display: block;
		margin: 28px 0 0;
	}

	.nm-plant-grid {
		grid-template-columns: 1fr;
	}

	.nm-plant-card {
		min-height: 540px;
	}

	.nm-profile-facts-v2,
	.nm-formula-path-v2 {
		grid-template-columns: 1fr;
	}

	.nm-profile-facts-v2 > div {
		border-right: 0;
		border-bottom: 1px solid rgba(255, 255, 255, .15);
	}

	.nm-sensory-spectrum {
		padding: 35px 8px;
	}

	.nm-sensory-spectrum button {
		padding-right: 5px;
		padding-left: 5px;
	}

	.nm-sensory-spectrum button > i {
		height: 240px;
	}

	.nm-sensory-spectrum button > span {
		letter-spacing: .08em;
	}

	.nm-sensory-readout {
		padding: 60px 24px;
	}

	.nm-plant-context-image {
		min-height: 540px;
	}

	.nm-wave-plot {
		height: 520px;
		padding: 20px;
	}

	.nm-wave-plot::before {
		inset: 25px;
	}

	.nm-wave-plot button {
		width: 94px;
	}

	.nm-wave-plot button span {
		font-size: 17px;
	}

	.nm-wave-plot button strong {
		font-size: 7px;
	}

	.nm-wave-readings {
		padding: 35px 24px;
	}

	.nm-signature-metrics,
	.nm-scoville-instrument {
		padding: 40px 24px;
	}

	.nm-signature-metrics > div {
		grid-template-columns: 105px 1fr 28px;
		gap: 10px;
	}

	.nm-formula-path-v2 > * {
		min-height: 520px;
	}

	.nm-cabinet-stage {
		min-height: 720px;
	}

	.nm-cabinet-readings {
		min-height: 560px;
	}

	.nm-cabinet-readings article {
		padding: 45px 24px;
	}

	.nm-ritual-track {
		grid-template-columns: 1fr;
		padding-right: 22px;
		padding-left: 22px;
	}

	.nm-ritual-track article {
		min-height: 560px;
	}

	.nm-dry-collection-strip {
		grid-template-columns: 1fr;
	}
}

@media (prefers-reduced-motion: reduce) {
	.nm-story-chapter-media article,
	.nm-grow-panels article,
	.nm-pantry-feature-panel,
	.nm-cabinet-readings article,
	.nm-plant-card,
	.nm-two-roots-visual article {
		transition: none;
	}
}

/* ================================================================
   V1.8 — ROUTES, FILMS, PANTRY DEPTH AND HAITIAN FLAG CONSISTENCY
   ================================================================ */

/* Every dual-color identity rule reads Haiti blue first, then red, with no gap. */
.nm-primary-nav a::after,
.nm-section-label i,
.nm-section::after,
.nm-footer::before,
.nm-footer-manifesto i,
.nm-pantry-scroll::before,
.nm-story-hero-v2::after,
.nm-profile-hero-v2::after,
.nm-flavor-hero-v2::after,
.nm-pantry-intro::after,
.nm-dry-hero-v2::after {
	background: linear-gradient(90deg, var(--nm-blue, var(--blue)) 0 50%, var(--nm-red, var(--red)) 50% 100%);
}

.nm-name-monument i {
	background: linear-gradient(180deg, var(--nm-blue) 0 50%, var(--nm-red) 50% 100%);
}

/* The two roots are now meaningful doors, with the site's quiet lift interaction. */
.nm-two-roots-visual > a {
	position: relative;
	min-height: 720px;
	padding: clamp(30px, 4vw, 62px);
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	background:
		linear-gradient(0deg, rgba(3, 8, 5, .96), rgba(3, 8, 5, .05) 76%),
		var(--nm-bg) center / cover;
	color: #fff;
	overflow: hidden;
	transition: transform .45s ease, filter .45s ease;
}

.nm-two-roots-visual > a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--nm-blue) 0 50%, var(--nm-red) 50% 100%);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .45s ease;
}

.nm-two-roots-visual > a:hover,
.nm-two-roots-visual > a:focus-visible {
	filter: saturate(1.12) brightness(1.04);
	transform: translateY(-8px);
}

.nm-two-roots-visual > a:hover::after,
.nm-two-roots-visual > a:focus-visible::after {
	transform: scaleX(1);
}

.nm-two-roots-visual > a small,
.nm-two-roots-visual > a h3,
.nm-two-roots-visual > a p,
.nm-two-roots-visual > a span {
	position: relative;
	z-index: 1;
}

.nm-two-roots-visual > a small {
	font-size: 9px;
	letter-spacing: .18em;
	text-transform: uppercase;
}

.nm-two-roots-visual > a h3 {
	max-width: 600px;
	margin: 18px 0;
	font-family: var(--serif);
	font-size: clamp(42px, 5vw, 78px);
	font-weight: 400;
	line-height: .94;
}

.nm-two-roots-visual > a p {
	max-width: 540px;
	color: #cad1cb;
	font-size: 16px;
}

.nm-two-roots-visual > a span {
	margin-top: 25px;
	font-size: 9px;
	letter-spacing: .17em;
	text-transform: uppercase;
}

/* Founder and page-film circles remain centered and contained at every ratio. */
.nm-story-film {
	position: relative;
	overflow: hidden;
}

.nm-story-film > button {
	box-sizing: border-box;
	width: min(520px, 74vw);
	max-width: calc(100% - 48px);
	margin: auto;
	overflow: hidden;
}

.nm-story-film > button strong {
	max-width: 390px;
}

.nm-story-film > button em {
	display: block;
	min-height: 1.4em;
}

.nm-film-side-caption {
	position: absolute;
	right: clamp(28px, 6vw, 95px);
	bottom: clamp(30px, 5vw, 70px);
	max-width: 340px;
	margin: 0;
	padding-left: 18px;
	border-left: 3px solid var(--nm-blue);
	color: #d4dad5;
	font-size: 12px;
	line-height: 1.7;
}

/* Featured stories and the complete index are intentionally separate destinations. */
.nm-pantry-library-door {
	padding: clamp(75px, 9vw, 135px) clamp(28px, 6vw, 95px);
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 8vw;
	align-items: end;
	background:
		radial-gradient(circle at 15% 20%, rgba(0, 32, 159, .17), transparent 30%),
		linear-gradient(120deg, #0a1c12, #061009);
	border-top: 1px solid rgba(255, 255, 255, .14);
}

.nm-pantry-library-door h2 {
	max-width: 940px;
	margin: 22px 0;
	font-family: var(--serif);
	font-size: clamp(48px, 6vw, 92px);
	font-weight: 400;
	line-height: .92;
}

.nm-pantry-library-door p:last-child {
	max-width: 760px;
	color: #bdc6bf;
	line-height: 1.75;
}

.nm-pantry-library-door .nm-button {
	color: #fff;
	white-space: nowrap;
}

/* Garden and complete film journal. */
.nm-garden-journal,
.nm-film-journal-library {
	padding: clamp(85px, 10vw, 155px) clamp(28px, 6vw, 95px);
	background: #061009;
}

.nm-garden-journal > header,
.nm-film-journal-intro {
	display: grid;
	grid-template-columns: 1.2fr .7fr;
	gap: 8vw;
	align-items: end;
	margin-bottom: 60px;
}

.nm-garden-journal h2,
.nm-film-journal-intro h2 {
	margin: 20px 0 0;
	font-family: var(--serif);
	font-size: clamp(50px, 6vw, 92px);
	font-weight: 400;
	line-height: .9;
}

.nm-garden-journal > header > p,
.nm-film-journal-intro > p {
	color: #bcc5be;
	font-size: 16px;
	line-height: 1.75;
}

.nm-film-library-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 3px;
}

.nm-film-library-card {
	position: relative;
	min-height: 540px;
	padding: 30px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-end;
	border: 0;
	background:
		linear-gradient(0deg, rgba(2, 6, 4, .96), transparent 72%),
		var(--nm-bg) center / cover;
	color: #fff;
	text-align: left;
	cursor: pointer;
	overflow: hidden;
	transition: transform .4s ease, filter .4s ease;
}

.nm-film-library-card::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--nm-blue), var(--nm-red));
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .4s ease;
}

.nm-film-library-card:hover,
.nm-film-library-card:focus-visible {
	filter: saturate(1.12);
	transform: translateY(-7px);
}

.nm-film-library-card:hover::after,
.nm-film-library-card:focus-visible::after {
	transform: scaleX(1);
}

.nm-film-library-card > span {
	position: absolute;
	top: 30px;
	right: 30px;
	width: 58px;
	height: 58px;
	display: grid;
	place-items: center;
	padding-left: 4px;
	border: 1px solid rgba(255, 255, 255, .68);
	border-radius: 50%;
}

.nm-film-library-card small,
.nm-film-library-card em {
	font-size: 9px;
	font-style: normal;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.nm-film-library-card strong {
	margin: 12px 0;
	font-family: var(--serif);
	font-size: clamp(38px, 4vw, 62px);
	font-weight: 400;
	line-height: .95;
}

.nm-film-library-card p {
	max-width: 430px;
	color: #d0d6d1;
	line-height: 1.6;
}

.nm-film-library-card em {
	margin-top: 20px;
}

.nm-film-journal-page {
	background: #061009;
}

.nm-film-journal-intro {
	margin: 0;
	padding: clamp(75px, 9vw, 135px) clamp(28px, 6vw, 95px);
	background: #f0ede4;
	color: #111711;
}

.nm-film-journal-intro small {
	color: var(--nm-red);
	font-size: 10px;
	letter-spacing: .18em;
}

.nm-film-journal-intro > p {
	color: #4d574f;
}

.nm-film-library-grid-large .nm-film-library-card:first-child {
	grid-column: span 2;
}

/* The Flavor House preview is an instrument, not four duplicate links. */
.nm-dry-preview-luxury > .nm-dry-preview-readings,
.nm-dry-preview-luxury > nav {
	position: relative;
	z-index: 1;
}

.nm-dry-preview-readings {
	min-height: 400px;
}

.nm-dry-preview-readings article {
	position: absolute;
	inset: auto 0 0;
	opacity: 0;
	visibility: hidden;
	transform: translateY(18px);
	transition: opacity .35s ease, visibility .35s ease, transform .35s ease;
}

.nm-dry-preview-readings article.is-active {
	opacity: 1;
	visibility: visible;
	transform: none;
}

.nm-dry-preview-readings article > a {
	display: inline-block;
	margin-top: 30px;
	padding-bottom: 6px;
	border-bottom: 1px solid rgba(255, 255, 255, .4);
	font-size: 9px;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.nm-dry-preview-luxury > nav {
	margin: 0;
	padding: 0;
	background: rgba(3, 8, 5, .76);
	backdrop-filter: blur(13px);
}

.nm-dry-preview-luxury > nav button {
	position: relative;
	width: 100%;
	padding: 22px 25px;
	display: flex;
	gap: 20px;
	align-items: center;
	border: 0;
	border-bottom: 1px solid rgba(255, 255, 255, .18);
	background: transparent;
	color: #fff;
	font-family: var(--serif);
	font-size: 24px;
	text-align: left;
	cursor: pointer;
	transition: background .3s ease, color .3s ease;
}

.nm-dry-preview-luxury > nav button::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 4px;
	background: linear-gradient(180deg, var(--nm-blue) 0 50%, var(--nm-red) 50%);
	transform: scaleY(0);
	transition: transform .3s ease;
}

.nm-dry-preview-luxury > nav button.is-active {
	background: #f0ede4;
	color: #111711;
}

.nm-dry-preview-luxury > nav button.is-active::before {
	transform: scaleY(1);
}

.nm-dry-preview-luxury > nav button b {
	color: #dc403f;
	font-weight: 400;
}

/* The bottle typography is now embedded in the SVG artwork and cannot drift. */
.nm-product-stage {
	background-position: center;
}

@media (max-width: 1050px) {
	.nm-two-roots-visual > a {
		min-height: 640px;
	}

	.nm-pantry-library-door,
	.nm-garden-journal > header,
	.nm-film-journal-intro {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.nm-film-library-grid {
		grid-template-columns: 1fr 1fr;
	}

	.nm-dry-preview-luxury > nav {
		max-width: 650px;
	}
}

@media (max-width: 700px) {
	.nm-story-film > button {
		width: min(430px, 92vw);
		max-width: calc(100% - 28px);
		min-height: 430px;
		padding: 45px 34px;
	}

	.nm-film-side-caption {
		display: none;
	}

	.nm-pantry-library-door .nm-button {
		white-space: normal;
	}

	.nm-film-library-grid,
	.nm-film-library-grid-large {
		grid-template-columns: 1fr;
	}

	.nm-film-library-grid-large .nm-film-library-card:first-child {
		grid-column: auto;
	}

	.nm-film-library-card {
		min-height: 480px;
	}

	.nm-dry-preview-readings {
		min-height: 500px;
	}
}

/* Keep linked story cards and the Haitian blue-red signature above legacy rules. */
.nm-formula-path-v2 > * { text-decoration:none; transition:transform .45s ease,filter .45s ease; }
.nm-formula-path-v2 > *::after { content:"";position:absolute;inset:auto 0 0;height:5px;border:0;background:linear-gradient(90deg,var(--nm-blue) 0 50%,var(--nm-red) 50%);transform:none; }
.nm-formula-path-v2 > *:hover,.nm-formula-path-v2 > *:focus-visible { transform:translateY(-6px);filter:saturate(1.08); }
.nm-formula-path-v2 > *:hover::after { border:0; }
.nm-formula-path-v2 em { margin-top:22px;font-size:9px;font-style:normal;letter-spacing:.16em;text-transform:uppercase; }
.nm-film-library-card::after,.nm-film-library-card:hover::after,.nm-film-library-card:focus-visible::after { left:0;right:0;bottom:0;top:auto;height:5px;transform:none;background:linear-gradient(90deg,var(--nm-blue) 0 50%,var(--nm-red) 50%); }

/* 1.10 refinement: one alternating flag color appears only on interaction. */
.nm-formula-path-v2 > *::after,
.nm-film-library-card::after,
.nm-sauce-ritual a::after,
.nm-product-index-grid a::after {
	content:"";
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	top:auto;
	height:5px;
	background:var(--nm-blue);
	transform:scaleX(0);
	transform-origin:left;
	transition:transform .35s ease;
}
.nm-formula-path-v2 > *:nth-child(even)::after,
.nm-film-library-card:nth-child(even)::after,
.nm-sauce-ritual a:nth-child(even)::after,
.nm-product-index-grid a:nth-child(even)::after { background:var(--nm-red); }
.nm-formula-path-v2 > *:hover::after,.nm-formula-path-v2 > *:focus-visible::after,
.nm-film-library-card:hover::after,.nm-film-library-card:focus-visible::after,
.nm-sauce-ritual a:hover::after,.nm-sauce-ritual a:focus-visible::after,
.nm-product-index-grid a:hover::after,.nm-product-index-grid a:focus-visible::after { transform:scaleX(1); }

.nm-name-monument { min-width:0; padding-right:clamp(28px,4vw,65px); }
.nm-name-monument span,.nm-name-monument strong { max-width:100%; white-space:nowrap; }
.nm-name-monument span { font-size:clamp(62px,7.2vw,116px); }
.nm-name-monument strong { margin-left:clamp(0px,2vw,28px); font-size:clamp(56px,6.6vw,106px); }

.nm-story-origin-film { min-height:70vh; padding-top:55px; padding-bottom:55px; }
.nm-story-origin-film > button { width:min(470px,70vw); max-height:calc(70vh - 60px); }

.nm-all-plants-head {
	min-height:88vh;
	display:flex;
	flex-direction:column;
	justify-content:flex-end;
	background:linear-gradient(90deg,rgba(3,8,5,.96),rgba(3,8,5,.45) 48%,rgba(3,8,5,.06)),linear-gradient(0deg,rgba(3,8,5,.72),transparent 58%),var(--nm-bg) center/cover;
}
.nm-all-plants-head h1,.nm-all-plants-head p { max-width:790px; }

/* Organic tasting bloom replaces corporate charts. */
.nm-flavor-bloom { position:relative; width:min(520px,80%); aspect-ratio:1; margin:auto; align-self:center; border-radius:50%; background:radial-gradient(circle,rgba(245,241,232,.12) 0 16%,transparent 17%),radial-gradient(circle,rgba(210,16,52,.11),transparent 66%); }
.nm-flavor-bloom::before,.nm-flavor-bloom::after { content:"";position:absolute;inset:10%;border:1px solid rgba(255,255,255,.22);border-radius:47% 53% 58% 42%/52% 42% 58% 48%;transform:rotate(18deg); }.nm-flavor-bloom::after{inset:25%;transform:rotate(-24deg);border-color:rgba(255,255,255,.15)}
.nm-flavor-bloom i { position:absolute;width:43%;height:43%;border-radius:60% 40% 58% 42%/50% 62% 38% 50%;mix-blend-mode:screen;filter:blur(.2px);opacity:.72; }
.nm-flavor-bloom i:nth-child(1){left:11%;top:12%;background:rgba(237,184,74,.72);transform:rotate(-18deg)}
.nm-flavor-bloom i:nth-child(2){right:11%;top:17%;background:rgba(24,117,71,.74);transform:rotate(31deg)}
.nm-flavor-bloom i:nth-child(3){left:18%;bottom:9%;background:rgba(210,16,52,.72);transform:rotate(24deg)}
.nm-flavor-bloom i:nth-child(4){right:12%;bottom:12%;background:rgba(0,32,159,.68);transform:rotate(-27deg)}
.nm-flavor-bloom b { position:absolute;inset:0;display:grid;place-items:center;z-index:2;font:400 clamp(32px,4vw,55px) var(--serif);color:#fff; }
.nm-flavor-bloom small { position:absolute;z-index:3;font-size:8px;letter-spacing:.16em;text-transform:uppercase;color:#fff; }.nm-flavor-bloom small:nth-of-type(1){left:3%;top:29%}.nm-flavor-bloom small:nth-of-type(2){right:2%;top:32%}.nm-flavor-bloom small:nth-of-type(3){left:8%;bottom:24%}.nm-flavor-bloom small:nth-of-type(4){right:4%;bottom:22%}
.nm-flavor-bloom-dark { width:min(420px,88%); }
.nm-sauce-instrument-stage { grid-template-columns:1fr 1fr; }
.nm-flavor-bloom { transition:transform .6s cubic-bezier(.2,.8,.2,1); }
.nm-sauce-instrument-stage:has([data-sauce-lab-tab="body"].is-active) .nm-flavor-bloom,
.nm-sauce-preview-luxury:has([data-sauce-preview-tab="body"].is-active) .nm-flavor-bloom { transform:rotate(12deg) scale(1.025); }
.nm-sauce-instrument-stage:has([data-sauce-lab-tab="heat"].is-active) .nm-flavor-bloom,
.nm-sauce-preview-luxury:has([data-sauce-preview-tab="heat"].is-active) .nm-flavor-bloom { transform:rotate(-10deg) scale(1.045); }
.nm-sauce-instrument-stage:has([data-sauce-lab-tab="finish"].is-active) .nm-flavor-bloom,
.nm-sauce-preview-luxury:has([data-sauce-preview-tab="finish"].is-active) .nm-flavor-bloom { transform:rotate(18deg) scale(.98); }

.nm-sauce-ritual a { position:relative;min-height:520px;padding:30px;display:flex;flex-direction:column;justify-content:space-between;color:#fff;background:linear-gradient(0deg,rgba(3,8,5,.94),transparent 72%),var(--nm-bg) center/cover;overflow:hidden;transition:transform .4s ease,filter .4s ease; }
.nm-sauce-ritual a:hover { transform:translateY(-7px);filter:saturate(1.12); }
.nm-sauce-ritual a strong { margin-top:auto; }
.nm-sauce-ritual a em { margin-top:22px;font-size:9px;font-style:normal;letter-spacing:.15em;text-transform:uppercase;transform:translateY(12px);opacity:0;transition:.35s; }
.nm-sauce-ritual a:hover em,.nm-sauce-ritual a:focus-visible em { transform:none;opacity:1; }
.nm-product-index-grid a { position:relative;overflow:hidden;transition:transform .4s ease,filter .4s ease; }
.nm-product-index-grid a:hover,.nm-product-index-grid a:focus-visible { transform:translateY(-7px);filter:saturate(1.12) brightness(1.04); }
.nm-product-index-grid a em { transform:translateY(12px);opacity:.58;transition:.35s; }
.nm-product-index-grid a:hover em,.nm-product-index-grid a:focus-visible em { transform:none;opacity:1; }

.nm-cafe-entry { background:#061009;color:#fff; }
.nm-cafe-entry-hero { min-height:94vh;padding:clamp(150px,16vw,240px) clamp(28px,7vw,110px) clamp(70px,9vw,130px);display:flex;align-items:flex-end;background:linear-gradient(0deg,rgba(3,8,5,.95),rgba(3,8,5,.08) 75%),var(--nm-bg) center/cover; }
.nm-cafe-entry-hero>div{max-width:1050px}.nm-cafe-entry-hero>div>small{letter-spacing:.15em;text-transform:uppercase}.nm-cafe-entry-hero h1{margin:25px 0;font:400 clamp(68px,9vw,140px)/.86 var(--serif)}.nm-cafe-entry-hero p:last-child{max-width:720px;font-size:19px;line-height:1.7;color:#d6ddd7}
.nm-cafe-entry-story{display:grid;grid-template-columns:.7fr 1.3fr;gap:10vw;padding:clamp(85px,11vw,170px) clamp(28px,7vw,110px);background:#f0ede4;color:#111}.nm-cafe-entry-story aside span{display:block;margin-bottom:28px;color:#d23a39;font-size:9px;letter-spacing:.16em;text-transform:uppercase}.nm-cafe-entry-story aside strong{font:400 clamp(38px,5vw,72px)/.98 var(--serif)}.nm-cafe-entry-copy{max-width:760px;font-size:18px;line-height:1.9;color:#3e4740}.nm-cafe-entry-copy p:first-child:first-letter{float:left;margin:.03em .12em 0 0;font:400 5.4em/.74 var(--serif);color:#0c2115}
.nm-cafe-entry-next{display:grid;grid-template-columns:1fr 1fr}.nm-cafe-entry-next a{padding:55px clamp(28px,6vw,95px);color:#fff;border-top:1px solid rgba(255,255,255,.18);border-right:1px solid rgba(255,255,255,.18)}.nm-cafe-entry-next small{display:block;margin-bottom:12px;letter-spacing:.15em;text-transform:uppercase}.nm-cafe-entry-next strong{font:400 clamp(30px,4vw,58px) var(--serif)}

@media(max-width:900px){.nm-name-monument span{font-size:clamp(72px,15vw,130px)}.nm-name-monument strong{font-size:clamp(64px,14vw,120px)}.nm-sauce-instrument-stage,.nm-cafe-entry-story{grid-template-columns:1fr}.nm-flavor-bloom{margin-top:45px}.nm-cafe-entry-next{grid-template-columns:1fr}}
@media(max-width:700px){.nm-story-origin-film{min-height:620px}.nm-story-origin-film>button{width:min(420px,90vw);max-height:none}.nm-name-monument span{font-size:clamp(58px,18vw,100px)}.nm-name-monument strong{font-size:clamp(50px,16vw,90px)}.nm-flavor-bloom{width:88%}.nm-cafe-entry-hero h1{font-size:clamp(58px,18vw,92px)}}

/* 1.11 — photographic sensory lens: no presentation-diagram overlap. */
.nm-flavor-bloom {
	width:min(500px,82%);
	background:linear-gradient(0deg,rgba(3,8,5,.48),rgba(3,8,5,.08)),var(--nm-bg) center/cover;
	border:1px solid rgba(255,255,255,.34);
	box-shadow:0 28px 90px rgba(0,0,0,.32);
	overflow:visible;
}
.nm-flavor-bloom::before { inset:8%;border:1px solid rgba(255,255,255,.28);border-radius:50%;transform:none; }
.nm-flavor-bloom::after { inset:22%;border:1px solid rgba(255,255,255,.2);border-radius:50%;transform:none;background:rgba(3,8,5,.12);backdrop-filter:blur(1px); }
.nm-flavor-bloom i { width:12px;height:12px;border:2px solid #fff;border-radius:50%;background:var(--nm-red);opacity:1;filter:none;mix-blend-mode:normal;z-index:4;box-shadow:0 0 0 8px rgba(255,255,255,.09); }
.nm-flavor-bloom i:nth-child(1){left:13%;top:26%;background:var(--nm-blue);transform:none}
.nm-flavor-bloom i:nth-child(2){right:14%;top:31%;background:var(--nm-red);transform:none}
.nm-flavor-bloom i:nth-child(3){left:18%;bottom:23%;background:var(--nm-blue);transform:none}
.nm-flavor-bloom i:nth-child(4){right:16%;bottom:20%;background:var(--nm-red);transform:none}
.nm-flavor-bloom b { width:42%;height:42%;inset:29%;border-radius:50%;background:rgba(3,8,5,.76);backdrop-filter:blur(7px);font-size:clamp(28px,3.5vw,48px); }
.nm-flavor-bloom small { display:flex;gap:7px;align-items:center;padding:7px 10px;background:rgba(3,8,5,.72);backdrop-filter:blur(5px); }
.nm-flavor-bloom small em{color:#f04a43;font-style:normal}.nm-flavor-bloom small:nth-of-type(1){left:-4%;top:24%}.nm-flavor-bloom small:nth-of-type(2){right:-3%;top:29%}.nm-flavor-bloom small:nth-of-type(3){left:0;bottom:21%}.nm-flavor-bloom small:nth-of-type(4){right:-1%;bottom:18%}
.nm-sauce-preview-luxury .nm-flavor-bloom { width:min(390px,78%); }
@media(max-width:700px){.nm-flavor-bloom{width:78%;margin:55px auto}.nm-flavor-bloom small:nth-of-type(1),.nm-flavor-bloom small:nth-of-type(3){left:-10%}.nm-flavor-bloom small:nth-of-type(2),.nm-flavor-bloom small:nth-of-type(4){right:-10%}}

.nm-world-grid a { overflow:hidden;background:linear-gradient(0deg,rgba(3,8,5,.94),rgba(3,8,5,.12) 75%),var(--nm-bg) center/cover; }
.nm-world-grid a::after { content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,32,159,.16),transparent 50%,rgba(210,16,52,.18));opacity:0;transition:opacity .4s; }
.nm-world-grid a:hover { background:linear-gradient(0deg,rgba(3,8,5,.86),rgba(3,8,5,.06) 75%),var(--nm-bg) center/cover;filter:saturate(1.12); }
.nm-world-grid a:hover::after { opacity:1; }
.nm-world-grid a small,.nm-world-grid a strong,.nm-world-grid a span { z-index:2; }
