/* vinlandtovalinor's public pages, from the design handoff (Library/Vinlandtovalinor.com redesign.zip): dark ground, gold for Vinland, teal for
   Valinor, IM Fell Double Pica for display and labels, EB Garamond for text. One breakpoint, 1000px (the menu and the bibliography filters); the
   rest reflows through auto-fit grids, wrapping flex rows and clamp(). */
:root {
	--bg: #121116;
	--field: #1a1920;
	--text: #e9e3d6;
	--emph: #f3ede1;
	--second: #d8d0c0;
	--muted: #b9b1a2;
	--quiet: #9c9485;
	--faint: #8e8778;
	--mono: #6f695e;
	--gold: #DEA75D;
	--teal: #5fb0bf;
	--rule-08: rgba(233, 227, 214, .08);
	--rule-10: rgba(233, 227, 214, .1);
	--rule-12: rgba(233, 227, 214, .12);
	--rule-15: rgba(233, 227, 214, .15);
	--rule-25: rgba(233, 227, 214, .25);
	--rule-gold: rgba(222, 167, 93, .4);
	--gutter: clamp(20px, 4vw, 48px);
	--gutter-home: clamp(20px, 9vw, 120px);
	--display: 'IM Fell Double Pica', 'EB Garamond', Georgia, serif;
	--sc: 'IM Fell Double Pica SC', 'IM Fell Double Pica', 'EB Garamond', Georgia, serif;
	--body: 'EB Garamond', Georgia, serif;
	color-scheme: dark;
}

*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; background: var(--bg); }
body {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	color: var(--text);
	font-family: var(--body);
	font-size: 18px;
	line-height: 1.5;
	-webkit-text-size-adjust: 100%;
}
main { flex: 1; }
a { color: var(--teal); text-decoration: none; }
a:hover { color: var(--gold); }
:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
img { max-width: 100%; }
h1, h2, h3 { font-weight: 400; margin: 0; }
p { margin: 0; }
[hidden] { display: none !important; }
.skip { position: absolute; left: -9999px; top: 8px; z-index: 50; background: var(--gold); color: var(--bg); padding: 8px 14px; font-family: var(--sc); }
.skip:focus { left: 8px; }

/* Navigation */
.nav {
	position: relative;
	z-index: 5;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
	padding: 18px var(--gutter);
	border-bottom: 1px solid var(--rule-10);
}
.nav--over { border-bottom-color: transparent; }
.brand { display: flex; align-items: center; gap: 12px; color: var(--text); }
.brand img { width: 26px; height: 26px; }
.brand span { font: 22px var(--sc); letter-spacing: .02em; white-space: nowrap; }
.nav__links { display: flex; gap: 30px; align-items: center; font: 19px var(--sc); }
.nav__links a { color: var(--muted); border-bottom: 1px solid transparent; padding: 2px 0; white-space: nowrap; }
.nav__links a:hover { color: var(--gold); }
.nav__links a[aria-current="page"] { color: var(--gold); border-bottom-color: var(--gold); }
.nav__links .nav__dashboard { color: var(--faint); border-left: 1px solid rgba(233, 227, 214, .2); padding-left: 28px; }
.nav__toggle { display: none; }

@media (max-width: 999px) {
	.nav__links { flex-wrap: wrap; gap: 8px 22px; justify-content: flex-end; }
	.js .nav__toggle {
		display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 4px;
		background: none; border: 0; color: var(--text); font: 17px var(--sc); cursor: pointer;
	}
	.js .nav__links {
		display: none;
		position: fixed; inset: 66px 0 0 0; z-index: 20;
		background: var(--bg);
		flex-direction: column; align-items: stretch; flex-wrap: nowrap; gap: 0;
		padding: 12px 24px; overflow-y: auto;
	}
	.js .nav--open .nav__links { display: flex; }
	.js .nav__links a { font: 30px var(--display); padding: 16px 0; border-bottom: 1px solid var(--rule-10); min-height: 44px; }
	.js .nav__links a[aria-current="page"] { border-bottom-color: var(--rule-10); }
	.js .nav__links .nav__dashboard { font: 20px var(--sc); color: var(--faint); border: 0; padding: 20px 0; }
	.js body.menu-open { overflow: hidden; }
}

