.lmm-section.lmm-portfolio-hero{
	position:relative;
	overflow:hidden;
	padding:176px 0 142px;
	background:#0F1110;
	text-align:center;
}

.lmm-portfolio-hero-inner{
	position:relative;
	z-index:3;
	max-width:860px;
	margin:0 auto;
}

.lmm-portfolio-eyebrow{
	display:block;
	margin:0 0 18px;
	color:#2F8F84;
	font-size:12px;
	font-weight:900;
	line-height:1.5;
	letter-spacing:3px;
	text-transform:uppercase;
}

.lmm-portfolio-hero h1{
	max-width:860px;
	margin:0 auto 28px;
	color:var(--text);
	font-size:clamp(42px,4vw,60px);
	line-height:1.08;
	letter-spacing:-.04em;
}

.lmm-portfolio-sub{
	max-width:720px;
	margin:0 auto;
	color:var(--text-2);
	font-size:18px;
	line-height:1.75;
}

.lmm-portfolio-husky{
	position:absolute;
	top:50%;
	left:50%;
	z-index:1;
	transform:translate(-50%,-50%);
	pointer-events:none;
	opacity:.08;
}

.lmm-portfolio-husky img{
	display:block;
	width:520px;
	max-width:80vw;
	height:auto;
	filter:blur(.3px);
}

.lmm-portfolio-light{
	position:absolute;
	top:-30%;
	left:50%;
	z-index:1;
	width:900px;
	height:900px;
	transform:translateX(-50%);
	background:radial-gradient(
		circle at center,
		rgba(31,111,103,.14) 0%,
		rgba(31,111,103,.05) 35%,
		transparent 70%
	);
	filter:blur(90px);
	pointer-events:none;
	animation:lmm-portfolio-light-drift 18s ease-in-out infinite;
}

.lmm-portfolio-hero .lmm-hero-grid-overlay{
	position:absolute;
	inset:0;
	z-index:1;
	width:100%;
	height:100%;
	background-image:
		linear-gradient(rgba(247,243,236,.03) 1px,transparent 1px),
		linear-gradient(90deg,rgba(247,243,236,.03) 1px,transparent 1px);
	background-size:80px 80px;
	mask-image:radial-gradient(circle at center,black 40%,transparent 80%);
	-webkit-mask-image:radial-gradient(circle at center,black 40%,transparent 80%);
	pointer-events:none;
}

.lmm-portfolio-mesh{
	position:absolute;
	inset:0;
	z-index:0;
	pointer-events:none;
}

.lmm-portfolio-mesh-1,
.lmm-portfolio-mesh-2{
	position:absolute;
	width:620px;
	height:620px;
	border-radius:50%;
	filter:blur(130px);
	opacity:.16;
	animation:lmm-portfolio-float 22s ease-in-out infinite;
}

.lmm-portfolio-mesh-1{
	top:-140px;
	left:-140px;
	background:#1F6F67;
}

.lmm-portfolio-mesh-2{
	right:-180px;
	bottom:-180px;
	background:#D7C7A3;
	animation-delay:10s;
}

.lmm-portfolio-hero::after{
	content:"";
	position:absolute;
	left:50%;
	bottom:0;
	z-index:2;
	width:100%;
	max-width:1320px;
	height:1px;
	transform:translateX(-50%);
	background:linear-gradient(90deg,transparent,rgba(247,243,236,.08),transparent);
}

@keyframes lmm-portfolio-light-drift{
	0%{
		transform:translateX(-50%) translateY(0);
	}

	50%{
		transform:translateX(-50%) translateY(-28px);
	}

	100%{
		transform:translateX(-50%) translateY(0);
	}
}

@keyframes lmm-portfolio-float{
	0%{
		transform:translate(0,0) scale(1);
	}

	50%{
		transform:translate(40px,-40px) scale(1.1);
	}

	100%{
		transform:translate(0,0) scale(1);
	}
}

