/* Mike Matzke portfolio polish — v1.6.0 */
:root {
	--mm-bg: #090c11;
	--mm-surface: #10151d;
	--mm-surface-raised: #171e28;
	--mm-text: #f5f7fa;
	--mm-muted: #aab4c2;
	--mm-accent: #76aefc;
	--mm-line: rgba(255, 255, 255, 0.1);
	--mm-radius: 18px;
	--mm-shadow: 0 24px 70px rgba(0, 0, 0, 0.32);
	--mm-container: 1180px;
}

html {
	background: var(--mm-bg);
	scrollbar-color: #5f92d4 var(--mm-bg);
	scrollbar-width: thin;
}

::-webkit-scrollbar {
	width: 9px;
	height: 9px;
}

::-webkit-scrollbar-track {
	background: var(--mm-bg);
}

::-webkit-scrollbar-thumb {
	border: 2px solid var(--mm-bg);
	border-radius: 999px;
	background: linear-gradient(180deg, #76aefc, #315784);
}

::-webkit-scrollbar-thumb:hover {
	background: linear-gradient(180deg, #9bc6ff, #4777af);
}

::-webkit-scrollbar-corner {
	background: var(--mm-bg);
}

body,
#wrapper,
#main,
#content {
	background: var(--mm-bg);
	color: var(--mm-text);
}

body {
	font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 16px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}

::selection {
	background: var(--mm-accent);
	color: #07101d;
}

a {
	transition: color 180ms ease, opacity 180ms ease, transform 180ms ease;
}

/* Header */
#header .header-wrapper {
	background: linear-gradient(90deg, rgba(7, 10, 14, 0.96), rgba(12, 17, 24, 0.92));
	border-bottom: 1px solid var(--mm-line);
	box-shadow: 0 12px 34px rgba(0, 0, 0, 0.14);
	-webkit-backdrop-filter: blur(16px);
	backdrop-filter: blur(16px);
}

#header #masthead,
#header .header-main {
	height: 72px;
}

#header .header-inner {
	max-width: 1240px;
	min-height: 72px;
	padding-inline: 24px;
}

#logo img {
	content: url("seo/header-logo-filmmaker.png");
	width: 236px !important;
	height: auto !important;
	max-height: 50px !important;
	object-fit: contain;
}

#logo a {
	display: inline-flex;
	align-items: center;
	border-radius: 6px;
}

#logo {
	display: flex;
	align-items: center;
	width: auto !important;
	margin-right: 26px;
}

#logo a::after {
	display: none;
	content: none;
}

#header .hide-for-medium.flex-left {
	justify-content: flex-end;
}

#header .top-divider {
	display: none;
}

#header .header-wrapper.stuck {
	background: rgba(7, 10, 14, 0.97);
	box-shadow: 0 14px 38px rgba(0, 0, 0, 0.26);
}

#header .nav > li > a {
	min-height: 72px;
	padding-inline: 14px;
	color: rgba(255, 255, 255, 0.72);
	font-size: 12px;
	font-weight: 650;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

#header .nav > li > a:hover,
#header .nav > li.active > a,
#header .nav > li.current-menu-item > a {
	color: #fff;
}

#header .nav > li > a::after {
	position: absolute;
	right: 14px;
	bottom: 15px;
	left: 14px;
	height: 2px;
	background: var(--mm-accent);
	content: "";
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 180ms ease;
}

#header .nav > li > a:hover::after,
#header .nav > li.active > a::after,
#header .nav > li.current-menu-item > a::after {
	transform: scaleX(1);
}

/* Shared cinematic hero treatment */
body .banner .banner-bg img {
	object-fit: cover;
}

body .banner .overlay {
	background: linear-gradient(90deg, rgba(4, 7, 11, 0.82) 0%, rgba(4, 7, 11, 0.28) 58%, rgba(4, 7, 11, 0.08) 100%) !important;
}

body .banner .banner-layers.container {
	max-width: var(--mm-container);
}

body .banner .text-box {
	width: min(760px, calc(100% - 48px)) !important;
}

body .banner h1,
body .banner h2,
body .banner h3 {
	margin: 0 0 14px;
	color: #fff;
	font-size: clamp(42px, 5.2vw, 74px);
	font-weight: 720;
	letter-spacing: -0.045em;
	line-height: 0.98;
	text-wrap: balance;
}

body .banner p,
body .banner h6 {
	max-width: 620px;
	margin: 0;
	color: rgba(255, 255, 255, 0.78);
	font-size: clamp(15px, 1.5vw, 19px);
	font-weight: 450;
	letter-spacing: 0.01em;
	line-height: 1.55;
	text-transform: none;
}

/* Home */
.home #content > .banner:first-child {
	height: clamp(580px, calc(100svh - 72px), 860px);
	padding-top: 0 !important;
}

.home #content > .banner:first-child .text-box {
	top: auto;
	bottom: clamp(62px, 10vh, 110px);
	left: 24px;
	transform: none;
}