/* Shared patterns */
.eyebrow, .kicker { font: 17px var(--sc); color: var(--gold); }
.kicker--teal { color: var(--teal); }
.kicker--gold { color: var(--gold); }
.lead { font-size: clamp(18px, 1.8vw, 21px); line-height: 1.6; max-width: 640px; text-wrap: pretty; }
.hi { color: var(--text); }
.buttons { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 6px; }
.button { display: inline-block; padding: 14px 22px; font: 19px var(--sc); border-radius: 0; }
.button--gold { background: var(--gold); color: var(--bg); align-self: flex-start; }
.button--gold:hover { background: var(--emph); color: var(--bg); }
.button--outline { border: 1px solid rgba(95, 176, 191, .5); color: var(--teal); }
.button--outline:hover { border-color: var(--gold); }

.side { display: flex; flex-wrap: wrap; gap: 16px 64px; padding: 0 var(--gutter) 48px; }
.side__label { flex: 0 0 240px; font: 20px var(--sc); color: var(--gold); align-self: flex-start; }
.side__label--ruled { border-top: 1px solid var(--rule-gold); padding-top: 8px; }
.side__label--blank { min-height: 1px; }
.side__sub { color: var(--quiet); font-size: 17px; }
.side__body { flex: 1 1 440px; display: flex; flex-direction: column; min-width: 0; }
.side__body--intro { max-width: 760px; font-size: clamp(18px, 1.8vw, 21px); line-height: 1.6; text-wrap: pretty; }
.side__link { margin-top: 12px; font: 17px var(--sc); color: var(--teal); align-self: flex-start; }

.page-head { padding: clamp(40px, 5vw, 64px) var(--gutter) 32px; display: flex; flex-direction: column; gap: 12px; }
.page-head__title { font: 400 clamp(48px, 6vw, 72px)/1 var(--display); }
.page-head--center { align-items: center; text-align: center; gap: 10px; padding: clamp(36px, 5vw, 56px) clamp(20px, 4vw, 56px) 20px; }
.page-head__title--bib { font-size: clamp(34px, 5vw, 60px); line-height: 1.05; max-width: 900px; text-wrap: balance; }

.about {
	margin: 0 var(--gutter) 72px; padding: 40px 0 0;
	border-top: 1px solid var(--rule-gold);
	display: flex; flex-wrap: wrap; gap: 24px 48px;
	font-size: 18px; line-height: 1.65; color: var(--muted);
}
.about__label { flex: 0 0 240px; font: 22px var(--sc); color: var(--gold); }
.about__text { flex: 1 1 320px; display: flex; flex-direction: column; gap: 12px; }
.about__credits { flex: 1 1 320px; display: flex; flex-direction: column; }
.about__heading { font: 16px var(--sc); color: var(--text); margin-bottom: 4px; }
.about__thanks { margin-top: 10px; font-size: 16px; color: var(--faint); }

.credit-block {
	margin: 0 var(--gutter) 64px; padding-top: 28px;
	border-top: 1px solid var(--rule-12);
	display: flex; flex-wrap: wrap; gap: 12px 64px;
	font-size: 17px; line-height: 1.6; color: var(--quiet);
}
.credit-block__label { flex: 0 0 240px; font: 18px var(--sc); color: var(--text); }
.credit-block__text { flex: 1 1 440px; }
.back { padding: 0 var(--gutter) 64px; }
.back a { font: 18px var(--sc); color: var(--gold); }

