/*
Theme Name: Møbelsnedkerforeningen
Theme URI: https://moebelsnedkerforeningen.dk/
Author: Møbelsnedkerforeningen
Description: Custom theme for Møbelsnedkerforeningen.
Version: 0.5.1
Requires at least: 7.1
Requires PHP: 8.3
Text Domain: msf
*/

:root {
	--msf-paper: #f2eee5;
	--msf-canvas: #e6dfd3;
	--msf-charcoal: #1d1d1a;
	--msf-turquoise: #62bcca;
	--msf-alder: #dccdb8;
	--msf-forest: #24332b;
	--msf-white: #ffffff;
	--msf-muted: #6e6a62;
	--msf-rule: rgba(29, 29, 26, 0.22);
	--msf-font-display: "Domaine Display", Georgia, "Times New Roman", serif;
	--msf-font-sans: "Apercu Pro", "Helvetica Neue", Arial, sans-serif;
	--msf-container: 1440px;
	--msf-gutter: clamp(20px, 3.4vw, 52px);
	--msf-section-space: clamp(64px, 8vw, 128px);
}

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

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	color: var(--msf-charcoal);
	background: var(--msf-canvas);
	font-family: var(--msf-font-sans);
	font-size: 16px;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
}

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

a {
	color: inherit;
}

a:focus-visible,
button:focus-visible,
summary:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
	outline: 3px solid var(--msf-paper);
	outline-offset: 3px;
	box-shadow: 0 0 0 5px var(--msf-charcoal);
}

.msf-skip-link {
	position: fixed;
	top: 12px;
	left: max(12px, calc((100vw - var(--msf-container)) / 2 + 12px));
	z-index: 10000;
	min-height: 44px;
	padding: 11px 18px;
	transform: translateY(-200%);
	background: var(--msf-paper);
	color: var(--msf-charcoal);
	font-size: 14px;
	font-weight: 600;
}

.msf-skip-link:focus {
	transform: translateY(0);
}

#main:focus {
	outline: none;
}

.msf-site {
	width: 100%;
	max-width: var(--msf-container);
	min-height: 100vh;
	margin-inline: auto;
	background: var(--msf-paper);
}

.msf-container {
	width: 100%;
	padding-inline: var(--msf-gutter);
}

.msf-site-header {
	position: relative;
	z-index: 10;
	border-bottom: 1px solid var(--msf-rule);
	background: var(--msf-paper);
}

.msf-site-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 96px;
	gap: 40px;
}

.msf-site-brand {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 44px;
	text-decoration: none;
}

.msf-site-title {
	font-size: 18px;
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 22px;
	text-transform: uppercase;
}

.msf-site-subtitle {
	color: var(--msf-muted);
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0.14em;
	line-height: 14px;
	text-transform: uppercase;
}

.msf-site-nav {
	display: flex;
	align-items: center;
	gap: clamp(24px, 3vw, 52px);
	font-size: 12px;
}

.msf-site-nav a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	text-decoration: none;
}

.msf-site-nav a:hover,
.msf-site-nav a:focus-visible,
.msf-site-nav a[aria-current="page"],
.msf-editorial-link:hover,
.msf-editorial-link:focus-visible {
	text-decoration: underline;
	text-underline-offset: 4px;
}

.msf-mobile-menu {
	display: none;
}

.msf-kicker {
	margin: 0 0 24px;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.18em;
	line-height: 1.4;
	text-transform: uppercase;
}

.msf-project-hero {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	min-height: min(710px, calc(100vh - 96px));
	background: var(--msf-forest);
	color: var(--msf-paper);
}

.msf-project-hero__content {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: clamp(40px, 4.6vw, 72px) var(--msf-gutter);
}

.msf-project-hero__title {
	max-width: 720px;
	margin: 0;
	font-family: var(--msf-font-display);
	font-size: clamp(62px, 6.6vw, 106px);
	font-weight: 400;
	letter-spacing: -0.045em;
	line-height: 0.92;
}

.msf-project-hero__footer {
	max-width: 570px;
}

.msf-project-hero__intro {
	margin: 0 0 52px;
	font-size: clamp(16px, 1.25vw, 20px);
	line-height: 1.65;
}