.home #content > .banner:first-child .text-inner {
	text-align: left;
}

.home #content > .banner:first-child h6:nth-of-type(n+2):not(:last-of-type) {
	display: none;
}

.home #content > .banner:first-child h6:last-of-type {
	margin-top: 28px;
	color: rgba(255, 255, 255, 0.58);
	font-size: 12px;
	font-weight: 650;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.home #content > .section {
	background: var(--mm-bg) !important;
	padding: 42px 24px 34px !important;
}

.home #content > .section .row {
	max-width: var(--mm-container);
}

.home #content > .section .col {
	padding: 8px;
}

.home #content > .section .img {
	width: 100% !important;
}

.home #content > .section .img-inner {
	margin: 0 !important;
	overflow: hidden;
	border: 1px solid var(--mm-line);
	border-radius: var(--mm-radius);
	background: var(--mm-surface);
	box-shadow: 0 14px 35px rgba(0, 0, 0, 0.2);
}

.home #content > .section .img-inner img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	transition: transform 420ms cubic-bezier(0.22, 1, 0.36, 1), filter 420ms ease;
}

.home #content > .section .img-inner:hover img {
	filter: saturate(1.08) contrast(1.03);
	transform: scale(1.035);
}

/* Videos */
.page-id-495 #content.page-wrapper {
	padding: 0 24px 76px;
}

.page-id-495 .row-main {
	max-width: var(--mm-container);
}

.page-id-495 .row-main > .col {
	padding: 0;
}

.page-id-495 .row-main .banner:first-of-type {
	width: 100vw;
	height: min(68svh, 720px);
	margin-left: calc(50% - 50vw);
	padding-top: 0 !important;
}

.page-id-495 .row-main .banner:first-of-type .text-box {
	top: auto;
	bottom: 64px;
	left: 24px;
	transform: none;
}

.page-id-495 .row-main .banner:first-of-type .text,
.page-id-495 .row-main .banner:first-of-type .text-inner {
	text-align: left !important;
}

.page-id-495 .row-main .banner:first-of-type h3,
.page-id-495 .row-main .banner:first-of-type p {
	padding: 0;
}

.page-id-495 .row-main .banner:first-of-type h3 strong {
	font-weight: inherit;
}

.page-id-495 .is-divider {
	display: none;
}

.page-id-495 .mm-video-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	margin: 54px auto 0;
}

.page-id-495 .video.video-fit,
.page-id-495 .mm-video-card-shell {
	position: relative;
	margin: 0;
	padding: 0 !important;
	overflow: hidden;
	border: 1px solid var(--mm-line);
	border-radius: var(--mm-radius);
	background: #000;
	box-shadow: 0 18px 50px rgba(0, 0, 0, 0.3);
}

.page-id-495 .mm-video-card-shell {
	aspect-ratio: 16 / 9;
	transition: border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}

.page-id-495 .mm-video-card-shell:first-child {
	grid-column: 1 / -1;
	aspect-ratio: 16 / 7;
}

.page-id-495 .mm-video-card-shell:hover {
	border-color: rgba(118, 174, 252, 0.58);
	box-shadow: 0 26px 70px rgba(0, 0, 0, 0.42), 0 0 0 1px rgba(118, 174, 252, 0.1);
	transform: translateY(-4px);
}

.mm-video-card {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	padding: 0;
	overflow: hidden;
	border: 0;
	background: #0b1017;
	color: #fff;
	cursor: pointer;
	text-align: left;
}

.mm-video-card::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(4, 7, 10, 0.03) 28%, rgba(4, 7, 10, 0.92) 100%);
	pointer-events: none;
}

.mm-video-card img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: saturate(0.88) contrast(1.04);
	transition: filter 350ms ease, transform 500ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.mm-video-card:hover img,
.mm-video-card:focus-visible img {
	filter: saturate(1.08) contrast(1.06);
	transform: scale(1.035);
}

.mm-video-card:focus-visible {
	outline: 3px solid #9bc6ff;
	outline-offset: -5px;
}

.mm-video-card-copy {
	position: absolute;
	z-index: 2;
	right: 24px;
	bottom: 22px;
	left: 24px;
	display: flex;
	align-items: center;
	gap: 16px;
}

.mm-video-play {
	display: inline-grid;
	flex: 0 0 54px;
	width: 54px;
	height: 54px;
	place-items: center;
	border: 1px solid rgba(255, 255, 255, 0.42);
	border-radius: 50%;
	background: rgba(9, 12, 17, 0.72);
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.3);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	transition: background 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.mm-video-play svg {
	width: 18px;
	height: 18px;
	margin-left: 3px;
	fill: currentColor;
}

.mm-video-card:hover .mm-video-play,
.mm-video-card:focus-visible .mm-video-play {
	border-color: var(--mm-accent);
	background: var(--mm-accent);
	color: #07101d;
	transform: scale(1.06);
}