/* Home */
.hero {
	position: relative;
	height: clamp(520px, 58vw, 720px);
	margin-top: -67px;
	background: url(../img/two-trees.jpg) center 40% / cover;
}
.hero::before {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(18, 17, 22, .8) 0%, rgba(18, 17, 22, .15) 30%, rgba(18, 17, 22, .2) 60%, var(--bg) 100%);
}
.hero__text {
	position: absolute; left: 16px; right: 16px; bottom: clamp(24px, 4vw, 56px);
	display: flex; flex-direction: column; align-items: center; gap: 18px; text-align: center;
}
.hero__title {
	font: 400 clamp(52px, 8.6vw, 112px)/1 var(--display);
	display: flex; flex-wrap: wrap; justify-content: center; align-items: flex-end; gap: 6px 28px;
}
.hero__part { display: flex; align-items: flex-end; gap: clamp(6px, 1vw, 14px); }
.hero__part--gold { color: var(--gold); }
.hero__part--teal { color: var(--teal); }
.hero__part img { width: 1.05em; height: 1.05em; }
.hero__small { font-size: .57em; font-style: italic; padding-bottom: .07em; }
.hero__sub { font: italic clamp(19px, 2.2vw, 28px) var(--body); color: var(--second); }

.side--home { gap: 24px 64px; padding: clamp(32px, 6vw, 72px) var(--gutter-home) clamp(40px, 5vw, 64px); }
.side--home .side__label { flex-basis: 220px; padding-top: 6px; border-top: 1px solid var(--rule-gold); }
.mythography { margin: 0; flex: 1 1 440px; max-width: 760px; display: flex; flex-direction: column; gap: 20px; }
.mythography p { font-size: clamp(18px, 1.8vw, 22px); line-height: 1.6; text-wrap: pretty; }
.mythography figcaption { display: flex; align-items: center; gap: 14px; font: 20px var(--sc); color: var(--gold); }
.mythography .rule { width: 40px; height: 1px; background: var(--gold); }

.doors {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 24px;
	padding: 0 var(--gutter-home) clamp(56px, 7vw, 88px);
}
.door {
	color: inherit; padding: 32px 30px 28px; min-height: 240px;
	display: flex; flex-direction: column; gap: 14px;
	border: 1px solid rgba(222, 167, 93, .35);
	transition: border-color .15s, background-color .15s;
}
.door--teal { border-color: rgba(95, 176, 191, .35); }
.door:hover { color: inherit; border-color: var(--gold); background: rgba(222, 167, 93, .05); }
.door--teal:hover { border-color: var(--teal); background: rgba(95, 176, 191, .05); }
.door__n { font: 28px var(--display); color: var(--gold); }
.door__name { font: 34px/1.1 var(--display); }
.door__text { font-size: 19px; line-height: 1.45; color: var(--muted); }
.door__cta { margin-top: auto; font: 18px var(--sc); color: var(--gold); }
.door--teal .door__n, .door--teal .door__cta { color: var(--teal); }

.projects { padding: 0 var(--gutter-home) clamp(56px, 7vw, 96px); }
.projects__heading { border-bottom: 1px solid var(--rule-15); padding-bottom: 14px; margin-bottom: 32px; font: 40px var(--display); }
.projects__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); gap: 48px; }
.project { color: inherit; display: flex; flex-direction: column; gap: 16px; }
.project:hover { color: inherit; }
.project:hover .project__title { color: var(--gold); }
.project__image { width: 100%; height: clamp(200px, 24vw, 300px); object-fit: cover; object-position: center 45%; display: block; }
.project__image--plate { display: flex; align-items: center; justify-content: center; background: var(--field); border: 1px solid var(--rule-10); overflow: hidden; }
.project__image--plate img { height: 100%; width: auto; object-fit: contain; }
.project__kicker { font: 16px var(--sc); letter-spacing: .04em; }
.project__kicker--teal { color: var(--teal); }
.project__kicker--gold { color: var(--gold); }
.project__title { font: 34px/1.1 var(--display); transition: color .15s; }
.project__text { font-size: 19px; line-height: 1.5; color: var(--muted); }

/* Bibliographies */
.tabs { display: flex; justify-content: center; flex-wrap: wrap; gap: 4px; padding: 0 20px 24px; font: 18px var(--sc); }
.tabs a { padding: 8px 14px; color: var(--faint); border-bottom: 1px solid transparent; min-height: 44px; display: inline-flex; align-items: center; }
.tabs a:hover { color: var(--gold); }
.tabs a[aria-current="page"] { color: var(--text); border-bottom-color: var(--gold); }