.msf-project-hero__meta {
	margin: 0;
	color: var(--msf-turquoise);
	font-size: 12px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.msf-project-hero__media {
	min-height: 520px;
	background: var(--msf-charcoal);
}

.msf-project-hero__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.msf-project-focus {
	background: var(--msf-turquoise);
	color: var(--msf-forest);
}

.msf-project-focus__inner {
	display: grid;
	grid-template-columns: minmax(0, 4fr) minmax(180px, 1fr);
	align-items: end;
	gap: 64px;
	padding-block: clamp(52px, 6vw, 86px);
}

.msf-project-focus__question {
	max-width: 1080px;
	margin: 0;
	font-family: var(--msf-font-display);
	font-size: clamp(42px, 4.5vw, 72px);
	font-weight: 400;
	letter-spacing: -0.035em;
	line-height: 1.05;
}

.msf-project-focus__tags {
	margin: 0 0 8px;
	font-size: 12px;
	line-height: 1.6;
}

.msf-project-story {
	display: grid;
	grid-template-columns: 1fr 1fr;
	background: var(--msf-paper);
}

.msf-project-story__content {
	display: flex;
	flex-direction: column;
	min-height: 720px;
	padding: clamp(58px, 6vw, 92px) var(--msf-gutter);
}

.msf-project-story__content h2,
.msf-project-story__content h3,
.msf-section-title {
	margin: 0 0 1em;
	font-family: var(--msf-font-display);
	font-size: clamp(42px, 4.1vw, 66px);
	font-weight: 400;
	letter-spacing: -0.035em;
	line-height: 1.04;
}

.msf-project-story__body {
	max-width: 640px;
	font-size: 17px;
	line-height: 1.75;
}

.msf-project-story__body > *:first-child {
	margin-top: 0;
}

.msf-project-story__body blockquote {
	margin: 2em 0;
	padding-left: 24px;
	border-left: 2px solid var(--msf-turquoise);
	font-family: var(--msf-font-display);
	font-size: 1.5em;
}

.msf-project-story__links {
	display: flex;
	flex-wrap: wrap;
	gap: 16px 32px;
	margin-top: auto;
	padding-top: 48px;
}

.msf-editorial-link {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	min-width: min(300px, 100%);
	min-height: 48px;
	padding: 0 4px 0 20px;
	border: 1px solid currentColor;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.04em;
	text-decoration: none;
	text-transform: uppercase;
}

.msf-editorial-link__arrow {
	font-size: 18px;
	font-weight: 400;
	line-height: 1;
}

.msf-project-story__media {
	min-height: 720px;
	background: var(--msf-alder);
}

.msf-project-story__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.msf-project-gallery {
	padding-block: var(--msf-section-space);
	background: #eae4d8;
}

.msf-project-gallery__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(16px, 2vw, 30px);
}

.msf-project-gallery__item {
	margin: 0;
	overflow: hidden;
	background: var(--msf-alder);
}

.msf-project-gallery__item img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	transition: transform 350ms ease;
}

.msf-project-gallery__item:hover img {
	transform: scale(1.015);
}

.msf-project-footer {
	padding-block: clamp(44px, 5vw, 72px);
	background: var(--msf-charcoal);
	color: var(--msf-paper);
}

.msf-project-footer__grid {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: clamp(32px, 4vw, 64px);
}

.msf-project-card {
	min-height: 260px;
	padding: clamp(28px, 3vw, 48px);
	background: #272722;
}

.msf-project-card--download {
	background: var(--msf-turquoise);
	color: var(--msf-forest);
}

.msf-project-card__title {
	margin: 0 0 26px;
	font-family: var(--msf-font-display);
	font-size: clamp(30px, 3vw, 46px);
	font-weight: 400;
	letter-spacing: -0.025em;
	line-height: 1.05;
}

.msf-project-card__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.msf-project-card__list li + li {
	margin-top: 12px;
}

.msf-project-card__meta {
	margin: 0 0 24px;
	font-size: 12px;
}

.msf-project-download {
	display: block;
	padding-block: 18px;
	border-top: 1px solid currentColor;
	text-decoration: none;
}

.msf-project-download:last-child {
	border-bottom: 1px solid currentColor;
}

.msf-project-download span {
	display: block;
}

.msf-project-download__title {
	font-family: var(--msf-font-display);
	font-size: 28px;
	line-height: 1.1;
}

.msf-project-download__meta {
	margin-top: 6px;
	font-size: 12px;
	text-transform: uppercase;
}

.msf-home h1,
.msf-home h2,
.msf-home h3,
.msf-home blockquote {
	font-family: var(--msf-font-display);
	font-weight: 400;
	letter-spacing: -0.04em;
}

.msf-home h1,
.msf-home h2,
.msf-home h3 {
	overflow-wrap: normal;
	word-break: normal;
	hyphens: manual;
}

.msf-home h2 {
	margin: 0;
	font-size: clamp(48px, 5.25vw, 76px);
	line-height: 0.98;
}

.msf-home-lead {
	font-size: clamp(16px, 1.35vw, 20px);
	line-height: 1.65;
}