@media(max-width:1024px){
	.lmm-section.lmm-portfolio-hero{
		padding:160px 0 128px;
	}

	.lmm-portfolio-hero h1{
		font-size:clamp(40px,7vw,56px);
	}

	.lmm-portfolio-sub{
		font-size:17px;
		line-height:1.75;
	}
}

@media(max-width:768px){
	.lmm-section.lmm-portfolio-hero{
		padding:140px 0 108px;
	}

	.lmm-portfolio-eyebrow{
		font-size:10px;
		line-height:1.7;
		letter-spacing:2px;
	}

	.lmm-portfolio-hero h1{
		font-size:clamp(36px,10vw,50px);
		line-height:1.1;
	}

	.lmm-portfolio-sub{
		font-size:16px;
		line-height:1.75;
	}

	.lmm-portfolio-husky img{
		width:380px;
	}

	.lmm-portfolio-hero .lmm-hero-grid-overlay{
		background-size:56px 56px;
	}
}

@media(max-width:480px){
	.lmm-section.lmm-portfolio-hero{
		padding:126px 0 94px;
	}

	.lmm-portfolio-hero h1{
		font-size:34px;
	}

	.lmm-portfolio-sub{
		font-size:15px;
		line-height:1.7;
	}

	.lmm-portfolio-husky img{
		width:310px;
	}

	.lmm-portfolio-light{
		width:760px;
		height:760px;
	}

	.lmm-portfolio-mesh-1,
	.lmm-portfolio-mesh-2{
		width:420px;
		height:420px;
	}
}

@media(prefers-reduced-motion:reduce){
	.lmm-portfolio-light,
	.lmm-portfolio-mesh-1,
	.lmm-portfolio-mesh-2{
		animation:none;
	}
}

.lmm-section.lmm-portfolio-shortcode-wrap{
	position:relative;
	overflow:hidden;
	padding:96px 0 110px;
	background:var(--bg);
}

.lmm-portfolio-hero + .lmm-portfolio-shortcode-wrap{
	padding-top:92px;
}

.lmm-portfolio-shortcode-wrap::before{
	content:"";
	position:absolute;
	inset:auto 0 10% 0;
	z-index:0;
	width:70%;
	height:420px;
	margin:auto;
	background:radial-gradient(circle,rgba(31,111,103,.16) 0%,rgba(31,111,103,0) 70%);
	filter:blur(30px);
	pointer-events:none;
}

.lmm-portfolio-shortcode-wrap .lmm-container{
	position:relative;
	z-index:1;
}

.lmm-portfolio-intro{
	max-width:780px;
	margin:0 auto 70px;
	text-align:center;
}

.lmm-portfolio-intro .lmm-portfolio-eyebrow{
	display:block;
	margin:0 0 18px;
	color:var(--teal-hover);
	font-size:12px;
	font-weight:900;
	line-height:1.5;
	letter-spacing:3px;
	text-transform:uppercase;
}

.lmm-portfolio-intro h2{
	max-width:780px;
	margin:0 auto 22px;
	color:var(--text);
	font-size:clamp(38px,4vw,58px);
	line-height:1.06;
	letter-spacing:-.04em;
}

.lmm-portfolio-text{
	max-width:650px;
	margin:0 auto;
	color:var(--text-2);
	font-size:18px;
	line-height:1.8;
}

.lmm-portfolio-section{
	position:relative;
	overflow:hidden;
	padding:0;
}

.lmm-portfolio-section .lmm-container{
	position:relative;
	z-index:1;
}

.lmm-portfolio-filters{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:12px;
	margin:0 0 60px;
}

.lmm-filter{
	appearance:none;
	border:1px solid rgba(247,243,236,.10);
	border-radius:999px;
	background:rgba(247,243,236,.03);
	color:var(--text);
	padding:11px 20px;
	font-size:14px;
	font-weight:800;
	line-height:1;
	cursor:pointer;
	backdrop-filter:blur(8px);
	-webkit-backdrop-filter:blur(8px);
	transition:
		background .25s ease,
		border-color .25s ease,
		transform .25s ease,
		box-shadow .25s ease,
		color .25s ease;
}

