/*
Theme Name: Archimedes
Theme URI: https://linjeforening.org/
Author: Archimedes Linjeforening
Description: Et tilgjengelig blokktema for Archimedes Linjeforening ved NTNU i Ålesund.
Version: 2.0.35
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: archimedes
*/

:root {
	--arch-gradient: linear-gradient(125deg, #0b4151 0%, #13867d 100%);
	--arch-shadow: 7px 7px 0 rgba(11, 65, 81, .16);
	--arch-line: rgba(11, 65, 81, .16);
	--arch-border: 2px solid #10333d;
}

::selection { background: #13867d; color: #fff; }

html { scroll-behavior: smooth; scroll-padding-top: 7rem; }

body {
	background:
		linear-gradient(rgba(11,65,81,.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(11,65,81,.035) 1px, transparent 1px),
		#f7f4ed;
	background-size: 42px 42px;
}

a { text-underline-offset: .2em; }

h1, h2 { font-weight: 900; letter-spacing: -.03em; }

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
	outline: 3px solid #ef8f32;
	outline-offset: 4px;
}

.arch-skip-link {
	background: #fff;
	color: #0b4151;
	font-weight: 700;
	left: 1rem;
	padding: .75rem 1rem;
	position: fixed;
	top: -5rem;
	z-index: 100000;
}

.arch-skip-link:focus { top: 1rem; }

.arch-site-header {
	background: linear-gradient(105deg, #0b4151, #13867d);
	color: #fff;
	position: sticky;
	top: 0;
	transition: transform .28s ease;
	z-index: 20;
}

.arch-header--hidden { transform: translateY(-100%); }
.arch-site-header:focus-within { transform: none; }

.arch-site-header::after {
	background: var(--arch-gradient);
	content: "";
	display: block;
	height: 4px;
}

.arch-header-inner {
	align-items: center;
	display: flex;
	gap: clamp(1rem, 3vw, 2.5rem);
	justify-content: space-between;
	min-height: 76px;
}

.arch-logo-link { align-items: center; display: flex; flex: 0 0 auto; gap: .7rem; text-decoration: none; }

.arch-logo-link img {
	display: block;
	height: 58px;
	object-fit: contain;
	object-position: left center;
	width: 150px;
}

.arch-brand--compact .arch-logo-link img {
	height: 46px;
	object-fit: contain;
	width: 46px;
}

.arch-brand--compact span {
	color: #fff;
	font-size: 1.05rem;
	font-weight: 900;
	letter-spacing: .035em;
}

.arch-header-meta { align-items: center; gap: 1.25rem; }
.arch-header-meta p { margin: 0; }
.arch-campus { font-size: .8rem; }
.arch-header-join a { background: #ef8f32; box-shadow: 3px 3px 0 rgba(0, 0, 0, .3); color: #071f27; display: inline-block; font-size: .82rem; font-weight: 800; letter-spacing: .04em; padding: .62rem 1rem; text-decoration: none; text-transform: uppercase; }
.arch-header-tabs { background: rgba(5, 37, 46, .45); border-top: 1px solid rgba(255, 255, 255, .18); box-shadow: inset 0 1px 0 rgba(156, 230, 220, .12); }
.arch-tab-nav { box-sizing: border-box; flex-wrap: nowrap !important; gap: .25rem !important; overflow-x: auto; padding: .45rem max(1.1rem, calc((100vw - 1240px) / 2)); scrollbar-width: thin; width: 100%; }
.arch-tab-nav .wp-block-navigation-item { flex: 0 0 auto; }
.arch-tab-nav a { border: 1px solid transparent; color: #dff2ef !important; font-size: .82rem; font-weight: 700; padding: .62rem .9rem; text-decoration: none; }
.arch-tab-nav a:hover, .arch-tab-nav a:focus-visible, .arch-tab-nav .current-menu-item > a { background: rgba(255, 255, 255, .12); border-color: rgba(156, 230, 220, .5); box-shadow: 3px 3px 0 rgba(4, 31, 39, .3); color: #fff !important; }
.arch-new-student-season .arch-site-header .arch-seasonal a { color: #6ce0d2; }

@media (max-width: 600px) {
	.arch-site-header { min-height: 64px; }
	.arch-header-inner {
		box-sizing: border-box;
		gap: .5rem;
		min-height: 64px;
		padding-left: .75rem;
		padding-right: 4rem;
	}
	.arch-brand--compact .arch-logo-link img { height: 38px; width: 38px; }
	.arch-brand--compact span { display: none; }
	.arch-header-meta { gap: .45rem; margin-left: auto; min-width: 0; }
	.arch-campus { display: none; }
	.arch-header-join a {
		box-shadow: 2px 2px 0 rgba(0, 0, 0, .28);
		font-size: .66rem;
		letter-spacing: .025em;
		padding: .55rem .58rem;
		white-space: nowrap;
	}
	.arch-header-tabs {
		background: transparent;
		border: 0;
		box-shadow: none;
		height: 64px;
		position: absolute;
		right: max(.75rem, calc((100vw - 1240px) / 2));
		top: 0;
		width: 2.75rem;
		z-index: 2;
	}
	.arch-tab-nav {
		align-items: center;
		display: flex;
		height: 64px;
		overflow: visible;
		padding: 0;
		width: 2.75rem;
	}
	.arch-tab-nav .wp-block-navigation__responsive-container-open {
		align-items: center;
		background: transparent;
		border: 0;
		box-shadow: none;
		color: #fff;
		display: flex;
		height: 2.75rem;
		justify-content: center;
		min-height: 0;
		min-width: 0;
		padding: .65rem;
		width: 2.75rem;
	}
	.arch-tab-nav .wp-block-navigation__responsive-container-open:hover,
	.arch-tab-nav .wp-block-navigation__responsive-container-open:focus-visible { background: rgba(255, 255, 255, .1); }
	.arch-tab-nav .wp-block-navigation__responsive-container-open svg { fill: currentColor; }
	.arch-tab-nav .wp-block-navigation__responsive-container.is-menu-open {
		background-color: #f7f4ed;
		background-image: linear-gradient(rgba(11, 65, 81, .055) 1px, transparent 1px), linear-gradient(90deg, rgba(11, 65, 81, .055) 1px, transparent 1px);
		background-size: 1.75rem 1.75rem;
		border-top: 7px solid #ef8f32;
		box-shadow: inset 0 0 0 2px #0b4151;
		color: #0b4151;
		height: 100dvh;
		overflow-y: auto;
		overscroll-behavior: contain;
		padding: 1.25rem 1rem 2rem;
		scrollbar-color: #13867d #f7f4ed;
	}
	.arch-tab-nav .wp-block-navigation__responsive-container-close { color: #0b4151; }
	.arch-tab-nav .wp-block-navigation__responsive-dialog { min-height: 100%; }
	.arch-tab-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
	.arch-tab-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
		align-items: stretch;
		gap: 0;
		width: 100%;
	}
	.arch-tab-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
		padding-top: 3.75rem;
	}
	.arch-tab-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
		align-content: start;
		gap: 0 !important;
		justify-content: flex-start !important;
	}
	.arch-tab-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
		margin: 0 !important;
		padding: 0 !important;
		width: 100%;
	}
	.arch-tab-nav .wp-block-navigation__responsive-container.is-menu-open a {
		align-items: center;
		background: rgba(247, 244, 237, .92);
		border: 1px solid rgba(11, 65, 81, .38);
		border-radius: 2px;
		color: #0b4151 !important;
		display: flex;
		font-size: .84rem;
		min-height: 2.25rem;
		padding: .3rem .65rem;
		width: 100%;
	}
	.arch-tab-nav .wp-block-navigation__responsive-container.is-menu-open a:hover,
	.arch-tab-nav .wp-block-navigation__responsive-container.is-menu-open a:focus-visible {
		background: #e5f4f0;
		border-color: #0b4151;
		box-shadow: none;
	}
	.arch-tab-nav .wp-block-navigation__responsive-container.is-menu-open .current-menu-item > a,
	.arch-tab-nav .wp-block-navigation__responsive-container.is-menu-open a[aria-current="page"] {
		background: #fff;
		border-color: #0b4151;
		box-shadow: 3px 3px 0 #ef8f32;
		color: #13867d !important;
	}
}

.arch-main { counter-reset: arch-section; display: flex; flex-direction: column; min-height: 65vh; }
.arch-hero { order: 1; }
.arch-ticker { display: none; }
.arch-gallery-cloud-section { order: 2; }
.arch-join-strip { order: 3; }
.arch-section--sea { order: 4; }
.arch-home-studies { order: 5; }
.arch-new-student { order: 6; }
.arch-home-events { order: 7; }
.arch-home-sponsor { order: 8; }
.arch-home-business { order: 9; }

body.home .arch-skip-link,
body.home .arch-site-header,
body.home .arch-footer,
body.home .arch-main > .wp-block-group { display: none; }

body.home .arch-main { display: block; min-height: 0; }
body.home .arch-main > .site-header { margin-block-start: 0 !important; }
body.home .arch-main > main { margin-block-start: 0 !important; }
body.home .arch-main > main > p:first-child { display: none; }

.arch-main ul:not([class]) li::marker { color: #ef8f32; content: "\25A0\00a0\00a0"; font-size: .72em; }

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

.arch-hero {
	background: #072630;
	color: #fff;
	overflow: hidden;
	position: relative;
}

.arch-hero::before {
	background: radial-gradient(circle at center, rgba(19,134,125,.48), transparent 68%);
	content: "";
	height: 45rem;
	position: absolute;
	right: -18rem;
	top: -16rem;
	width: 45rem;
}

.arch-hero::after {
	background-image: radial-gradient(rgba(255,255,255,.16) 2px, transparent 2px);
	background-size: 24px 24px;
	content: "";
	inset: 0;
	-webkit-mask-image: radial-gradient(circle at 8% 100%, #000, transparent 42%);
	mask-image: radial-gradient(circle at 8% 100%, #000, transparent 42%);
	pointer-events: none;
	position: absolute;
}

.arch-hero__grid {
	align-items: center;
	display: grid;
	gap: clamp(2rem, 6vw, 6rem);
	grid-template-columns: minmax(0, 1.25fr) minmax(250px, .75fr);
	min-height: min(760px, calc(100vh - 82px));
	padding-bottom: clamp(4rem, 9vw, 8rem);
	padding-top: clamp(4rem, 9vw, 8rem);
	position: relative;
}

.arch-hero h1 {
	color: #fff;
	font-size: clamp(2.6rem, 4.8vw, 5rem);
	letter-spacing: -.045em;
	line-height: .98;
	max-width: 13ch;
}

.arch-hero .arch-lead {
	color: #d7ebe8;
	font-size: clamp(1.05rem, 1.8vw, 1.3rem);
	line-height: 1.65;
	max-width: 62ch;
}

.arch-kicker,
.arch-eyebrow {
	border: 2px solid currentColor;
	color: #0f6e67;
	display: inline-block;
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .13em;
	margin-bottom: .9rem;
	padding: .32em .65em .28em;
	text-transform: uppercase;
}

.arch-hero .arch-kicker,
.arch-section--dark .arch-kicker,
.arch-section--dark .arch-eyebrow { color: #6ce0d2; }

.arch-hero__mark {
	align-items: center;
	aspect-ratio: 1;
	background: var(--arch-gradient);
	clip-path: polygon(12% 0, 100% 0, 88% 100%, 0 100%);
	display: flex;
	justify-content: center;
	padding: clamp(2rem, 5vw, 5rem);
	position: relative;
}

.arch-hero__mark::before {
	background: #ef8f32;
	border-radius: 50%;
	content: "";
	height: clamp(4rem, 8vw, 6.5rem);
	left: -1.6rem;
	position: absolute;
	top: -1.6rem;
	width: clamp(4rem, 8vw, 6.5rem);
	z-index: 2;
}

.arch-hero__mark::after {
	border: 1px solid rgba(255,255,255,.26);
	content: "";
	inset: 1.25rem;
	position: absolute;
}

.arch-hero__mark img { height: auto; position: relative; width: min(100%, 360px); z-index: 1; }

.wp-block-button__link {
	align-items: center;
	box-shadow: 4px 4px 0 rgba(7, 31, 39, .28);
	display: inline-flex;
	font-size: .85rem;
	font-weight: 800;
	justify-content: center;
	letter-spacing: .05em;
	min-height: 48px;
	text-transform: uppercase;
	transition: box-shadow .12s ease, transform .12s ease;
}

.wp-block-button__link:hover,
.wp-block-button__link:focus-visible {
	box-shadow: 1px 1px 0 rgba(7, 31, 39, .28);
	transform: translate(3px, 3px);
}

.is-style-outline > .wp-block-button__link:not(.has-background) { border-width: 2px; color: inherit; }

.arch-ticker { background: var(--arch-gradient); border-block: 2px solid #071f27; color: #fff; padding: .8rem 1rem; }
.arch-ticker p { font-size: .76rem; font-weight: 800; letter-spacing: .16em; margin: 0; text-transform: uppercase; }

.arch-section {
	padding-bottom: clamp(4rem, 8vw, 7rem);
	padding-top: clamp(4rem, 8vw, 7rem);
}

.arch-section--compact { padding-bottom: clamp(3rem, 6vw, 5rem); padding-top: clamp(3rem, 6vw, 5rem); }
.arch-section--dark { background: #0b4151; color: #fff; }
.arch-section--sea { background: #dfeeea; }
.arch-section--white { background: rgba(255,255,255,.72); }

.arch-join-strip {
	background: #eef5f2;
	padding-bottom: clamp(2.5rem, 5vw, 4rem);
	padding-top: clamp(2.5rem, 5vw, 4rem);
}

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

.arch-join-step {
	background: #fff;
	border: var(--arch-border);
	border-top: 6px solid #13867d;
	box-shadow: var(--arch-shadow);
	padding: clamp(1.25rem, 3vw, 2rem);
}

.arch-join-step h3 { margin-bottom: .65rem; margin-top: 0; }
.arch-join-step p:last-child { margin-bottom: 0; }
.arch-join-step a { font-weight: 700; }
.arch-join-step--primary { background: #0b4151; border-top-color: #ef8f32; color: #d8e8e7; }
.arch-join-step--primary h3 { color: #fff; }
.arch-join-step--primary .arch-eyebrow,
.arch-join-step--primary a { color: #8fe3d9; }

.arch-section-heading {
	border-top: 3px solid currentColor;
	display: grid;
	gap: 1rem;
	grid-template-columns: minmax(0, 1fr) minmax(15rem, .7fr);
	margin-bottom: clamp(2rem, 5vw, 3.5rem);
	padding-top: 1.1rem;
	position: relative;
}

.arch-section-heading::after {
	content: counter(arch-section, decimal-leading-zero);
	counter-increment: arch-section;
	font-size: clamp(2.4rem, 5vw, 4.2rem);
	font-weight: 900;
	letter-spacing: -.04em;
	line-height: .82;
	opacity: .16;
	position: absolute;
	right: 0;
	top: 1.1rem;
}

.arch-section-heading h2 { font-size: clamp(2rem, 4vw, 3.7rem); letter-spacing: -.035em; line-height: 1.04; margin: 0; }
.arch-section-heading p { align-self: end; margin: 0; }

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

.arch-card {
	background: #fff;
	border: var(--arch-border);
	border-top: 5px solid #13867d;
	box-shadow: var(--arch-shadow);
	color: #132d34;
	min-width: 0;
	padding: clamp(1.25rem, 3vw, 2rem);
}

.arch-card h3 { margin-bottom: .75rem; margin-top: .2rem; }
.arch-card p:last-child { margin-bottom: 0; }
.arch-card__text { color: #3b545b; }
.arch-sponsor--hovedpartner { grid-column: span 2; }
.arch-sponsor__logo { align-items: center; display: flex; height: 120px; margin-bottom: 1.5rem; }
.arch-sponsor__logo img { height: 100%; object-fit: contain; object-position: left center; width: min(100%, 280px); }

.arch-arrow-link {
	color: #0b6762;
	display: inline-block;
	font-size: .82rem;
	font-weight: 800;
	letter-spacing: .06em;
	margin-top: .5rem;
	text-transform: uppercase;
}

.arch-events { border-top: 1px solid var(--arch-line); }
.arch-event { border-bottom: 1px solid var(--arch-line); display: grid; gap: 1.5rem; grid-template-columns: 5rem minmax(0, 1fr); padding: 1.5rem 0; }
.arch-event__date { align-items: center; background: #0b4151; box-shadow: 4px 4px 0 rgba(11,65,81,.2); color: #fff; display: flex; flex-direction: column; height: 5rem; justify-content: center; text-align: center; width: 5rem; }
.arch-event__date strong { font-size: 1.75rem; font-weight: 900; line-height: 1; }
.arch-event__date span { font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }
.arch-event__body h3 { margin: 0 0 .35rem; }
.arch-event__body p { margin: .35rem 0; }
.arch-event__image { border: 2px solid #0b4151; display: block; height: auto; margin: 1rem 0; max-height: 32rem; object-fit: contain; width: 100%; }
.arch-event__category { color: #0b6762; font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.arch-event__facts { display: grid; font-size: .9rem; gap: .2rem 1rem; grid-template-columns: 5rem minmax(0, 1fr); margin: .75rem 0; }
.arch-event__facts dt { font-weight: 700; }
.arch-event__facts dd { color: #476068; margin: 0; }
.arch-event__map-link { color: #0b6762; font-weight: 800; }

.arch-reasons { display: grid; gap: 1.25rem; grid-template-columns: repeat(3, 1fr); }
.arch-reason { background: #fff; border: var(--arch-border); border-top: 5px solid #13867d; box-shadow: var(--arch-shadow); padding: 1.5rem; }

.arch-person { padding: 0 0 1.6rem; overflow: hidden; }
.arch-person > :not(.arch-person__photo):not(.arch-person__placeholder) { margin-left: 1.5rem; margin-right: 1.5rem; }
.arch-person__photo,
.arch-person__placeholder { aspect-ratio: 4/3; display: block; height: auto; margin-bottom: 1.4rem; object-fit: cover; width: 100%; }
.arch-person__placeholder { background: linear-gradient(135deg, #dfeeea, #c2dcd6); }

.arch-board-archive { display: grid; gap: 1rem; }
.arch-archive-group { background: #fff; border: var(--arch-border); border-left: 6px solid #13867d; box-shadow: 5px 5px 0 rgba(11,65,81,.14); padding: 1.5rem; }
.arch-archive-group h2 { font-size: 1.5rem; margin-top: 0; }
.arch-role-list { columns: 2; margin-bottom: 0; }

.arch-facts { display: grid; gap: .4rem 1rem; grid-template-columns: minmax(7rem, auto) 1fr; margin: 1.25rem 0; }
.arch-facts dt { font-weight: 700; }
.arch-facts dd { margin: 0; }
.arch-facts--inline { grid-template-columns: repeat(6, auto); justify-content: start; }

.arch-album { margin-bottom: 4rem; }
.arch-album__heading { align-items: end; display: flex; gap: 1.5rem; justify-content: space-between; margin-bottom: 1rem; }
.arch-album__heading h3 { font-size: 1.8rem; margin: 0; }
.arch-album__heading h2 { font-size: clamp(2rem, 4vw, 3.4rem); margin: 0; }
.arch-album__count { color: #536970; margin: .35rem 0 0; }
.arch-album__meta { flex: 0 0 auto; text-align: right; }
.arch-credit { color: #536970; font-size: .8rem; }
.arch-album__grid { display: grid; gap: .5rem; grid-template-columns: repeat(4, 1fr); }
.arch-album__grid figure { aspect-ratio: 1; margin: 0; overflow: hidden; position: relative; }
.arch-album__grid a { display: block; height: 100%; }
.arch-album__grid img { height: 100%; object-fit: cover; transition: transform .25s ease; width: 100%; }
.arch-album__grid figure:first-child { grid-column: span 2; grid-row: span 2; }
.arch-album__grid figcaption { background: rgba(7,31,39,.9); bottom: 0; color: #fff; font-size: .8rem; left: 0; padding: .55rem .7rem; position: absolute; right: 0; }
.arch-album--single .arch-album__grid figure:first-child { grid-column: auto; grid-row: auto; }
.arch-album__actions { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; margin-top: 1rem; }
.arch-album__pagination { align-items: center; border-bottom: 1px solid var(--arch-line); border-top: 1px solid var(--arch-line); display: flex; gap: 1rem; justify-content: space-between; margin: 2rem 0; padding: 1rem 0; }
.arch-album__pagination a { font-weight: 700; }
.arch-album__pagination span { color: #536970; text-align: center; }
.arch-album__videos { border-top: 1px solid var(--arch-line); margin-top: 3rem; padding-top: 2rem; }
.arch-video-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.arch-video-grid figure { margin: 0; min-width: 0; }
.arch-video-grid video { background: #071f27; display: block; max-height: 70vh; width: 100%; }
.arch-video-grid figcaption { color: #536970; font-size: .85rem; padding-top: .5rem; }

.arch-gallery-cloud-section { overflow: hidden; }
.arch-gallery-cloud { display: grid; gap: .75rem; margin-bottom: 2rem; -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); overflow: hidden; }
.arch-gallery-cloud__lane { overflow: hidden; }
.arch-gallery-cloud__track { animation: arch-gallery-drift 72s linear infinite; display: flex; gap: .75rem; width: max-content; will-change: transform; }
.arch-gallery-cloud__lane--2 .arch-gallery-cloud__track { animation-duration: 88s; animation-name: arch-gallery-drift-offset; }
.arch-gallery-cloud:hover .arch-gallery-cloud__track,
.arch-gallery-cloud:focus-within .arch-gallery-cloud__track { animation-play-state: paused; }
.arch-gallery-cloud figure { border-radius: 2px; flex: 0 0 clamp(230px, 27vw, 390px); height: clamp(155px, 18vw, 255px); margin: 0; overflow: hidden; position: relative; }
.arch-gallery-cloud figure:nth-child(3n) { flex-basis: clamp(290px, 35vw, 500px); }
.arch-gallery-cloud img { height: 100%; object-fit: cover; width: 100%; }
.arch-gallery-cloud figcaption { background: linear-gradient(transparent, rgba(4,31,39,.88)); bottom: 0; color: #fff; font-size: .75rem; font-weight: 750; left: 0; padding: 2rem .85rem .7rem; position: absolute; right: 0; }
@keyframes arch-gallery-drift { from { transform: translateX(0); } to { transform: translateX(calc(-50% - .375rem)); } }
@keyframes arch-gallery-drift-offset { from { transform: translateX(-8rem); } to { transform: translateX(calc(-50% - 8.375rem)); } }

.arch-study-grid {
	background: #10333d;
	border: var(--arch-border);
	box-shadow: var(--arch-shadow);
	display: grid;
	gap: 2px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-bottom: 1.75rem;
	overflow: hidden;
}

.arch-study {
	background: #fff;
	border-top: 4px solid #13867d;
	padding: clamp(1.35rem, 3vw, 2.25rem);
}

.arch-study h3 { margin-top: 0; }
.arch-study p { color: #536970; margin-bottom: 0; }

.arch-documents { display: grid; gap: 1rem; }
.arch-document { background: #fff; border: var(--arch-border); border-left: 5px solid #9db2b6; padding: 1.5rem; }
.arch-document--current { border-left-color: #13867d; box-shadow: var(--arch-shadow); padding: clamp(1.5rem, 4vw, 3rem); }
.arch-document__actions { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; }

.arch-empty-state { background: #e8eeeb; border-left: 4px solid #13867d; padding: 1rem 1.25rem; }
.arch-empty-state p { margin: 0; }

.arch-contact-list { display: grid; gap: 0; }
.arch-contact-list p { border-bottom: 1px solid var(--arch-line); display: grid; gap: 1rem; grid-template-columns: minmax(10rem, .6fr) 1fr; margin: 0; padding: .9rem 0; }

.arch-page-hero { background: var(--arch-gradient); color: #fff; overflow: hidden; padding-bottom: clamp(3rem, 7vw, 6rem); padding-top: clamp(3rem, 7vw, 6rem); position: relative; }
.arch-page-hero::after { background-image: radial-gradient(rgba(255,255,255,.18) 2px, transparent 2px); background-size: 24px 24px; content: ""; inset: 0; -webkit-mask-image: radial-gradient(circle at 96% 0, #000, transparent 45%); mask-image: radial-gradient(circle at 96% 0, #000, transparent 45%); pointer-events: none; position: absolute; }
.arch-page-hero h1 { font-size: clamp(2.5rem, 6vw, 5rem); letter-spacing: -.04em; margin: 0; }
.arch-page-content { padding-bottom: clamp(4rem, 8vw, 7rem); padding-top: clamp(3rem, 6vw, 5rem); }

.arch-footer { background: #071f27; border-top: 5px solid; border-image: var(--arch-gradient) 1; color: #d8e8e7; padding-bottom: 2rem; padding-top: 4rem; }
.arch-footer a { color: #fff; }
.arch-footer-grid { display: grid; gap: 3rem; grid-template-columns: 1fr 1.4fr 1fr; }
.arch-footer .arch-brand img { height: auto; max-width: 180px; width: 100%; }
.arch-footer h2 { color: #fff; font-size: .8rem; font-weight: 800; letter-spacing: .12em; margin-top: 0; text-transform: uppercase; }
.arch-footer ul { list-style: none; margin: 0; padding: 0; }
.arch-footer li { margin-bottom: .5rem; }
.arch-footer-meta { border-top: 1px solid rgba(255,255,255,.14); font-size: .8rem; margin-top: 3rem; padding-top: 1.25rem; }
.arch-footer .arch-contact-list p { grid-template-columns: 8rem 1fr; }

.arch-member-gift {
	background: #ef8f32;
	border: 3px solid #071f27;
	box-shadow: 10px 10px 0 #0b4151;
	color: #071f27;
	display: grid;
	grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
	isolation: isolate;
	margin: 4rem 0 5rem;
	min-height: 540px;
	overflow: hidden;
	position: relative;
}

.arch-member-gift::before {
	background-image: radial-gradient(rgba(7,31,39,.34) 2px, transparent 2px);
	background-size: 18px 18px;
	content: "";
	height: 11rem;
	left: -2rem;
	position: absolute;
	top: -2rem;
	width: 15rem;
	z-index: -1;
}

.arch-member-gift__copy { align-self: center; padding: clamp(2rem, 5vw, 4.5rem); position: relative; z-index: 2; }
.arch-member-gift__copy h2 { color: #0b4151; font-size: clamp(2rem, 3.2vw, 3.25rem); hyphens: none; margin-bottom: 1rem; max-width: 14ch; overflow-wrap: normal; word-break: normal; }
.arch-member-gift__copy > p:last-of-type { font-size: 1.08rem; font-weight: 650; max-width: 38ch; }
.arch-member-gift__eyebrow { border: 2px solid currentColor; display: inline-block; font-size: .72rem; font-weight: 800; letter-spacing: .12em; margin-bottom: .85rem; padding: .32em .65em .28em; text-transform: uppercase; }
.arch-member-gift__stamp { background: #fff; border: 2px solid #071f27; box-shadow: 4px 4px 0 #0b4151; display: table; font-size: .7rem; font-weight: 900; letter-spacing: .08em; margin-bottom: 1.4rem; padding: .55rem .75rem; text-transform: uppercase; transform: rotate(-2deg); }
.arch-member-gift__button { background: #fff; border: 2px solid #071f27; box-shadow: 4px 4px 0 rgba(7,31,39,.28); color: #0b4151; display: inline-block; font-size: .82rem; font-weight: 800; letter-spacing: .05em; margin-top: 1rem; text-decoration: none; text-transform: uppercase; }
.arch-member-gift__stage { align-items: center; background: #13867d; display: flex; justify-content: center; margin: 0; min-height: 540px; overflow: hidden; position: relative; }
.arch-member-gift__stage::before { border: clamp(3.5rem, 7vw, 6rem) solid #0b4151; border-radius: 50%; content: ""; height: clamp(19rem, 35vw, 34rem); position: absolute; width: clamp(19rem, 35vw, 34rem); }
.arch-member-gift__stage::after { background: #fff; content: ""; height: 145%; position: absolute; transform: rotate(26deg); width: 15%; z-index: 0; }
.arch-member-gift__stage img { animation: arch-member-gift-enter .9s cubic-bezier(.16,1,.3,1) both, arch-member-gift-float 5s ease-in-out 1s infinite; filter: drop-shadow(12px 16px 0 rgba(7,31,39,.35)); max-width: 115%; position: relative; transform: rotate(5deg); width: clamp(30rem, 52vw, 54rem); z-index: 2; }
.arch-member-gift__disc { align-items: center; animation: arch-member-gift-pulse 2.8s steps(2, end) infinite; background: #fff; border: 3px solid #071f27; border-radius: 50%; display: flex; font-size: .78rem; font-weight: 900; height: 5.5rem; justify-content: center; letter-spacing: .12em; position: absolute; right: 1.1rem; text-transform: uppercase; top: 1.1rem; width: 5.5rem; z-index: 3; }
.arch-member-gift__bit { background: #dcebea; border: 2px solid #071f27; height: .85rem; position: absolute; width: 5.8rem; z-index: 1; }
.arch-member-gift__bit::after { border-bottom: .42rem solid transparent; border-left: .7rem solid #071f27; border-top: .42rem solid transparent; content: ""; position: absolute; right: -.75rem; top: -.12rem; }
.arch-member-gift__bit--one { left: 3%; top: 13%; transform: rotate(32deg); }
.arch-member-gift__bit--two { bottom: 10%; right: 4%; transform: rotate(-20deg); }
.arch-member-gift__bit--three { bottom: 23%; left: 1%; transform: rotate(78deg); }

@keyframes arch-member-gift-enter { from { opacity: 0; transform: translate(18%, 14%) rotate(13deg) scale(.78); } to { opacity: 1; transform: translate(0) rotate(5deg) scale(1); } }
@keyframes arch-member-gift-float { 0%, 100% { transform: translateY(0) rotate(5deg); } 50% { transform: translateY(-12px) rotate(2deg); } }
@keyframes arch-member-gift-pulse { 50% { box-shadow: 6px 6px 0 #0b4151; transform: translate(-3px, -3px); } }

@media (hover:hover) {
	.arch-album__grid img:hover { transform: scale(1.025); }
}

@media (max-width: 980px) {
	.arch-hero__grid { grid-template-columns: 1fr; }
	.arch-hero__mark { max-width: 440px; width: 82%; }
	.arch-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.arch-reasons { grid-template-columns: 1fr; }
	.arch-section-heading { grid-template-columns: 1fr; }
	.arch-footer-grid { grid-template-columns: 1fr 1fr; }
	.arch-study-grid { grid-template-columns: 1fr; }
	.arch-join-grid { grid-template-columns: 1fr; }
	.arch-member-gift { grid-template-columns: 1fr; }
	.arch-member-gift__stage { min-height: 440px; }
	.arch-member-gift__stage img { max-width: 105%; width: min(48rem, 100%); }
}

@media (max-width: 700px) {
	.arch-header-inner { min-height: 70px; }
	.arch-logo-link img { height: 48px; width: 122px; }
	.arch-brand--compact .arch-logo-link img { height: 44px; width: 44px; }
	.arch-brand--compact span { font-size: .9rem; }
	.arch-cards,
	.arch-footer-grid { grid-template-columns: 1fr; }
	.arch-sponsor--hovedpartner { grid-column: auto; }
	.arch-role-list { columns: 1; }
	.arch-album__grid { grid-template-columns: repeat(2, 1fr); }
	.arch-album__heading { align-items: start; flex-direction: column; }
	.arch-album__meta { text-align: left; }
	.arch-video-grid { grid-template-columns: 1fr; }
	.arch-facts--inline { grid-template-columns: auto 1fr; }
	.arch-contact-list p { grid-template-columns: 1fr; gap: .25rem; }
	.arch-footer .arch-contact-list p { grid-template-columns: 1fr; }
	.arch-contact-list a,
	.arch-contact-list span { overflow-wrap: anywhere; }
	.arch-member-gift { box-shadow: 6px 6px 0 #0b4151; margin-bottom: 4rem; }
	.arch-member-gift__copy { padding: 2rem 1.25rem; }
	.arch-member-gift__copy h2 { font-size: 2.15rem; }
	.arch-member-gift__stage { min-height: 300px; }
	.arch-member-gift__stage img { max-width: 88%; width: 22rem; }
	.arch-member-gift__disc { height: 4.5rem; width: 4.5rem; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
	.arch-gallery-cloud__track { animation: none !important; }
	.arch-gallery-cloud { overflow-x: auto; }
	.arch-gallery-cloud__lane { overflow: visible; }
	.arch-site-header { position: static; }
	.arch-header--hidden { transform: none; }
	.arch-member-gift__stage img,
	.arch-member-gift__disc { animation: none; }
}