.msf-home-caption {
	margin: 0;
	font-size: 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.msf-text-link {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	font-size: 12px;
	letter-spacing: 0.08em;
	text-decoration: none;
	text-transform: uppercase;
}

.msf-text-link:hover,
.msf-text-link:focus-visible {
	text-decoration: underline;
	text-underline-offset: 4px;
}

.msf-home-hero {
	display: grid;
	grid-template-columns: 3fr 5fr;
	min-height: 864px;
	background: var(--msf-turquoise);
	color: var(--msf-forest);
}

.msf-home-hero__content {
	display: flex;
	min-width: 0;
	flex-direction: column;
	justify-content: space-between;
	padding: clamp(52px, 5vw, 76px) var(--msf-gutter) clamp(44px, 4vw, 64px);
}

.msf-home-hero h1 {
	max-width: 520px;
	margin: 0;
	font-size: clamp(68px, 6.7vw, 98px);
	line-height: 0.88;
}

.msf-home-hero__footer > p {
	max-width: 430px;
	margin: 0 0 56px;
	font-size: clamp(16px, 1.25vw, 19px);
	line-height: 1.65;
}

.msf-home-discover {
	display: inline-flex;
	align-items: center;
	gap: 16px;
	min-height: 44px;
	font-size: 12px;
	letter-spacing: 0.11em;
	text-decoration: none;
	text-transform: uppercase;
}

.msf-home-hero__media {
	position: relative;
	min-width: 0;
	background: var(--msf-alder);
}

.msf-home-hero__media > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.msf-home-hero__badge {
	position: absolute;
	top: 28px;
	right: 28px;
	display: flex;
	align-items: center;
	gap: 18px;
	padding: 10px 12px;
	background: var(--msf-paper);
	font-size: 12px;
	letter-spacing: 0.12em;
}

.msf-home-hero__badge strong {
	font-size: 14px;
}

.msf-home-about {
	display: grid;
	grid-template-columns: 7fr 5fr;
	min-height: 720px;
}

.msf-home-about__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: clamp(64px, 7vw, 100px) var(--msf-gutter);
}

.msf-home-about__content h2 {
	max-width: 680px;
}

.msf-home-about__content .msf-home-lead {
	max-width: 610px;
	margin: 52px 0 64px;
}

.msf-home-about__content .msf-editorial-link {
	margin-top: auto;
}

.msf-home-about__material {
	display: grid;
	grid-template-rows: 7fr 5fr;
	background: var(--msf-alder);
}

.msf-home-about__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.msf-home-material-card {
	display: flex;
	flex-direction: column;
	padding: 36px 40px 32px;
}

.msf-home-material-card blockquote {
	max-width: 480px;
	margin: 0;
	font-size: clamp(33px, 3vw, 44px);
	line-height: 1.05;
}

.msf-home-material-card .msf-home-caption {
	margin-top: auto;
}

.msf-home-project {
	display: grid;
	grid-template-columns: 1fr 2fr;
	min-height: 960px;
	background: var(--msf-forest);
	color: var(--msf-paper);
}

.msf-home-project__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 58px 40px 44px var(--msf-gutter);
}

.msf-home-project__eyebrow {
	margin: 66px 0 18px;
	color: var(--msf-turquoise);
	font-size: 12px;
	letter-spacing: 0.16em;
}

.msf-home-project__content h2 {
	font-size: clamp(54px, 5.5vw, 78px);
}

.msf-home-project__content .msf-home-lead {
	margin: 44px 0 52px;
}

.msf-editorial-link--light {
	color: var(--msf-paper);
}

.msf-home-project__meta {
	margin: auto 0 0;
	color: var(--msf-turquoise);
	font-size: 12px;
	letter-spacing: 0.12em;
}

.msf-home-project__visuals {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 2fr 1fr;
	min-width: 0;
}

.msf-home-project__primary {
	grid-column: 1 / -1;
}

.msf-home-project__primary img,
.msf-home-project__secondary img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.msf-home-project__panel {
	display: flex;
	flex-direction: column;
	padding: 32px 36px 28px;
	background: var(--msf-turquoise);
	color: var(--msf-forest);
}

.msf-home-project__panel blockquote {
	margin: 0;
	font-size: clamp(30px, 2.8vw, 42px);
	line-height: 1.03;
}

.msf-home-project__panel .msf-home-caption {
	margin-top: auto;
}

.msf-home-exhibitions {
	padding: clamp(72px, 8vw, 112px) var(--msf-gutter);
}

.msf-home-section-head {
	display: grid;
	grid-template-columns: 7fr 5fr;
	gap: clamp(44px, 6vw, 88px);
	margin-bottom: 72px;
}

.msf-home-section-head > div:last-child {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-end;
}

.msf-home-section-head > div:last-child p {
	max-width: 490px;
	margin: 0 0 42px;
	font-size: 17px;
	line-height: 1.65;
}

.msf-home-exhibitions__grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: 28px;
	align-items: start;
}