.mm-video-copy-text {
	min-width: 0;
}

.mm-video-eyebrow {
	display: block;
	margin-bottom: 4px;
	color: var(--mm-accent);
	font-size: 10px;
	font-weight: 720;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.mm-video-title {
	display: block;
	color: #fff;
	font-size: clamp(17px, 2vw, 25px);
	font-weight: 680;
	line-height: 1.2;
	letter-spacing: -0.02em;
}

body.mm-video-modal-open {
	overflow: hidden;
}

.mm-video-modal[hidden] {
	display: none !important;
}

.mm-video-modal {
	position: fixed;
	z-index: 2147483000;
	inset: 0;
	display: grid;
	place-items: center;
	padding: 28px;
	background: rgba(2, 4, 8, 0.9);
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
}

.mm-video-modal-dialog {
	width: min(1120px, calc(100vw - 56px));
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 20px;
	background: #090c11;
	box-shadow: 0 40px 110px rgba(0, 0, 0, 0.68);
}

.mm-video-modal-header {
	display: flex;
	min-height: 64px;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 14px 16px 14px 24px;
	border-bottom: 1px solid var(--mm-line);
}

.mm-video-modal-title {
	margin: 0;
	color: #fff;
	font-size: clamp(16px, 2vw, 21px);
	font-weight: 660;
	line-height: 1.25;
}

.mm-video-modal-close {
	display: grid;
	flex: 0 0 42px;
	width: 42px;
	height: 42px;
	place-items: center;
	padding: 0;
	border: 1px solid var(--mm-line);
	border-radius: 50%;
	background: var(--mm-surface-raised);
	color: #fff;
	font-size: 25px;
	line-height: 1;
	cursor: pointer;
	transition: border-color 180ms ease, background 180ms ease, transform 180ms ease;
}

.mm-video-modal-close:hover,
.mm-video-modal-close:focus-visible {
	border-color: var(--mm-accent);
	background: #203651;
	transform: rotate(4deg) scale(1.04);
}

.mm-video-modal-close:focus-visible {
	outline: 3px solid #9bc6ff;
	outline-offset: 3px;
}

.mm-video-modal-frame {
	position: relative;
	aspect-ratio: 16 / 9;
	background: #000;
}

.mm-video-modal-frame iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

/* About */
.page-id-88 #content > .banner:first-of-type {
	height: min(72svh, 760px);
	padding-top: 0 !important;
}

.page-id-88 #content > .banner:first-of-type .text-box {
	top: auto;
	bottom: 76px;
	left: 24px;
	transform: none;
}

.page-id-88 #content > .banner:first-of-type .text,
.page-id-88 #content > .banner:first-of-type .text-inner {
	text-align: left !important;
}

.mm-about-story {
	padding: clamp(72px, 9vw, 118px) 24px 0;
	background: var(--mm-bg);
}

.mm-about-story-inner {
	max-width: var(--mm-container);
	margin-inline: auto;
}

.mm-about-intro {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: clamp(44px, 7vw, 96px);
	align-items: start;
}

.mm-about-kicker {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 20px;
	color: var(--mm-accent);
	font-size: 11px;
	font-weight: 720;
	letter-spacing: 0.17em;
	text-transform: uppercase;
}

.mm-about-kicker::before {
	content: "";
	width: 34px;
	height: 1px;
	background: currentColor;
}

.mm-about-intro h2,
.mm-about-process-heading h2,
.mm-about-tools-heading h2 {
	margin: 0;
	color: #fff;
	font-size: clamp(38px, 5.2vw, 66px);
	font-weight: 650;
	line-height: 1.02;
	letter-spacing: -0.045em;
}

.mm-about-copy {
	padding-top: 35px;
}

.mm-about-copy p {
	margin: 0 0 22px;
	color: var(--mm-muted);
	font-size: clamp(17px, 1.55vw, 21px);
	line-height: 1.75;
}

.mm-about-copy p:first-child {
	color: #eef2f7;
	font-size: clamp(20px, 2vw, 28px);
	font-weight: 480;
	line-height: 1.5;
	letter-spacing: -0.02em;
}

.mm-about-principles {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin-top: clamp(64px, 8vw, 96px);
}

.mm-about-principle {
	min-height: 270px;
	padding: 28px;
	border: 1px solid var(--mm-line);
	border-radius: var(--mm-radius);
	background: linear-gradient(145deg, rgba(23, 30, 40, 0.94), rgba(12, 17, 24, 0.94));
	box-shadow: 0 18px 46px rgba(0, 0, 0, 0.2);
	transition: border-color 200ms ease, box-shadow 200ms ease, transform 200ms ease;
}

.mm-about-principle:hover {
	border-color: rgba(118, 174, 252, 0.45);
	box-shadow: 0 24px 58px rgba(0, 0, 0, 0.3);
	transform: translateY(-4px);
}