.lmm-filter:hover{
	transform:translateY(-2px);
	background:rgba(31,111,103,.16);
	border-color:rgba(31,111,103,.38);
	color:var(--teal-hover);
	box-shadow:0 10px 24px rgba(0,0,0,.18);
}

.lmm-filter.is-active{
	background:#1F6F67;
	border-color:#1F6F67;
	color:#ffffff;
	box-shadow:0 10px 24px rgba(31,111,103,.28);
}

.lmm-portfolio-grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:28px;
	align-items:start;
}

.lmm-portfolio-item{
	transition:
		opacity .28s ease,
		transform .28s ease,
		visibility .28s ease;
}

.lmm-portfolio-item.is-hidden{
	display:none;
}

.lmm-portfolio-link{
	display:block;
	height:100%;
	color:inherit;
	text-decoration:none;
}

.lmm-portfolio-media{
	position:relative;
	overflow:hidden;
	border:1px solid rgba(247,243,236,.08);
	border-radius:22px;
	background:linear-gradient(180deg,rgba(247,243,236,.05),rgba(247,243,236,.02));
	box-shadow:
		0 18px 40px rgba(0,0,0,.28),
		inset 0 1px 0 rgba(247,243,236,.04);
	transition:
		transform .35s ease,
		box-shadow .35s ease,
		border-color .35s ease;
}

.lmm-portfolio-media img,
.lmm-portfolio-placeholder{
	display:block;
	width:100%;
	height:320px;
	object-fit:cover;
}

.lmm-portfolio-media img{
	transition:transform .45s ease;
}

.lmm-portfolio-placeholder{
	display:flex;
	align-items:center;
	justify-content:center;
	padding:28px;
	background:
		radial-gradient(circle at top right,rgba(31,111,103,.26),transparent 58%),
		linear-gradient(145deg,rgba(31,111,103,.22),rgba(15,17,16,.82));
	color:var(--sand);
	font-size:20px;
	font-weight:800;
	letter-spacing:.03em;
	text-align:center;
}

.lmm-portfolio-item.is-tall .lmm-portfolio-media img,
.lmm-portfolio-item.is-tall .lmm-portfolio-placeholder{
	height:440px;
}

.lmm-portfolio-item.is-wide{
	grid-column:span 2;
}

.lmm-portfolio-item.is-wide .lmm-portfolio-media img,
.lmm-portfolio-item.is-wide .lmm-portfolio-placeholder{
	height:360px;
}

.lmm-portfolio-overlay{
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	padding:26px;
	background:linear-gradient(
		to top,
		rgba(5,10,9,.94) 0%,
		rgba(5,10,9,.70) 42%,
		rgba(5,10,9,0) 100%
	);
	color:#ffffff;
	opacity:0;
	transform:translateY(18px);
	transition:
		opacity .3s ease,
		transform .3s ease;
}

.lmm-portfolio-view{
	display:inline-flex;
	margin:0 0 10px;
	padding:7px 12px;
	border-radius:999px;
	background:rgba(31,111,103,.92);
	color:#ffffff;
	font-size:12px;
	font-weight:800;
	letter-spacing:.02em;
}

.lmm-portfolio-overlay h3{
	margin:0 0 8px;
	color:var(--text);
	font-size:22px;
	line-height:1.2;
	letter-spacing:-.02em;
}

.lmm-portfolio-overlay p{
	margin:0;
	color:rgba(247,243,236,.84);
	font-size:14px;
	line-height:1.6;
}

.lmm-portfolio-item:hover .lmm-portfolio-media{
	transform:translateY(-6px);
	border-color:rgba(31,111,103,.38);
	box-shadow:
		0 26px 56px rgba(0,0,0,.42),
		0 0 0 1px rgba(31,111,103,.10),
		inset 0 1px 0 rgba(247,243,236,.05);
}

.lmm-portfolio-item:hover img{
	transform:scale(1.05);
}