.msf-work-card:nth-child(1) { grid-column: 1 / span 4; }
.msf-work-card:nth-child(2) { grid-column: 5 / span 3; margin-top: 118px; }
.msf-work-card:nth-child(3) { grid-column: 8 / span 3; margin-top: 30px; }
.msf-work-card:nth-child(4) { grid-column: 11 / span 2; margin-top: 168px; }

.msf-work-card__image {
	display: block;
	margin-bottom: 24px;
	background: #e8e1d4;
}

.msf-work-card__image img {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

.msf-work-card .msf-kicker {
	margin-bottom: 10px;
	font-size: 12px;
}

.msf-work-card h3 {
	margin: 0;
	font-size: clamp(25px, 2.2vw, 34px);
	line-height: 1.05;
}

.msf-work-card > p:not(.msf-kicker) {
	margin: 8px 0;
	font-size: 12px;
}

.msf-home-members {
	display: grid;
	grid-template-columns: 5fr 7fr;
	min-height: 720px;
	background: var(--msf-charcoal);
	color: var(--msf-paper);
}

.msf-home-members__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.msf-home-members__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: clamp(64px, 7vw, 100px) var(--msf-gutter);
}

.msf-home-members__content h2 {
	max-width: 710px;
}

.msf-home-members__content .msf-home-lead {
	max-width: 590px;
	margin: 52px 0;
}

.msf-home-members__content .msf-editorial-link {
	margin-top: auto;
}

.msf-home-news {
	padding: clamp(72px, 8vw, 112px) var(--msf-gutter);
}

.msf-home-news > header {
	margin-bottom: 58px;
}

.msf-home-news__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
}

.msf-news-card {
	display: flex;
	flex-direction: column;
	min-height: 470px;
	border-top: 1px solid var(--msf-charcoal);
}

.msf-news-card__image {
	height: 210px;
}

.msf-news-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.msf-news-card__content {
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: flex-start;
	padding: 24px 4px 0;
}

.msf-news-card h3 {
	margin: 0;
	font-size: clamp(28px, 2.5vw, 38px);
	line-height: 1.04;
}

.msf-news-card .msf-text-link {
	margin-top: auto;
}

.msf-news-card--feature {
	border-top: 0;
	background: var(--msf-turquoise);
	color: var(--msf-forest);
}

.msf-news-card--feature .msf-news-card__content {
	padding: 34px 32px 28px;
}

.msf-home-collaborations {
	display: grid;
	grid-template-columns: 7fr 5fr;
	gap: clamp(44px, 6vw, 88px);
	padding: 62px var(--msf-gutter);
	background: var(--msf-alder);
}

.msf-home-collaborations h2 {
	max-width: 760px;
	font-size: clamp(42px, 4.3vw, 62px);
}

.msf-home-collaborations > div:last-child {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-end;
}

.msf-home-collaborations > div:last-child p {
	max-width: 520px;
	margin: 0 0 32px;
	line-height: 1.65;
}

.msf-site-footer {
	padding: 64px var(--msf-gutter) 24px;
	border-top: 1px solid rgba(242, 238, 229, 0.18);
	background: var(--msf-charcoal);
	color: var(--msf-paper);
}

.msf-site-footer__inner {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr;
	gap: 48px;
	min-height: 230px;
}

.msf-site-footer__intro strong {
	font-family: var(--msf-font-display);
	font-size: clamp(32px, 3.2vw, 46px);
	font-weight: 400;
	letter-spacing: -0.03em;
}

.msf-site-footer__intro p {
	max-width: 430px;
	font-size: 15px;
}