.mm-about-number {
	display: block;
	margin-bottom: 68px;
	color: var(--mm-accent);
	font-size: 12px;
	font-weight: 720;
	letter-spacing: 0.14em;
}

.mm-about-principle h3 {
	margin: 0 0 12px;
	color: #fff;
	font-size: clamp(22px, 2vw, 28px);
	font-weight: 640;
	line-height: 1.15;
	letter-spacing: -0.025em;
}

.mm-about-principle p {
	margin: 0;
	color: var(--mm-muted);
	font-size: 15px;
	line-height: 1.7;
}

.mm-about-process {
	display: grid;
	grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
	gap: clamp(40px, 7vw, 88px);
	margin-top: clamp(72px, 9vw, 112px);
	padding: clamp(40px, 6vw, 72px);
	border: 1px solid var(--mm-line);
	border-radius: 24px;
	background: linear-gradient(135deg, rgba(27, 43, 64, 0.82), rgba(10, 14, 20, 0.96) 58%);
	box-shadow: var(--mm-shadow);
}

.mm-about-process-heading h2,
.mm-about-tools-heading h2 {
	font-size: clamp(34px, 4.2vw, 54px);
}

.mm-about-steps {
	margin: 0;
	padding: 0;
	list-style: none;
}

.mm-about-step {
	display: grid;
	grid-template-columns: 108px minmax(0, 1fr);
	gap: 22px;
	padding: 24px 0;
	border-top: 1px solid var(--mm-line);
}

.mm-about-step:first-child {
	padding-top: 0;
	border-top: 0;
}

.mm-about-step:last-child {
	padding-bottom: 0;
}

.mm-about-step-title {
	color: var(--mm-accent);
	font-size: 11px;
	font-weight: 720;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.mm-about-step p {
	margin: 0;
	color: #d5dde7;
	font-size: 16px;
	line-height: 1.7;
}

.mm-about-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	padding: clamp(64px, 8vw, 96px) 0;
}

.mm-about-cta p {
	max-width: 620px;
	margin: 0;
	color: #fff;
	font-size: clamp(28px, 3.4vw, 46px);
	font-weight: 580;
	line-height: 1.18;
	letter-spacing: -0.035em;
}

.mm-about-cta-links {
	display: flex;
	flex: 0 0 auto;
	gap: 10px;
}

.mm-about-link {
	display: inline-flex;
	min-height: 48px;
	align-items: center;
	justify-content: center;
	padding: 12px 20px;
	border: 1px solid rgba(118, 174, 252, 0.5);
	border-radius: 999px;
	color: #fff;
	font-size: 12px;
	font-weight: 680;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	transition: background 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.mm-about-link.is-primary,
.mm-about-link:hover,
.mm-about-link:focus-visible {
	border-color: var(--mm-accent);
	background: var(--mm-accent);
	color: #07101d;
	transform: translateY(-2px);
}

.mm-about-link:focus-visible {
	outline: 3px solid #9bc6ff;
	outline-offset: 3px;
}

.page-id-88 #content > .stack {
	display: block;
	padding: 76px 24px 84px;
	border-top: 1px solid var(--mm-line);
	background: var(--mm-bg);
}

.mm-about-tools-heading {
	max-width: var(--mm-container);
	margin: 0 auto 40px;
}

.mm-about-tools-heading p {
	max-width: 600px;
	margin: 18px 0 0;
	color: var(--mm-muted);
	font-size: 17px;
	line-height: 1.7;
}

.page-id-88 #content > .stack .row {
	max-width: 900px;
	margin-inline: auto;
}

.page-id-88 #content > .stack .col {
	width: 100%;
	max-width: none;
	padding: 0;
	flex-basis: 100%;
}

.page-id-88 #content > .stack .col-inner {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}

.page-id-88 #content > .stack .img {
	width: 100% !important;
	min-height: 112px;
	display: grid;
	place-items: center;
	margin: 0;
	padding: 24px;
	border: 1px solid var(--mm-line);
	border-radius: 15px;
	background: var(--mm-surface);
}

.page-id-88 #content > .stack .img-inner {
	margin: 0 !important;
}

.page-id-88 #content > .stack img {
	display: block;
	width: auto;
	max-width: 100%;
	height: 52px;
	margin: auto;
	object-fit: contain;
}

/* Contact */
.page-id-86 #content > .banner:first-of-type {
	height: calc(100svh - 72px);
	min-height: 560px;
	padding-top: 0 !important;
}

.page-id-86 #content > .banner:first-of-type .text-box {
	top: auto;
	bottom: clamp(64px, 10vh, 110px);
	left: 24px;
	transform: none;
}

.page-id-86 #content > .banner:first-of-type .text,
.page-id-86 #content > .banner:first-of-type .text-inner {
	text-align: left !important;
}

.page-id-86 #content > .banner:first-of-type .text {
	font-size: 1rem;
	line-height: 1.5;
}