.lmm-portfolio-item:hover .lmm-portfolio-overlay{
	opacity:1;
	transform:translateY(0);
}

.lmm-portfolio-empty,
.lmm-portfolio-shortcode-placeholder{
	padding:30px;
	text-align:center;
	border:1px solid rgba(247,243,236,.08);
	border-radius:20px;
	background:rgba(247,243,236,.03);
	color:var(--text-2);
}

.lmm-portfolio-shortcode-placeholder{
	margin-top:44px;
	font-size:14px;
	font-weight:800;
	letter-spacing:.08em;
	text-transform:uppercase;
}

@media(max-width:1100px){
	.lmm-portfolio-shortcode-wrap{
		padding:84px 0 100px;
	}

	.lmm-portfolio-hero + .lmm-portfolio-shortcode-wrap{
		padding-top:82px;
	}

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

	.lmm-portfolio-item.is-wide{
		grid-column:span 1;
	}
}

@media(max-width:767px){
	.lmm-portfolio-shortcode-wrap{
		padding:70px 0 92px;
	}

	.lmm-portfolio-hero + .lmm-portfolio-shortcode-wrap{
		padding-top:70px;
	}

	.lmm-portfolio-intro{
		margin-bottom:46px;
	}

	.lmm-portfolio-intro .lmm-portfolio-eyebrow{
		font-size:10px;
		line-height:1.7;
		letter-spacing:2px;
	}

	.lmm-portfolio-intro h2{
		font-size:clamp(34px,9vw,46px);
		line-height:1.1;
	}

	.lmm-portfolio-text{
		font-size:16px;
		line-height:1.75;
	}

	.lmm-portfolio-filters{
		gap:10px;
		margin-bottom:42px;
	}

	.lmm-filter{
		padding:10px 16px;
		font-size:13px;
	}

	.lmm-portfolio-grid{
		grid-template-columns:1fr;
		gap:22px;
	}

	.lmm-portfolio-item.is-wide,
	.lmm-portfolio-item.is-tall{
		grid-column:auto;
	}

	.lmm-portfolio-media img,
	.lmm-portfolio-placeholder,
	.lmm-portfolio-item.is-wide .lmm-portfolio-media img,
	.lmm-portfolio-item.is-wide .lmm-portfolio-placeholder,
	.lmm-portfolio-item.is-tall .lmm-portfolio-media img,
	.lmm-portfolio-item.is-tall .lmm-portfolio-placeholder{
		height:300px;
	}

	.lmm-portfolio-overlay{
		opacity:1;
		transform:none;
	}

	.lmm-portfolio-shortcode-placeholder{
		margin-top:34px;
		padding:24px;
	}
}

@media(max-width:480px){
	.lmm-portfolio-shortcode-wrap{
		padding:60px 0 82px;
	}

	.lmm-portfolio-hero + .lmm-portfolio-shortcode-wrap{
		padding-top:60px;
	}

	.lmm-portfolio-media img,
	.lmm-portfolio-placeholder,
	.lmm-portfolio-item.is-wide .lmm-portfolio-media img,
	.lmm-portfolio-item.is-wide .lmm-portfolio-placeholder,
	.lmm-portfolio-item.is-tall .lmm-portfolio-media img,
	.lmm-portfolio-item.is-tall .lmm-portfolio-placeholder{
		height:260px;
	}

	.lmm-portfolio-overlay{
		padding:22px;
	}

	.lmm-portfolio-overlay h3{
		font-size:20px;
	}

	.lmm-portfolio-shortcode-placeholder{
		padding:22px;
		font-size:13px;
	}
}

@media(prefers-reduced-motion:reduce){
	.lmm-filter,
	.lmm-portfolio-item,
	.lmm-portfolio-media,
	.lmm-portfolio-media img,
	.lmm-portfolio-overlay{
		transition:none;
	}
}

.lmm-section.lmm-portfolio-process{
	position:relative;
	overflow:hidden;
	padding:96px 0 110px;
	background:var(--bg);
}