.msf-site-footer nav {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.msf-site-footer nav span,
.msf-site-footer__base {
	font-size: 12px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.msf-member-area__hero {
	display: flex;
	min-height: 520px;
	padding: clamp(64px, 8vw, 116px) var(--msf-gutter);
	flex-direction: column;
	justify-content: flex-end;
	background: var(--msf-forest);
	color: var(--msf-paper);
}

.msf-member-area__hero h1 {
	max-width: 960px;
	margin: 0;
	font-family: var(--msf-font-display);
	font-size: clamp(62px, 7.6vw, 110px);
	font-weight: 400;
	letter-spacing: -0.05em;
	line-height: 0.92;
	overflow-wrap: normal;
	word-break: normal;
}

.msf-member-area__hero > p:last-child {
	max-width: 620px;
	margin: 52px 0 0 auto;
	font-size: clamp(16px, 1.35vw, 20px);
	line-height: 1.65;
}

.msf-member-area__layout {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(300px, 1fr);
	gap: 1px;
	background: var(--msf-rule);
}

.msf-member-documents,
.msf-member-account {
	padding: var(--msf-section-space) var(--msf-gutter);
	background: var(--msf-paper);
}

.msf-member-area__section-head h2,
.msf-member-account h2 {
	margin: 0;
	font-family: var(--msf-font-display);
	font-size: clamp(42px, 4.4vw, 64px);
	font-weight: 400;
	letter-spacing: -0.04em;
	line-height: 1;
}

.msf-member-documents__list {
	margin-top: clamp(52px, 6vw, 84px);
	border-top: 1px solid var(--msf-rule);
}

.msf-member-document {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 32px;
	padding-block: 34px;
	align-items: end;
	border-bottom: 1px solid var(--msf-rule);
}

.msf-member-document .msf-kicker {
	margin-bottom: 12px;
}

.msf-member-document h3 {
	margin: 0;
	font-family: var(--msf-font-display);
	font-size: clamp(30px, 3vw, 46px);
	font-weight: 400;
	letter-spacing: -0.035em;
	line-height: 1;
}

.msf-member-document p,
.msf-member-document__description {
	max-width: 670px;
}

.msf-member-document__unavailable {
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.msf-member-documents__empty {
	margin-top: 52px;
	padding: 32px 0;
	border-block: 1px solid var(--msf-rule);
}

.msf-member-account {
	background: var(--msf-alder);
}

.msf-member-account > p:not(.msf-kicker) {
	margin: 24px 0 48px;
	overflow-wrap: anywhere;
}

.msf-member-account nav {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	border-top: 1px solid var(--msf-rule);
}

.msf-member-account .msf-text-link {
	width: 100%;
	justify-content: space-between;
	border-bottom: 1px solid var(--msf-rule);
}

@media (max-width: 900px) {
	.msf-member-area__layout {
		grid-template-columns: 1fr;
	}

	.msf-member-account {
		order: -1;
	}
}

@media (max-width: 720px) {
	.msf-member-area__hero {
		min-height: 520px;
		padding: 52px 20px 42px;
	}

	.msf-member-area__hero h1 {
		font-size: clamp(54px, 16vw, 72px);
	}

	.msf-member-area__hero > p:last-child {
		margin: 42px 0 0;
	}

	.msf-member-documents,
	.msf-member-account {
		padding: 64px 20px;
	}

	.msf-member-document {
		grid-template-columns: 1fr;
		align-items: start;
	}

	.msf-member-document .msf-editorial-link {
		width: 100%;
	}
}

.msf-site-footer nav span {
	margin-bottom: 18px;
	color: var(--msf-turquoise);
	font-size: 12px;
}

.msf-site-footer nav a {
	display: flex;
	align-items: center;
	min-height: 36px;
	font-size: 12px;
	text-decoration: none;
}

.msf-site-footer nav a[aria-current="page"] {
	text-decoration: underline;
	text-underline-offset: 4px;
}

.msf-site-footer__base {
	display: flex;
	justify-content: space-between;
	gap: 24px;
	padding-top: 22px;
	border-top: 1px solid rgba(242, 238, 229, 0.18);
}

.msf-archive-hero {
	display: flex;
	min-height: 460px;
	padding: clamp(62px, 8vw, 112px) var(--msf-gutter);
	flex-direction: column;
	justify-content: flex-end;
	background: var(--msf-alder);
}

.msf-archive-hero--turquoise {
	background: var(--msf-turquoise);
	color: var(--msf-forest);
}

.msf-archive-hero--dark {
	background: var(--msf-charcoal);
	color: var(--msf-paper);
}

.msf-archive-hero h1,
.msf-content-hero h1,
.msf-member-hero h1 {
	max-width: 1060px;
	margin: 0;
	font-family: var(--msf-font-display);
	font-size: clamp(66px, 8vw, 116px);
	font-weight: 400;
	letter-spacing: -0.05em;
	line-height: 0.9;
	overflow-wrap: normal;
	word-break: normal;
	hyphens: manual;
}

.msf-content-hero h1,
.msf-member-hero h1 {
	font-size: clamp(54px, 7vw, 100px);
}

.msf-archive-hero > p:last-child {
	max-width: 610px;
	margin: 44px 0 0 auto;
	font-size: 18px;
	line-height: 1.65;
}

.msf-archive-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(42px, 5vw, 76px) clamp(20px, 3vw, 40px);
	padding: var(--msf-section-space) var(--msf-gutter);
}

.msf-archive-grid--count-1 {
	grid-template-columns: minmax(0, 640px);
}

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

.msf-archive-card {
	display: flex;
	min-width: 0;
	flex-direction: column;
	align-items: flex-start;
}

.msf-archive-card__media {
	display: flex;
	width: 100%;
	aspect-ratio: 4 / 5;
	margin-bottom: 26px;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	background: var(--msf-alder);
	font-family: var(--msf-font-display);
	font-size: clamp(44px, 6vw, 88px);
	text-decoration: none;
}

.msf-archive--news .msf-archive-card__media {
	aspect-ratio: 16 / 10;
}

.msf-archive-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 350ms ease;
}

.msf-archive-card__media:hover img {
	transform: scale(1.015);
}

.msf-archive-card .msf-kicker {
	margin-bottom: 12px;
}

.msf-archive-card h2 {
	margin: 0;
	font-family: var(--msf-font-display);
	font-size: clamp(34px, 3.2vw, 50px);
	font-weight: 400;
	letter-spacing: -0.035em;
	line-height: 0.98;
}

.msf-archive-card h2 a {
	text-decoration: none;
}

.msf-archive-card > p:not(.msf-kicker) {
	margin: 18px 0;
	line-height: 1.65;
}

.msf-archive-card .msf-text-link {
	margin-top: auto;
}

.msf-member-card .msf-archive-card__media {
	background: var(--msf-turquoise);
	color: var(--msf-forest);
}

.msf-member-monogram {
	font-family: var(--msf-font-display);
	font-size: clamp(100px, 18vw, 240px);
	font-weight: 400;
	line-height: 1;
}

.msf-content-hero,
.msf-member-hero {
	display: grid;
	grid-template-columns: 5fr 7fr;
	min-height: 680px;
	background: var(--msf-forest);
	color: var(--msf-paper);
}

.msf-content-hero--turquoise {
	background: var(--msf-turquoise);
	color: var(--msf-forest);
}

.msf-content-hero__copy,
.msf-member-hero__copy {
	display: flex;
	min-width: 0;
	padding: clamp(48px, 6vw, 84px) var(--msf-gutter);
	flex-direction: column;
	justify-content: space-between;
}

.msf-content-hero__copy > p:last-child {
	max-width: 540px;
	margin: 48px 0 0;
	font-size: clamp(16px, 1.35vw, 20px);
	line-height: 1.65;
}

.msf-content-hero__media,
.msf-member-hero__media {
	min-width: 0;
	background: var(--msf-charcoal);
}

.msf-content-hero__media img,
.msf-member-hero__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.msf-content-placeholder {
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, var(--msf-charcoal) 0 50%, #282821 50% 100%);
}

.msf-content-meta-band {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 30px;
	padding: 38px var(--msf-gutter);
	background: var(--msf-turquoise);
	color: var(--msf-forest);
}

.msf-content-meta-band p {
	margin: 0;
	font-family: var(--msf-font-display);
	font-size: clamp(28px, 3.4vw, 48px);
	line-height: 1;
}

.msf-content-meta-band span {
	display: block;
	margin-bottom: 12px;
	font-family: var(--msf-font-sans);
	font-size: 12px;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}

.msf-content-story {
	padding: var(--msf-section-space) max(var(--msf-gutter), calc((100% - 920px) / 2));
}

.msf-content-story__body {
	max-width: 800px;
	font-size: clamp(17px, 1.4vw, 20px);
	line-height: 1.8;
}

.msf-content-story__body > *:first-child {
	margin-top: 0;
}

.msf-content-story__body h2,
.msf-content-story__body h3 {
	margin: 1.4em 0 0.5em;
	font-family: var(--msf-font-display);
	font-size: clamp(38px, 4.2vw, 62px);
	font-weight: 400;
	letter-spacing: -0.035em;
	line-height: 1;
}

.msf-content-story__body blockquote {
	margin: 2.4em 0;
	padding-left: 24px;
	border-left: 2px solid var(--msf-turquoise);
	font-family: var(--msf-font-display);
	font-size: 1.6em;
	line-height: 1.15;
}

.msf-content-gallery {
	padding: var(--msf-section-space) var(--msf-gutter);
	background: #eae4d8;
}

.msf-content-gallery__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(16px, 2vw, 30px);
}