.page-id-86 #content > .banner:first-of-type h3 {
	font-size: clamp(42px, 5.2vw, 72px);
	text-transform: uppercase;
}

.page-id-86 #content > .banner:first-of-type p,
.page-id-86 #content > .banner:first-of-type p span {
	color: rgba(255, 255, 255, 0.78);
	font-size: clamp(15px, 1.5vw, 18px) !important;
	line-height: 1.65;
}

.mm-contact-actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	width: min(700px, calc(100vw - 48px));
	margin-top: 22px;
}

.mm-contact-action {
	position: relative;
	display: flex;
	min-width: 0;
	min-height: 76px;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 14px 18px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 14px;
	background: rgba(9, 12, 17, 0.72);
	box-shadow: 0 16px 38px rgba(0, 0, 0, 0.22);
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
	color: #fff;
	text-decoration: none;
	transition: border-color 180ms ease, background 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.mm-contact-action.is-primary {
	grid-column: 1 / -1;
	min-height: 86px;
	border-color: rgba(118, 174, 252, 0.56);
	background: linear-gradient(135deg, rgba(32, 54, 81, 0.94), rgba(11, 16, 23, 0.9));
}

.mm-contact-action:hover,
.mm-contact-action:focus-visible {
	border-color: var(--mm-accent);
	background: rgba(27, 43, 64, 0.92);
	box-shadow: 0 20px 46px rgba(0, 0, 0, 0.3), 0 0 0 5px rgba(118, 174, 252, 0.1);
	color: #fff;
	transform: translateY(-2px);
}

.mm-contact-action:focus-visible {
	outline: 3px solid #9bc6ff;
	outline-offset: 3px;
}

.mm-contact-action-copy {
	min-width: 0;
}

.mm-contact-label,
.mm-contact-value {
	display: block;
}

.mm-contact-label {
	margin-bottom: 3px;
	color: var(--mm-accent);
	font-size: 10px;
	font-weight: 720;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}

.mm-contact-value {
	overflow: hidden;
	color: #fff;
	font-size: clamp(14px, 1.35vw, 18px);
	font-weight: 620;
	line-height: 1.25;
	text-overflow: ellipsis;
}

.mm-contact-action.is-primary .mm-contact-value {
	font-size: clamp(18px, 2vw, 25px);
}

.mm-contact-arrow {
	display: grid;
	flex: 0 0 34px;
	width: 34px;
	height: 34px;
	place-items: center;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 50%;
	font-size: 18px;
	transition: border-color 180ms ease, background 180ms ease, transform 180ms ease;
}

.mm-contact-action:hover .mm-contact-arrow,
.mm-contact-action:focus-visible .mm-contact-arrow {
	border-color: var(--mm-accent);
	background: var(--mm-accent);
	color: #07101d;
	transform: translateX(2px);
}

.page-id-86 #content > .stack {
	display: none;
}

/* Footer and social links */
.social-icons.follow-icons {
	padding: 18px 24px 42px;
	background: var(--mm-bg);
}

.social-icons.follow-icons .icon {
	width: 42px;
	height: 42px;
	margin: 0 5px;
	border: 1px solid var(--mm-line);
	background: var(--mm-surface);
	color: var(--mm-text);
	line-height: 40px;
}

.social-icons.follow-icons .icon:hover {
	border-color: rgba(118, 174, 252, 0.55);
	background: var(--mm-surface-raised);
	color: var(--mm-accent);
	transform: translateY(-2px);
}

#footer .absolute-footer {
	padding: 0;
	border-top: 1px solid var(--mm-line);
	background: linear-gradient(180deg, #090c11, #06080c);
	color: rgba(255, 255, 255, 0.52);
	font-size: 12px;
}

#footer .absolute-footer > .container {
	max-width: var(--mm-container);
	padding: 0 24px;
}

#footer .footer-primary {
	float: none;
	text-align: center;
}

.mm-footer-shell {
	display: grid;
	grid-template-columns: minmax(220px, 1fr) auto;
	gap: 34px;
	align-items: center;
	padding: 48px 0 24px;
}

.mm-footer-brand {
	display: flex;
	gap: 14px;
	align-items: center;
	color: var(--mm-text);
	text-align: left;
}

.mm-footer-brand:hover {
	color: var(--mm-text);
}