.lmm-portfolio-shortcode-wrap + .lmm-portfolio-process{
	padding-top:92px;
}

.lmm-portfolio-process-glow{
	position:absolute;
	top:50%;
	left:50%;
	z-index:0;
	width:1000px;
	height:680px;
	transform:translate(-50%,-50%);
	background:radial-gradient(circle,rgba(31,111,103,.08),transparent 72%);
	pointer-events:none;
	animation:lmm-portfolio-process-glow 12s ease-in-out infinite;
}

.lmm-portfolio-process .lmm-container{
	position:relative;
	z-index:2;
}

.lmm-portfolio-process::after{
	content:"";
	position:absolute;
	left:50%;
	bottom:0;
	z-index:2;
	width:100%;
	max-width:1320px;
	height:1px;
	transform:translateX(-50%);
	background:linear-gradient(90deg,transparent,rgba(247,243,236,.08),transparent);
}

.lmm-portfolio-process-intro{
	max-width:760px;
	margin:0 auto 70px;
	text-align:center;
}

.lmm-portfolio-process .lmm-portfolio-eyebrow{
	display:block;
	margin:0 0 18px;
	color:var(--teal-hover);
	font-size:12px;
	font-weight:900;
	line-height:1.5;
	letter-spacing:3px;
	text-transform:uppercase;
}

.lmm-portfolio-process-intro h2{
	max-width:760px;
	margin:0 auto 22px;
	color:var(--text);
	font-size:clamp(38px,4vw,58px);
	line-height:1.06;
	letter-spacing:-.04em;
}

.lmm-portfolio-process-text{
	max-width:640px;
	margin:0 auto;
	color:var(--text-2);
	font-size:18px;
	line-height:1.8;
}

.lmm-portfolio-process-grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:28px;
}

.lmm-portfolio-process-card{
	position:relative;
	overflow:hidden;
	display:flex;
	flex-direction:column;
	min-height:310px;
	padding:34px 30px;
	border:1px solid rgba(247,243,236,.07);
	border-radius:24px;
	background:linear-gradient(180deg,rgba(247,243,236,.05),rgba(247,243,236,.018));
	text-align:left;
	backdrop-filter:blur(14px);
	-webkit-backdrop-filter:blur(14px);
	box-shadow:0 24px 70px rgba(0,0,0,.26);
	transition:
		transform .35s ease,
		border-color .35s ease,
		box-shadow .35s ease,
		background .35s ease;
}