.msf-content-gallery__grid--count-1 {
	grid-template-columns: minmax(0, 880px);
}

.msf-content-gallery__grid--count-2,
.msf-content-gallery__grid--count-4 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.msf-content-gallery__grid--count-5 {
	grid-template-columns: repeat(6, minmax(0, 1fr));
}

.msf-content-gallery__grid--count-5 figure {
	grid-column: span 2;
}

.msf-content-gallery__grid--count-5 figure:nth-last-child(-n + 2) {
	grid-column: span 3;
}

.msf-content-gallery figure {
	margin: 0;
	background: var(--msf-alder);
}

.msf-content-gallery img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.msf-content-footer-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	padding: 1px;
	background: rgba(242, 238, 229, 0.16);
	color: var(--msf-paper);
}

.msf-content-footer-grid article {
	min-height: 330px;
	padding: clamp(34px, 4vw, 56px);
	background: var(--msf-charcoal);
}

.msf-content-footer-grid ul {
	margin: 0;
	padding: 0;
	list-style: none;
	line-height: 1.8;
}

.msf-content-downloads {
	background: var(--msf-turquoise) !important;
	color: var(--msf-forest);
}

.msf-content-related {
	display: flex;
	padding: 30px var(--msf-gutter);
	flex-wrap: wrap;
	gap: 16px 28px;
	background: var(--msf-alder);
}