.mm-footer-mark {
	display: grid;
	width: 46px;
	height: 46px;
	place-items: center;
	border: 1px solid rgba(118, 174, 252, 0.42);
	border-radius: 50%;
	background: linear-gradient(145deg, #1a2431, #0d1219);
	box-shadow: inset 0 0 0 4px rgba(118, 174, 252, 0.06);
	color: #fff;
	font-size: 12px;
	font-weight: 750;
	letter-spacing: -0.04em;
}

.mm-footer-name {
	display: block;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.13em;
}

.mm-footer-role {
	display: block;
	margin-top: 4px;
	color: var(--mm-muted);
	font-size: 11px;
	font-weight: 550;
	letter-spacing: 0.14em;
}

.mm-footer-nav {
	display: flex;
	gap: 8px 25px;
	align-items: center;
	justify-content: flex-end;
	margin: 0;
}

.mm-footer-nav a {
	position: relative;
	padding: 8px 0;
	color: rgba(255, 255, 255, 0.62);
	font-size: 11px;
	font-weight: 650;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.mm-footer-nav a:hover,
.mm-footer-nav a[aria-current="page"] {
	color: #fff;
}

.mm-footer-meta {
	display: flex;
	grid-column: 1 / -1;
	width: 100%;
	align-items: center;
	justify-content: space-between;
	gap: 22px;
	padding: 22px 0 0;
	border-top: 1px solid var(--mm-line);
	color: rgba(255, 255, 255, 0.46);
	text-align: left;
}

.mm-footer-legal {
	display: flex;
	gap: 8px 20px;
	align-items: center;
	justify-content: flex-end;
}

.mm-footer-legal a {
	color: rgba(255, 255, 255, 0.5);
	font-size: 10px;
	font-weight: 620;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.mm-footer-legal a:hover,
.mm-footer-legal a[aria-current="page"] {
	color: #fff;
}

/* Legal pages */
.mm-legal-page {
	max-width: 900px;
	margin: 0 auto;
	padding: clamp(76px, 9vw, 118px) 24px clamp(84px, 10vw, 132px);
	color: var(--mm-muted);
}

.mm-legal-header {
	margin-bottom: 58px;
	padding-bottom: 46px;
	border-bottom: 1px solid var(--mm-line);
}

.mm-legal-kicker {
	display: inline-block;
	margin-bottom: 18px;
	color: var(--mm-accent);
	font-size: 11px;
	font-weight: 720;
	letter-spacing: 0.17em;
	text-transform: uppercase;
}

.mm-legal-page h1 {
	margin: 0;
	color: #fff;
	font-size: clamp(46px, 7vw, 78px);
	font-weight: 650;
	line-height: 1;
	letter-spacing: -0.05em;
}

.mm-legal-updated {
	margin: 18px 0 0;
	color: rgba(255, 255, 255, 0.48);
	font-size: 12px;
	font-weight: 620;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.mm-legal-lead {
	max-width: 760px;
	margin: 32px 0 0;
	color: #e8edf3;
	font-size: clamp(19px, 2vw, 25px);
	line-height: 1.6;
	letter-spacing: -0.015em;
}

.mm-legal-section {
	display: grid;
	grid-template-columns: minmax(190px, 0.38fr) minmax(0, 0.62fr);
	gap: 44px;
	padding: 36px 0;
	border-top: 1px solid var(--mm-line);
}

.mm-legal-section:first-of-type {
	border-top: 0;
}

.mm-legal-section h2,
.mm-legal-contact h2 {
	margin: 0;
	color: #fff;
	font-size: clamp(21px, 2.3vw, 28px);
	font-weight: 630;
	line-height: 1.25;
	letter-spacing: -0.025em;
}

.mm-legal-section > p,
.mm-legal-section > ul {
	grid-column: 2;
}

.mm-legal-section > h2 + p,
.mm-legal-section > h2 + ul {
	grid-row: 1;
}

.mm-legal-section p,
.mm-legal-section ul {
	margin-top: 0;
	margin-bottom: 16px;
	color: var(--mm-muted);
	font-size: 16px;
	line-height: 1.8;
}

.mm-legal-section p:last-child,
.mm-legal-section ul:last-child {
	margin-bottom: 0;
}

.mm-legal-section ul {
	padding-left: 22px;
}

.mm-legal-section li {
	margin-bottom: 8px;
}

.mm-legal-contact {
	margin-top: 48px;
	padding: 34px;
	border: 1px solid rgba(118, 174, 252, 0.35);
	border-radius: 18px;
	background: linear-gradient(135deg, rgba(32, 54, 81, 0.8), rgba(11, 16, 23, 0.96));
}

.mm-legal-contact p {
	margin: 14px 0 0;
	color: #dce4ee;
	font-size: 17px;
}

.mm-legal-page a {
	color: var(--mm-accent);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Cookie consent */
.cky-consent-container {
	left: 22px !important;
	bottom: 22px !important;
	width: min(430px, calc(100vw - 44px)) !important;
	border: 1px solid var(--mm-line) !important;
	border-radius: var(--mm-radius) !important;
	box-shadow: 0 24px 70px rgba(0, 0, 0, 0.48) !important;
}

.cky-consent-bar,
.cky-preference-center,
.cky-modal {
	border-color: var(--mm-line) !important;
	border-radius: var(--mm-radius) !important;
	background: rgba(16, 21, 29, 0.98) !important;
	color: var(--mm-text) !important;
}

.cky-title,
.cky-preference-title,
.cky-accordion-btn,
.cky-notice-des,
.cky-preference-content-wrapper,
.cky-accordion-header-des,
.cky-empty-cookies-text {
	color: var(--mm-text) !important;
}

.cky-title {
	font-size: 18px !important;
	font-weight: 700 !important;
	letter-spacing: -0.02em;
}

.cky-notice-des,
.cky-preference-content-wrapper,
.cky-accordion-header-des {
	color: var(--mm-muted) !important;
	font-size: 13px !important;
	line-height: 1.65 !important;
}

.cky-notice-btn-wrapper .cky-btn,
.cky-prefrence-btn-wrapper .cky-btn {
	min-height: 42px;
	border: 1px solid rgba(118, 174, 252, 0.52) !important;
	border-radius: 999px !important;
	background: transparent !important;
	color: var(--mm-text) !important;
	font-size: 12px !important;
	font-weight: 680 !important;
	letter-spacing: 0.05em;
	transition: transform 180ms ease, border-color 180ms ease, background 180ms ease, box-shadow 180ms ease !important;
}

.cky-notice-btn-wrapper .cky-btn:hover,
.cky-prefrence-btn-wrapper .cky-btn:hover {
	border-color: var(--mm-accent) !important;
	background: rgba(118, 174, 252, 0.1) !important;
	transform: translateY(-1px);
}

.cky-notice-btn-wrapper .cky-btn-accept,
.cky-prefrence-btn-wrapper .cky-btn-accept,
.cky-prefrence-btn-wrapper .cky-btn-preferences {
	border-color: var(--mm-accent) !important;
	background: linear-gradient(135deg, #9bc6ff, var(--mm-accent)) !important;
	color: #07101d !important;
}

.cky-notice-btn-wrapper .cky-btn:focus-visible,
.cky-prefrence-btn-wrapper .cky-btn:focus-visible,
.cky-btn-close:focus-visible,
.cky-btn-revisit:focus-visible {
	outline: 3px solid #9bc6ff !important;
	outline-offset: 3px !important;
	box-shadow: 0 0 0 6px rgba(118, 174, 252, 0.18) !important;
}

.cky-notice-btn-wrapper .cky-btn:active,
.cky-prefrence-btn-wrapper .cky-btn:active {
	transform: translateY(0);
}

.cky-overlay {
	background: #020408 !important;
	opacity: 0.72 !important;
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}

.cky-preference-header,
.cky-footer-wrapper,
.cky-accordion-item {
	border-color: var(--mm-line) !important;
}

.cky-accordion-item,
.cky-audit-table {
	background: var(--mm-surface-raised) !important;
}

.cky-btn-close img,
.cky-btn-revisit img {
	filter: brightness(0) invert(1);
}

.cky-btn-revisit-wrapper {
	left: 20px !important;
	bottom: 20px !important;
	width: 48px !important;
	height: 48px !important;
	border: 1px solid rgba(118, 174, 252, 0.5) !important;
	background: linear-gradient(145deg, rgba(27, 43, 64, 0.98), rgba(11, 16, 23, 0.98)) !important;
	box-shadow: inset 0 1px rgba(255, 255, 255, 0.08), 0 14px 36px rgba(0, 0, 0, 0.34), 0 0 0 5px rgba(118, 174, 252, 0.08) !important;
	transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease !important;
}

.cky-btn-revisit-wrapper:hover {
	border-color: var(--mm-accent) !important;
	box-shadow: inset 0 1px rgba(255, 255, 255, 0.12), 0 18px 42px rgba(0, 0, 0, 0.4), 0 0 0 6px rgba(118, 174, 252, 0.13) !important;
	transform: translateY(-2px) scale(1.02);
}

.cky-btn-revisit {
	width: 100% !important;
	height: 100% !important;
	padding: 12px !important;
}

.cky-btn-revisit img {
	width: 22px !important;
	height: 22px !important;
	opacity: 0.92;
}

@media (max-width: 849px) {
	#header #masthead,
	#header .header-main,
	#header .header-inner {
		height: 64px;
		min-height: 64px;
	}

	#header .header-inner {
		padding-inline: 18px;
	}

	#logo img {
		content: url("seo/filmmaker-site-icon-512.png");
		width: 42px !important;
		height: 42px !important;
		max-height: 42px !important;
		border-radius: 8px;
	}

	#logo {
		margin-right: 0;
	}

	#logo a::after {
		display: none;
	}

	#header .mobile-nav .nav-icon a {
		color: #fff;
	}

	body .banner .text-box {
		width: calc(100% - 36px) !important;
		left: 18px !important;
	}

	body .banner h1,
	body .banner h2,
	body .banner h3 {
		font-size: clamp(38px, 11vw, 56px);
	}

	.home #content > .banner:first-child {
		height: calc(100svh - 64px);
		min-height: 600px;
	}

	.home #content > .banner:first-child .banner-bg img {
		object-position: 64% 50% !important;
	}

	.home #content > .banner:first-child .text-box,
	.page-id-495 .row-main .banner:first-of-type .text-box,
	.page-id-88 #content > .banner:first-of-type .text-box,
	.page-id-86 #content > .banner:first-of-type .text-box {
		bottom: 44px;
	}

	.home #content > .section {
		padding: 28px 14px !important;
	}

	.home #content > .section .col {
		padding: 6px;
	}

	.page-id-495 #content.page-wrapper {
		padding-inline: 16px;
	}

	.page-id-495 .row-main .banner:first-of-type {
		height: 58svh;
		min-height: 480px;
	}

	.page-id-495 .video.video-fit {
		border-radius: 12px;
	}

	.page-id-495 .mm-video-grid {
		grid-template-columns: 1fr;
		gap: 16px;
		margin-top: 32px;
	}

	.page-id-495 .mm-video-card-shell:first-child {
		grid-column: auto;
		aspect-ratio: 16 / 9;
	}

	.mm-video-card-copy {
		right: 16px;
		bottom: 16px;
		left: 16px;
		gap: 12px;
	}

	.mm-video-play {
		flex-basis: 46px;
		width: 46px;
		height: 46px;
	}

	.mm-video-modal {
		padding: 12px;
	}

	.mm-video-modal-dialog {
		width: calc(100vw - 24px);
		border-radius: 14px;
	}

	.mm-video-modal-header {
		min-height: 56px;
		padding: 10px 10px 10px 16px;
	}

	.page-id-88 #content > .banner:first-of-type {
		height: 62svh;
		min-height: 500px;
	}

	.page-id-88 #content > .stack {
		padding: 34px 16px 44px;
	}

	.mm-about-story {
		padding: 60px 18px 0;
	}

	.mm-about-intro,
	.mm-about-process {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.mm-about-copy {
		padding-top: 0;
	}

	.mm-about-principles {
		grid-template-columns: 1fr;
		gap: 14px;
		margin-top: 54px;
	}

	.mm-about-principle {
		min-height: 0;
		padding: 24px;
	}

	.mm-about-number {
		margin-bottom: 36px;
	}

	.mm-about-process {
		margin-top: 64px;
		padding: 30px 24px;
		border-radius: 18px;
	}

	.mm-about-step {
		grid-template-columns: 82px minmax(0, 1fr);
		gap: 14px;
	}

	.mm-about-cta {
		align-items: flex-start;
		flex-direction: column;
		padding: 60px 0;
	}

	.mm-about-cta-links {
		width: 100%;
		flex-wrap: wrap;
	}

	.mm-about-link {
		flex: 1 1 170px;
	}

	.mm-about-tools-heading {
		margin-bottom: 30px;
	}

	.page-id-88 #content > .stack .col-inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	.page-id-88 #content > .stack .img {
		min-height: 100px;
		padding: 20px;
	}

	.page-id-86 #content > .banner:first-of-type {
		height: calc(100svh - 64px);
		min-height: 600px;
	}

	.page-id-86 #content > .banner:first-of-type .banner-bg img {
		object-position: 54% 50%;
	}

	.page-id-86 #content > .banner:first-of-type .text-box {
		bottom: 94px;
	}

	.mm-contact-actions {
		grid-template-columns: 1fr;
		gap: 10px;
		width: calc(100vw - 36px);
		margin-top: 16px;
	}

	.mm-contact-action.is-primary {
		grid-column: auto;
	}

	.mm-contact-action,
	.mm-contact-action.is-primary {
		min-height: 66px;
		padding: 11px 14px;
	}

	.mm-footer-shell {
		grid-template-columns: 1fr;
		gap: 28px;
		padding-top: 38px;
	}

	.mm-footer-brand {
		justify-content: center;
		text-align: left;
	}

	.mm-footer-nav {
		flex-wrap: wrap;
		justify-content: center;
	}

	.mm-footer-meta {
		align-items: center;
		flex-direction: column;
		grid-column: 1;
		text-align: center;
	}

	.mm-footer-legal {
		flex-wrap: wrap;
		justify-content: center;
	}

	.mm-legal-page {
		padding: 58px 18px 90px;
	}

	.mm-legal-header {
		margin-bottom: 38px;
		padding-bottom: 34px;
	}

	.mm-legal-section {
		grid-template-columns: 1fr;
		gap: 16px;
		padding: 28px 0;
	}

	.mm-legal-section > p,
	.mm-legal-section > ul,
	.mm-legal-section > h2 + p,
	.mm-legal-section > h2 + ul {
		grid-column: 1;
		grid-row: auto;
	}

	.mm-legal-contact {
		padding: 26px 22px;
	}

	.cky-consent-container {
		left: 14px !important;
		bottom: 74px !important;
		width: calc(100vw - 28px) !important;
	}

	.cky-btn-revisit-wrapper {
		left: 14px !important;
		bottom: 14px !important;
		width: 44px !important;
		height: 44px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}