.lmm-portfolio-process-card::before{
	content:"";
	position:absolute;
	inset:0;
	border-radius:24px;
	padding:1px;
	background:linear-gradient(120deg,transparent,rgba(247,243,236,.06),transparent);
	-webkit-mask:
		linear-gradient(#000 0 0) content-box,
		linear-gradient(#000 0 0);
	-webkit-mask-composite:xor;
	mask-composite:exclude;
	opacity:.45;
	pointer-events:none;
}

.lmm-portfolio-process-card-glow{
	position:absolute;
	right:-70px;
	bottom:-70px;
	width:220px;
	height:220px;
	border-radius:50%;
	background:radial-gradient(circle,rgba(31,111,103,.14),transparent 70%);
	opacity:.45;
	pointer-events:none;
	transition:
		transform .4s ease,
		opacity .4s ease;
}

.lmm-portfolio-process-card:hover{
	transform:translateY(-8px);
	border-color:rgba(31,111,103,.38);
	background:linear-gradient(180deg,rgba(247,243,236,.06),rgba(247,243,236,.02));
	box-shadow:
		0 30px 80px rgba(0,0,0,.36),
		0 0 42px rgba(31,111,103,.12);
}

.lmm-portfolio-process-card:hover .lmm-portfolio-process-card-glow{
	transform:scale(1.12);
	opacity:.8;
}

.lmm-portfolio-process-number{
	position:relative;
	z-index:2;
	display:flex;
	align-items:center;
	justify-content:center;
	width:54px;
	height:54px;
	margin:0 0 22px;
	border-radius:16px;
	background:rgba(31,111,103,.14);
	color:var(--teal-hover);
	font-size:13px;
	font-weight:900;
	line-height:1;
	letter-spacing:1px;
	box-shadow:0 0 22px rgba(31,111,103,.10);
	transition:
		transform .3s ease,
		background .3s ease,
		box-shadow .3s ease;
}

.lmm-portfolio-process-card:hover .lmm-portfolio-process-number{
	transform:translateY(-4px);
	background:rgba(31,111,103,.18);
	box-shadow:0 0 22px rgba(31,111,103,.22);
}

.lmm-portfolio-process-card h3{
	position:relative;
	z-index:2;
	margin:0 0 14px;
	color:var(--text);
	font-size:22px;
	line-height:1.25;
	letter-spacing:-.02em;
}

.lmm-portfolio-process-card p{
	position:relative;
	z-index:2;
	margin:0;
	color:var(--text-2);
	font-size:15px;
	line-height:1.75;
}

@keyframes lmm-portfolio-process-glow{
	0%{
		transform:translate(-50%,-50%) scale(1);
		opacity:.45;
	}

	50%{
		transform:translate(-50%,-50%) scale(1.08);
		opacity:.82;
	}

	100%{
		transform:translate(-50%,-50%) scale(1);
		opacity:.45;
	}
}

@media(max-width:1000px){
	.lmm-section.lmm-portfolio-process{
		padding:84px 0 100px;
	}

	.lmm-portfolio-shortcode-wrap + .lmm-portfolio-process{
		padding-top:82px;
	}

	.lmm-portfolio-process-grid{
		grid-template-columns:repeat(2,minmax(0,1fr));
		gap:24px;
	}

	.lmm-portfolio-process-card{
		min-height:280px;
		padding:30px;
	}
}

@media(max-width:768px){
	.lmm-section.lmm-portfolio-process{
		padding:70px 0 92px;
	}

	.lmm-portfolio-shortcode-wrap + .lmm-portfolio-process{
		padding-top:70px;
	}

	.lmm-portfolio-process-intro{
		margin-bottom:46px;
	}

	.lmm-portfolio-process .lmm-portfolio-eyebrow{
		font-size:10px;
		line-height:1.7;
		letter-spacing:2px;
	}

	.lmm-portfolio-process-intro h2{
		font-size:clamp(34px,9vw,46px);
		line-height:1.1;
	}

	.lmm-portfolio-process-text{
		font-size:16px;
		line-height:1.75;
	}

	.lmm-portfolio-process-grid{
		gap:22px;
	}

	.lmm-portfolio-process-card{
		min-height:0;
		padding:28px;
		border-radius:22px;
	}

	.lmm-portfolio-process-card::before{
		border-radius:22px;
	}
}

@media(max-width:650px){
	.lmm-portfolio-process-grid{
		grid-template-columns:1fr;
	}
}

@media(max-width:480px){
	.lmm-section.lmm-portfolio-process{
		padding:60px 0 82px;
	}

	.lmm-portfolio-shortcode-wrap + .lmm-portfolio-process{
		padding-top:60px;
	}

	.lmm-portfolio-process-card{
		padding:24px;
		border-radius:20px;
	}

	.lmm-portfolio-process-card::before{
		border-radius:20px;
	}

	.lmm-portfolio-process-number{
		width:48px;
		height:48px;
		margin-bottom:20px;
		font-size:12px;
	}

	.lmm-portfolio-process-card h3{
		font-size:20px;
	}

	.lmm-portfolio-process-card p{
		font-size:14px;
		line-height:1.7;
	}
}

@media(prefers-reduced-motion:reduce){
	.lmm-portfolio-process-glow{
		animation:none;
	}

	.lmm-portfolio-process-card,
	.lmm-portfolio-process-card-glow,
	.lmm-portfolio-process-number{
		transition:none;
	}
}