.finder {
	margin: 0 clamp(20px, 4vw, 56px); padding: 22px 0;
	border-top: 1px solid var(--rule-25); border-bottom: 1px solid var(--rule-25);
	display: flex; flex-direction: column; gap: 16px;
}
.search { display: flex; align-items: center; gap: 14px; background: var(--field); border: 1px solid rgba(233, 227, 214, .2); padding: 0 18px; min-height: 54px; }
.search:focus-within { border-color: var(--gold); }
.search__icon { font-size: 22px; color: var(--gold); }
.search input { background: none; border: 0; outline: 0; color: inherit; font: 20px var(--body); width: 100%; min-width: 0; padding: 12px 0; }
.search input::placeholder { color: inherit; opacity: .5; }
.search input::-webkit-search-cancel-button { filter: invert(.8); }
.search__count { font-size: 17px; color: var(--quiet); white-space: nowrap; }
.filters-toggle { display: none; }
.filter-rows { display: flex; flex-direction: column; gap: 16px; }
.filter { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.filter__label { font: 16px var(--sc); color: var(--quiet); margin-right: 6px; min-width: 76px; }
.chip {
	font: 16px var(--body); padding: 5px 12px; min-height: 34px; display: inline-flex; align-items: center;
	border-radius: 999px; background: transparent; color: #cfc6b6; border: 1px solid rgba(236, 230, 218, .25);
}
.chip--italic { font-style: italic; }
.chip:hover { color: var(--gold); border-color: var(--gold); }
.chip[aria-pressed="true"] { background: var(--gold); color: var(--bg); border-color: var(--gold); }
.clear { align-self: flex-end; font: 16px var(--sc); color: var(--teal); min-height: 32px; display: inline-flex; align-items: center; }

@media (max-width: 999px) {
	.js .filters-toggle {
		display: inline-flex; align-items: center; align-self: flex-start; min-height: 44px; padding: 0 18px;
		border-radius: 999px; font: 17px var(--sc); background: none; color: var(--teal); border: 1px solid rgba(95, 176, 191, .5); cursor: pointer;
	}
	.js .finder:not(.finder--open) .filter-rows { display: none; }
	.chip { min-height: 44px; }
}

.results { padding: 16px clamp(20px, 4vw, 56px) 56px; }
.letter { display: flex; flex-wrap: wrap; gap: 4px 32px; padding: 20px 0; border-bottom: 1px solid var(--rule-10); }
.letter__l { flex: 0 0 90px; font: clamp(48px, 6vw, 72px)/1 var(--display); color: var(--gold); }
.letter__items { flex: 1 1 420px; display: flex; flex-direction: column; min-width: 0; }
.entry { display: flex; flex-wrap: wrap; gap: 6px 32px; padding: 12px 0; }
.entry__cite { flex: 1 1 380px; font-size: clamp(18px, 1.6vw, 20px); line-height: 1.45; padding-left: 1.6em; text-indent: -1.6em; overflow-wrap: anywhere; }
.entry__cite em { font-weight: 500; color: var(--emph); }
.entry__note { flex: 0 1 250px; font-size: 16px; line-height: 1.45; color: var(--muted); border-left: 1px solid var(--rule-15); padding-left: 16px; }
.entry__ann { color: var(--teal); }
.empty { font-size: 21px; color: var(--quiet); padding: 40px 0; text-align: center; }
.empty a { text-decoration: underline; }
.total { font-size: 16px; color: var(--faint); margin-top: 20px; }

/* Banners (Links, Student Work) */
.banner { position: relative; margin-top: -1px; }
.banner::before { content: ""; position: absolute; inset: 0; }
.banner--links { height: clamp(260px, 26vw, 320px); background: url(../img/viking-ship-tile.jpg) left center / cover; }
.banner--links::before { background: linear-gradient(90deg, var(--bg) 30%, rgba(18, 17, 22, .35)); }
.banner--student { height: clamp(340px, 34vw, 440px); background: url(../img/costumes.jpg) center 45% / cover; }
.banner--student::before { background: linear-gradient(180deg, rgba(18, 17, 22, 0) 30%, var(--bg)); }
.banner__text { position: absolute; left: var(--gutter); right: 20px; bottom: clamp(28px, 4vw, 48px); display: flex; flex-direction: column; gap: 10px; }
.banner--student .banner__text { bottom: 40px; gap: 8px; }
.banner .kicker { font-size: 18px; }
.banner__title { font: 400 clamp(48px, 6vw, 72px)/1 var(--display); }
.banner--student .banner__title { font-size: clamp(44px, 6.5vw, 80px); }
.banner__sub { font: italic clamp(18px, 1.8vw, 22px) var(--body); color: var(--second); }
.banner--student .banner__sub { font-size: clamp(19px, 2vw, 24px); }

/* Links */
.link-groups { padding: clamp(36px, 5vw, 56px) 0 8px; display: flex; flex-direction: column; }
.link-groups .side { gap: 12px 64px; }
.link-groups .side__label { font-size: 22px; }
.link-list { flex: 1 1 480px; list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 0 40px; min-width: 0; }
.link-item { padding: 16px 0; border-bottom: 1px solid var(--rule-08); display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.link-item__name { font: 500 21px var(--body); color: var(--text); }
a.link-item__name:hover { color: var(--gold); }
.arrow { color: var(--teal); }
.link-item__desc { font-size: 17px; line-height: 1.45; color: var(--quiet); }
.link-item__also { font-size: 16px; color: var(--quiet); }
.link-item__domain { font: 14px ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; color: var(--mono); overflow-wrap: anywhere; }

/* Symposia */
.events { padding: 0 var(--gutter) 72px; }
.event-row {
	color: inherit; display: flex; flex-wrap: wrap; gap: 20px 36px; align-items: center;
	padding: 28px 0; border-top: 1px solid var(--rule-12);
}
.event-row:hover { color: inherit; background: rgba(233, 227, 214, .02); }
.event-row:hover .event-row__title { color: var(--gold); }
.event-row__when { flex: 0 0 130px; display: flex; flex-direction: column; }
.event-row__year { font: 46px/1 var(--display); color: var(--gold); }
.event-row__date { font-size: 17px; color: var(--quiet); margin-top: 6px; }
.event-row__thumb { flex: 1 1 240px; max-width: 300px; height: 160px; object-fit: cover; display: block; }
.event-row__text { flex: 3 1 340px; display: flex; flex-direction: column; gap: 6px; }
.event-row__kind { font: 15px var(--sc); color: var(--teal); letter-spacing: .04em; }
.event-row__title { font: clamp(26px, 2.6vw, 32px)/1.1 var(--display); transition: color .15s; }
.event-row__sub { font-size: 18px; color: var(--muted); }
.event-row__with { font: italic 16px var(--body); color: var(--faint); }
.event-row__cta { flex: 0 0 auto; margin-left: auto; font: 18px var(--sc); color: var(--gold); white-space: nowrap; }

.crumbs { padding: 24px var(--gutter) 0; font: 17px var(--sc); color: var(--faint); }
.crumbs a { color: var(--faint); }
.crumbs a:hover { color: var(--gold); }
.event-head { display: flex; flex-wrap: wrap; gap: 32px 56px; padding: 20px var(--gutter) clamp(40px, 5vw, 64px); align-items: flex-end; }
.event-head--loki { padding-top: clamp(40px, 5vw, 64px); padding-bottom: 48px; }
.event-head__text { flex: 1 1 440px; display: flex; flex-direction: column; gap: 18px; }
.event-head__title { font: 400 clamp(42px, 6vw, 80px)/1 var(--display); text-wrap: balance; }
.event-head--loki .event-head__title { font-size: clamp(44px, 6vw, 80px); }
.event-head__sub { font: italic clamp(19px, 2vw, 24px) var(--body); color: var(--second); }
.facts { display: grid; grid-template-columns: auto 1fr; gap: 8px 24px; font-size: 19px; margin: 8px 0 0; color: var(--second); }
.facts dt { font: 17px var(--sc); color: var(--faint); padding-top: 2px; }
.facts dd { margin: 0; overflow-wrap: anywhere; }
.event-head__images { flex: 1 1 420px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 12px; }
.event-image { margin: 0; display: flex; flex-direction: column; gap: 8px; }
.event-image img { width: 100%; height: clamp(220px, 26vw, 340px); object-fit: cover; display: block; }
.event-image figcaption { font-size: 15px; color: var(--quiet); }

.prog-row { display: flex; flex-wrap: wrap; gap: 2px 24px; padding: 12px 0; border-bottom: 1px solid var(--rule-08); font-size: clamp(18px, 1.7vw, 20px); line-height: 1.45; }
.prog-row__t { flex: 0 0 100px; font: 18px var(--sc); color: var(--teal); padding-top: 2px; }
.prog-row__body { flex: 1 1 300px; min-width: 0; }
.prog-row__main { color: var(--text); }
.prog-row__rest { color: var(--quiet); }
a.prog-row__rest:hover { color: var(--gold); }
.talks { list-style: none; margin: 8px 0 0; padding: 0 0 0 16px; border-left: 1px solid var(--rule-15); display: flex; flex-direction: column; gap: 6px; font-size: 17px; line-height: 1.45; color: var(--quiet); }
.talks__who { color: var(--second); }
.talks__chair { font: 16px var(--sc); color: var(--faint); }
.video { margin-top: 20px; aspect-ratio: 16 / 9; background: #000; border: 1px solid var(--rule-10); }
.video iframe { width: 100%; height: 100%; border: 0; display: block; }

/* Student Work */
.costumes {
	list-style: none; margin: 0;
	display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); gap: 24px;
	padding: 48px var(--gutter) 72px;
}
.costume { color: inherit; display: flex; flex-direction: column; gap: 12px; }
.costume:hover { color: var(--gold); }
.costume__image { width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: cover; display: block; border: 1px solid var(--rule-10); }
.costume__n { font: 15px var(--sc); color: var(--gold); }
.costume__name { font: 24px/1.15 var(--display); }

/* Loki */
.plate {
	margin: 0; flex: 1 1 380px; height: clamp(240px, 28vw, 380px);
	display: flex; align-items: center; justify-content: center;
	background: var(--field); border: 1px solid var(--rule-10); overflow: hidden;
}
.plate img { height: 100%; width: auto; object-fit: contain; }
.archive-list { flex: 1 1 440px; list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 0 32px; }
.archive-list a { color: inherit; padding: 16px 0; border-bottom: 1px solid var(--rule-08); display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font: 24px var(--display); }
.archive-list a:hover { color: var(--gold); }

/* Footer */
.footer {
	border-top: 1px solid var(--rule-12);
	padding: clamp(36px, 5vw, 56px) var(--gutter-home) 32px;
	display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 36px 56px;
	font-size: 17px; line-height: 1.7; color: var(--quiet);
}
.footer__about { display: flex; flex-direction: column; gap: 14px; }
.footer__brand { display: flex; align-items: center; gap: 12px; }
.footer__brand img { width: 30px; height: 30px; }
.footer__brand span { font: 24px var(--sc); color: var(--text); }
.footer__line { max-width: 340px; }
.footer__explore { display: flex; flex-direction: column; }
.footer__explore a { color: var(--quiet); }
.footer__explore a:hover { color: var(--gold); }
.footer__heading { font: 17px var(--sc); color: var(--text); margin-bottom: 6px; }
.footer__credits { display: flex; flex-direction: column; justify-content: space-between; gap: 16px; }
.footer__credits a { color: var(--quiet); text-decoration: underline; text-decoration-color: var(--rule-25); }
.footer__copy { display: flex; flex-wrap: wrap; gap: 8px 20px; align-items: center; }
.footer__copy a { color: var(--teal); text-decoration: none; }

@media (max-width: 999px) {
	.footer__explore a, .footer__copy a { min-height: 44px; display: inline-flex; align-items: center; }
	.archive-list a, .link-item__name { min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; }
}