.msf-member-hero {
	grid-template-columns: 5fr 7fr;
}

.msf-member-hero__media {
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--msf-turquoise);
	color: var(--msf-forest);
}

.msf-member-hero__copy h1 {
	margin-top: auto;
}

.msf-member-hero__links {
	display: flex;
	margin-top: auto;
	flex-wrap: wrap;
	gap: 14px 20px;
}

.msf-content-related--cards {
	padding-block: var(--msf-section-space);
}

.msf-content-related--cards > .msf-kicker {
	width: 100%;
}

.navigation.pagination {
	padding: 0 var(--msf-gutter) var(--msf-section-space);
}

.nav-links {
	display: flex;
	gap: 10px;
}

.page-numbers {
	display: inline-flex;
	min-width: 44px;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	border: 1px solid currentColor;
	text-decoration: none;
}

@media (max-width: 1024px) {
	.msf-archive-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.msf-archive-grid--count-1 {
		grid-template-columns: minmax(0, 640px);
	}

	.msf-content-hero,
	.msf-member-hero {
		grid-template-columns: 1fr 1fr;
		min-height: 620px;
	}

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

	.msf-content-gallery__grid--count-1 {
		grid-template-columns: minmax(0, 1fr);
	}

	.msf-home-hero {
		grid-template-columns: 5fr 7fr;
		min-height: 720px;
	}

	.msf-home-hero h1 {
		font-size: clamp(58px, 7vw, 76px);
	}

	.msf-home-about,
	.msf-home-members {
		grid-template-columns: 1fr 1fr;
	}

	.msf-home-project {
		grid-template-columns: 5fr 7fr;
		min-height: 820px;
	}

	.msf-home-project__visuals {
		grid-template-columns: 1fr;
		grid-template-rows: 3fr 2fr;
	}

	.msf-home-project__secondary {
		display: none;
	}

	.msf-home-exhibitions__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.msf-work-card:nth-child(n) {
		grid-column: auto;
		margin-top: 0;
	}

	.msf-home-news__grid {
		gap: 18px;
	}

	.msf-project-hero {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
		min-height: 620px;
	}

	.msf-project-hero__title {
		font-size: clamp(54px, 6.8vw, 74px);
	}

	.msf-project-focus__inner {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.msf-project-focus__tags {
		max-width: 300px;
	}

	.msf-project-story__content,
	.msf-project-story__media {
		min-height: 620px;
	}
}

@media (max-width: 720px) {
	.msf-archive-hero {
		min-height: 420px;
		padding: 56px 20px;
	}

	.msf-archive-hero h1,
	.msf-content-hero h1,
	.msf-member-hero h1 {
		font-size: clamp(58px, 17vw, 78px);
	}

	.msf-archive-hero > p:last-child {
		margin: 34px 0 0;
	}

	.msf-archive-grid {
		grid-template-columns: 1fr;
		padding: 64px 20px;
	}

	.msf-archive-grid--count-1,
	.msf-archive-grid--count-2 {
		grid-template-columns: 1fr;
	}

	.msf-content-hero,
	.msf-member-hero {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	.msf-content-hero__copy,
	.msf-member-hero__copy {
		min-height: 540px;
		padding: 52px 20px 42px;
	}

	.msf-content-hero__media,
	.msf-member-hero__media {
		min-height: 390px;
	}

	.msf-content-meta-band,
	.msf-content-footer-grid {
		grid-template-columns: 1fr;
	}

	.msf-content-meta-band {
		padding: 34px 20px;
	}

	.msf-content-story,
	.msf-content-gallery {
		padding: 64px 20px;
	}

	.msf-content-gallery__grid {
		grid-template-columns: 1fr;
	}

	.msf-content-gallery__grid--count-5 figure,
	.msf-content-gallery__grid--count-5 figure:nth-last-child(-n + 2) {
		grid-column: auto;
	}

	.msf-content-footer-grid article {
		min-height: 260px;
		padding: 38px 20px;
	}

	.msf-content-related {
		padding: 28px 20px;
	}

	.msf-site-header__inner {
		align-items: center;
		min-height: 76px;
		padding-block: 0;
		gap: 12px;
	}

	.msf-site-brand {
		flex: 0 0 auto;
	}

	.msf-site-title {
		font-size: 13px;
		line-height: 16px;
	}

	.msf-site-subtitle {
		display: none;
	}

	.msf-site-nav {
		display: none;
	}

	.msf-mobile-menu {
		position: relative;
		display: block;
	}

	.msf-mobile-menu summary {
		display: flex;
		align-items: center;
		min-height: 44px;
		font-size: 12px;
		letter-spacing: 0.08em;
		list-style: none;
		text-transform: uppercase;
		cursor: pointer;
	}

	.msf-mobile-menu summary::-webkit-details-marker {
		display: none;
	}

	.msf-mobile-menu nav {
		position: absolute;
		top: 52px;
		right: calc(-1 * var(--msf-gutter));
		display: flex;
		width: min(320px, 100vw);
		padding: 22px var(--msf-gutter);
		flex-direction: column;
		background: var(--msf-paper);
		border: 1px solid var(--msf-rule);
	}

	.msf-mobile-menu nav a {
		display: flex;
		align-items: center;
		min-height: 44px;
		text-decoration: none;
	}

	.msf-home h2 {
		font-size: clamp(45px, 13vw, 58px);
	}

	.msf-home-hero {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	.msf-home-hero__content {
		min-height: 580px;
		padding: 42px 20px 36px;
	}

	.msf-home-hero h1 {
		font-size: clamp(58px, 17vw, 72px);
	}

	.msf-home-hero__footer > p {
		margin-bottom: 30px;
	}

	.msf-home-hero__media {
		min-height: 320px;
	}

	.msf-home-hero__badge {
		top: 16px;
		right: 16px;
	}

	.msf-home-about,
	.msf-home-members,
	.msf-home-project,
	.msf-home-section-head,
	.msf-home-collaborations {
		grid-template-columns: 1fr;
	}

	.msf-home-about__content,
	.msf-home-members__content {
		min-height: 440px;
		padding: 56px 20px;
	}

	.msf-home-about__content .msf-home-lead,
	.msf-home-members__content .msf-home-lead {
		margin: 36px 0 46px;
	}

	.msf-home-about__material {
		min-height: 430px;
	}

	.msf-home-material-card,
	.msf-home-project__panel {
		padding: 28px 20px 24px;
	}

	.msf-home-project__content {
		min-height: 570px;
		padding: 50px 20px 36px;
	}

	.msf-home-project__eyebrow {
		margin-top: 44px;
	}

	.msf-home-project__content h2 {
		font-size: clamp(54px, 15vw, 68px);
	}

	.msf-home-project__visuals {
		grid-template-columns: 1fr;
		grid-template-rows: 350px 250px;
	}

	.msf-home-project__primary {
		grid-column: auto;
	}

	.msf-home-project__secondary {
		display: none;
	}

	.msf-home-exhibitions,
	.msf-home-news {
		padding: 64px 20px;
	}

	.msf-home-section-head {
		gap: 34px;
		margin-bottom: 52px;
	}

	.msf-home-section-head > div:last-child p {
		margin-bottom: 28px;
	}

	.msf-home-exhibitions__grid,
	.msf-home-news__grid {
		gap: 20px;
	}

	.msf-work-card:nth-child(n) {
		width: auto;
		margin: 0;
	}

	.msf-home-exhibitions__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 40px 16px;
	}

	.msf-work-card__image img {
		aspect-ratio: 4 / 4.7;
	}

	.msf-home-members__image {
		aspect-ratio: 390 / 270;
	}

	.msf-home-members__image img {
		height: 100%;
	}

	.msf-home-news__grid {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.msf-news-card {
		min-height: 0;
	}

	.msf-news-card__image {
		height: 190px;
	}

	.msf-news-card__content {
		min-height: 190px;
	}

	.msf-news-card--feature .msf-news-card__content {
		min-height: 270px;
	}

	.msf-home-collaborations {
		gap: 40px;
		padding: 56px 20px;
	}

	.msf-site-footer {
		padding: 44px 20px 20px;
	}

	.msf-site-footer__inner {
		grid-template-columns: 1fr 1fr;
		gap: 30px 24px;
		min-height: 400px;
	}

	.msf-site-footer__intro {
		grid-column: 1 / -1;
	}

	.msf-site-footer__base {
		flex-direction: column;
		gap: 12px;
		padding-top: 18px;
	}

	.msf-project-hero {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	.msf-project-hero__content {
		min-height: 580px;
		padding-block: 42px;
	}

	.msf-project-hero__title {
		font-size: clamp(54px, 15vw, 72px);
	}

	.msf-project-hero__intro {
		margin-bottom: 32px;
	}

	.msf-project-hero__media {
		min-height: 0;
		aspect-ratio: 4 / 3;
	}

	.msf-project-focus__question {
		font-size: clamp(38px, 11vw, 54px);
	}

	.msf-project-story {
		grid-template-columns: 1fr;
	}

	.msf-project-story__content {
		min-height: 0;
		padding-block: 64px;
	}

	.msf-project-story__media {
		min-height: 0;
		aspect-ratio: 1 / 1;
	}

	.msf-project-gallery__grid {
		grid-template-columns: 1fr;
	}

	.msf-project-gallery__item img {
		aspect-ratio: 16 / 10;
	}

	.msf-project-footer__grid {
		grid-template-columns: 1fr;
	}

}

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

