*,
::before,
::after {
	box-sizing: border-box;
}
a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex] {
	touch-action: manipulation;
}
button:focus,
input:focus,
select:focus,
textarea:focus,
[contenteditable]:focus {
	outline: 0;
}
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
	-webkit-appearance: none;
}
input[type="number"] {
	-moz-appearance: textfield;
}
table {
	border-collapse: collapse;
}
[hidden] {
	display: none !important;
}
::-ms-expand {
	display: none;
}
#toasts {
	position: fixed;
	right: 10px;
	top: 5px;
	z-index: 1001;
}
#toasts > * {
	background-color: #000A;
	border-radius: 10px;
	clear: both;
	color: white;
	cursor: zoom-out;
	float: right;
	margin-top: 5px;
	padding: 3px 6px;
}
@font-face {
	font-family: Fraunces;
	font-style: normal;
	font-weight: 300 700;
	font-display: swap;
	src: url(/font/fraunces-latin.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: Fraunces;
	font-style: normal;
	font-weight: 300 700;
	font-display: swap;
	src: url(/font/fraunces-latin-ext.woff2) format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: Sans3;
	font-style: normal;
	font-weight: 300 700;
	font-display: swap;
	src: url(/font/sans-latin.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: Sans3;
	font-style: normal;
	font-weight: 300 700;
	font-display: swap;
	src: url(/font/sans-latin-ext.woff2) format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
:root {
	--bg: #12100E;
	--bg-soft: #17140F;
	--surface: #1C1915;
	--surface-2: #242019;
	--ink: #F2EDE4;
	--muted: rgba(242, 237, 228, .60);
	--faint: rgba(242, 237, 228, .38);
	--line: rgba(242, 237, 228, .10);
	--line-strong: rgba(242, 237, 228, .20);
	--green: #7E9A72;
	--amber: #D9A441;
	--clay: #B4795F;
	--accent: #8FAE80;
	--danger: #C4705C;
	--shadow: 0 30px 80px rgba(0, 0, 0, .45);
	--serif: Fraunces, Iowan Old Style, Palatino, Georgia, serif;
	--sans: Sans3, ui-sans-serif, system-ui, Segoe UI, Helvetica, Arial, sans-serif;
	--measure: 34rem;
	--wide: 72rem;
	color-scheme: dark;
}
* {
	box-sizing: border-box;
}
html {
	scroll-behavior: smooth;
	scroll-padding-top: 84px;
	-webkit-text-size-adjust: 100%;
}
body {
	margin: 0;
	background: var(--bg);
	color: var(--ink);
	font-family: var(--sans);
	font-size: 17px;
	line-height: 1.65;
	font-weight: 350;
	letter-spacing: .002em;
	-webkit-font-smoothing: antialiased;
	padding-bottom: env(safe-area-inset-bottom);
}
img,
video {
	max-width: 100%;
	height: auto;
	display: block;
}
a {
	color: inherit;
	text-decoration: none;
}
p {
	margin: 0 0 1.1em;
}
:focus-visible {
	outline: 2px solid var(--accent);
	outline-offset: 3px;
	border-radius: 4px;
}
.skip {
	position: absolute;
	left: -9999px;
	top: 0;
	background: var(--surface);
	padding: 12px 18px;
	z-index: 60;
}
.skip:focus {
	left: 8px;
}
.ico {
	width: 22px;
	height: 22px;
}
.dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--clay);
	display: inline-block;
	margin-inline-end: 8px;
	animation: pulse 2.6s ease-in-out infinite;
}
.nav {
	position: sticky;
	top: 0;
	z-index: 50;
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 14px clamp(16px, 4vw, 40px);
	background: rgba(18, 16, 14, .72);
	backdrop-filter: blur(14px);
	border-bottom: 1px solid transparent;
	transition: border-color .4s ease, background .4s ease;
}
.nav.is-scrolled {
	border-bottom-color: var(--line);
}
.nav__brand {
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: var(--serif);
	font-size: 1.12rem;
	letter-spacing: .01em;
	margin-inline-end: auto;
}
.nav__mark {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	border: 1.5px solid var(--accent);
	display: inline-block;
}
.nav__links {
	display: flex;
	gap: 26px;
	font-size: .95rem;
	color: var(--muted);
}
.nav__links a {
	transition: color .3s ease;
}
.nav__links a:hover {
	color: var(--ink);
}
.nav__links a.is-current {
	color: var(--ink);
}
.nav__side {
	display: flex;
	align-items: center;
	gap: 14px;
}
.nav__live {
	display: inline-flex;
	align-items: center;
	font-size: .85rem;
	color: var(--ink);
	border: 1px solid var(--line-strong);
	border-radius: 999px;
	padding: 5px 12px;
}
.lang {
	display: flex;
	gap: 2px;
	font-size: .8rem;
	letter-spacing: .06em;
}
.lang__item {
	color: var(--faint);
	padding: 4px 6px;
}
.lang__item.is-current {
	color: var(--ink);
}
.lang__item:hover {
	color: var(--ink);
}
.nav__toggle {
	display: none;
	background: none;
	border: 0;
	padding: 8px;
	cursor: pointer;
	flex-direction: column;
	gap: 5px;
}
.nav__toggle i {
	display: block;
	width: 22px;
	height: 1.5px;
	background: var(--ink);
}
.nav.is-open .nav__links {
	display: flex;
	position: absolute;
	inset: 100% 0 auto 0;
	flex-direction: column;
	gap: 4px;
	background: var(--bg-soft);
	border-bottom: 1px solid var(--line);
	padding: 18px clamp(16px, 4vw, 40px) 26px;
	font-size: 1.15rem;
}
.hero {
	position: relative;
	min-height: 88svh;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 9vh clamp(20px, 6vw, 90px) 12vh;
	overflow: hidden;
	margin-top: -68px;
	padding-top: calc(9vh + 68px);
}
.hero__scene {
	position: absolute;
	inset: 0;
	z-index: 0;
}
.hero__video,
.hero__still {
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: .55;
	animation: drift 48s ease-in-out infinite alternate;
}
.hero__wash {
	position: absolute;
	inset: 0;
	background: radial-gradient(120% 90% at 78% 12%, rgba(217, 164, 65, .13), transparent 58%), radial-gradient(90% 80% at 10% 92%, rgba(126, 154, 114, .14), transparent 62%), linear-gradient(178deg, #17140F 0%, #12100E 62%, #0E0C0A 100%);
	animation: drift 42s ease-in-out infinite alternate;
}
.hero__veil {
	position: absolute;
	inset: 0;
	background: linear-gradient(100deg, rgba(18, 16, 14, .94) 0%, rgba(18, 16, 14, .78) 32%, rgba(18, 16, 14, .30) 66%, rgba(18, 16, 14, .18) 100%), linear-gradient(180deg, rgba(18, 16, 14, .60) 0%, rgba(18, 16, 14, .15) 38%, rgba(18, 16, 14, .94) 100%);
}
.hero__words {
	position: relative;
	z-index: 1;
	max-width: min(94vw, 46rem);
}
.hero__title {
	font-family: var(--serif);
	font-weight: 300;
	font-size: clamp(2.1rem, 5.4vw, 4.4rem);
	line-height: 1.06;
	letter-spacing: -.022em;
	margin: 0 0 clamp(24px, 4vw, 44px);
}
.hero__line {
	display: block;
	opacity: 0;
	transform: translateY(14px);
	animation: rise 1.5s cubic-bezier(.2, .7, .2, 1) forwards;
}
.hero__line:nth-child(1) {
	animation-delay: .2s;
}
.hero__line:nth-child(2) {
	animation-delay: .7s;
}
.hero__line:nth-child(3) {
	animation-delay: 1.2s;
}
.hero__line:nth-child(4) {
	animation-delay: 1.7s;
}
.hero__line em {
	font-style: italic;
	color: var(--amber);
}
.hero__beat {
	font-family: var(--serif);
	font-size: clamp(1.05rem, 2.2vw, 1.35rem);
	color: var(--muted);
	margin: 0 0 .2em;
	opacity: 0;
	animation: rise 1.6s ease forwards;
	animation-delay: 2.4s;
}
.hero__beat.hero__beat--late {
	animation-delay: 3.2s;
}
.hero__cta {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: clamp(26px, 4vw, 40px);
	opacity: 0;
	animation: rise 1.6s ease forwards;
	animation-delay: 4s;
}
.hero__down {
	position: absolute;
	left: 50%;
	bottom: 34px;
	z-index: 1;
	width: 26px;
	height: 42px;
	border: 1px solid var(--line-strong);
	border-radius: 14px;
	transform: translateX(-50%);
}
.hero__down span {
	position: absolute;
	left: 50%;
	top: 9px;
	width: 3px;
	height: 7px;
	border-radius: 2px;
	background: var(--faint);
	transform: translateX(-50%);
	animation: fall 2.4s ease-in-out infinite;
}
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 48px;
	padding: 12px 24px;
	border-radius: 999px;
	border: 1px solid transparent;
	font: inherit;
	font-size: .97rem;
	cursor: pointer;
	transition: background .35s ease, border-color .35s ease, color .35s ease, transform .35s ease;
}
.btn:active {
	transform: translateY(1px);
}
.btn--primary {
	background: var(--accent);
	color: #14120F;
	font-weight: 600;
}
.btn--primary:hover {
	background: #A2BF93;
}
.btn--ghost {
	border-color: var(--line-strong);
	color: var(--ink);
}
.btn--ghost:hover {
	border-color: var(--ink);
}
.btn--quiet {
	color: var(--muted);
}
.btn--quiet:hover {
	color: var(--ink);
}
.btn--small {
	min-height: 38px;
	padding: 8px 16px;
	font-size: .88rem;
}
.link {
	color: var(--accent);
	border-bottom: 1px solid rgba(143, 174, 128, .35);
	padding-bottom: 1px;
	transition: border-color .3s ease;
}
.link:hover {
	border-bottom-color: var(--accent);
}
.linkish {
	background: none;
	border: 0;
	padding: 0;
	color: var(--muted);
	font: inherit;
	font-size: .88rem;
	cursor: pointer;
	text-decoration: underline;
	text-underline-offset: 3px;
}
.linkish:hover {
	color: var(--ink);
}
.linkish.is-danger {
	color: var(--danger);
}
.band {
	padding: clamp(56px, 9vw, 118px) clamp(20px, 6vw, 90px);
	max-width: var(--wide);
	margin: 0 auto;
}
.band--tight {
	padding-bottom: clamp(26px, 4vw, 44px);
}
.band--top {
	padding-top: 0;
}
.band--read {
	max-width: calc(var(--measure) + 12rem);
	padding-top: 0;
}
.band--read p {
	font-size: 1.09rem;
	max-width: var(--measure);
	color: rgba(242, 237, 228, .84);
}
.band--quiet {
	text-align: center;
	border-block: 1px solid var(--line);
	background: var(--bg-soft);
	max-width: none;
}
.band__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: clamp(24px, 3vw, 38px);
}
.eyebrow {
	font-size: .78rem;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--faint);
	margin: 0 0 14px;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
}
.eyebrow--live {
	color: var(--clay);
}
.display {
	font-family: var(--serif);
	font-weight: 300;
	font-size: clamp(2rem, 4.6vw, 3.4rem);
	line-height: 1.08;
	letter-spacing: -.02em;
	margin: 0 0 .5em;
}
.h-large {
	font-family: var(--serif);
	font-weight: 300;
	font-size: clamp(1.5rem, 2.8vw, 2.2rem);
	line-height: 1.2;
	letter-spacing: -.012em;
	margin: 0 0 .5em;
}
.lead {
	font-size: clamp(1.05rem, 1.7vw, 1.22rem);
	color: var(--muted);
	max-width: var(--measure);
	line-height: 1.6;
}
.small {
	font-size: .88rem;
}
.muted {
	color: var(--muted);
}
.band--now {
	border-top: 1px solid var(--line);
}
.now__frame {
	margin: 28px 0;
	border-radius: 20px;
	overflow: hidden;
	box-shadow: var(--shadow);
}
.frame__img {
	width: 100%;
	object-fit: cover;
}
.shade {
	width: 100%;
	aspect-ratio: 3 / 2;
	background: linear-gradient(150deg, #221E18 0%, #191612 55%, #14110E 100%);
	position: relative;
}
.shade:after {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(60% 60% at 30% 25%, rgba(217, 164, 65, .10), transparent 70%);
}
.story__frame {
	margin: 0 auto clamp(32px, 5vw, 60px);
	max-width: var(--wide);
	padding: 0 clamp(20px, 6vw, 90px);
}
.story__frame figcaption {
	padding-top: 10px;
}
.frame__note {
	font-size: .85rem;
	color: var(--faint);
	max-width: var(--measure);
}
.cards {
	display: grid;
	gap: clamp(18px, 2.4vw, 30px);
	grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
}
.card {
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: 20px;
	overflow: hidden;
	transition: transform .5s cubic-bezier(.2, .7, .2, 1), border-color .5s ease;
}
.card:hover {
	transform: translateY(-4px);
	border-color: var(--line-strong);
}
.card__frame {
	position: relative;
	aspect-ratio: 3 / 2;
	overflow: hidden;
}
.card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 1.2s cubic-bezier(.2, .7, .2, 1);
}
.card:hover .card__img {
	transform: scale(1.03);
}
.card__body {
	padding: 20px 22px 24px;
}
.card__meta {
	font-size: .8rem;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--faint);
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0 0 10px;
}
.card__dot {
	opacity: .5;
}
.card__title {
	font-family: var(--serif);
	font-weight: 400;
	font-size: 1.24rem;
	line-height: 1.25;
	margin: 0 0 8px;
}
.card__lead {
	color: var(--muted);
	font-size: .95rem;
	margin: 0 0 16px;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.card__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin: 0;
	font-size: .82rem;
	color: var(--faint);
}
.tag {
	position: absolute;
	left: 12px;
	bottom: 12px;
	background: rgba(18, 16, 14, .78);
	backdrop-filter: blur(6px);
	border-radius: 999px;
	padding: 5px 12px;
	font-size: .76rem;
	letter-spacing: .04em;
}
.chip {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--line-strong);
	border-radius: 999px;
	padding: 4px 12px;
	font-size: .78rem;
	letter-spacing: .03em;
	color: var(--muted);
}
.chip--safe,
.chip--rehomed,
.chip--released,
.chip--returned {
	border-color: rgba(126, 154, 114, .45);
	color: #A2BF93;
}
.chip--needs,
.chip--helping {
	border-color: rgba(180, 121, 95, .5);
	color: #D08E72;
}
.chip--recovering {
	border-color: rgba(217, 164, 65, .45);
	color: var(--amber);
}
.chip--memorial {
	border-color: var(--line-strong);
	color: var(--faint);
}
.chip--demo {
	border-style: dashed;
}
.story__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.four {
	display: grid;
	gap: clamp(22px, 2.6vw, 38px);
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}
.four__title {
	font-family: var(--serif);
	font-weight: 300;
	font-size: 1.5rem;
	letter-spacing: .01em;
	margin: 0 0 10px;
	color: var(--amber);
}
.four__body {
	color: var(--muted);
	font-size: .98rem;
	margin: 0;
}
.creed {
	margin: 0 auto;
	max-width: 30ch;
}
.creed__main {
	font-family: var(--serif);
	font-weight: 300;
	font-size: clamp(1.7rem, 4vw, 2.9rem);
	line-height: 1.14;
	letter-spacing: -.02em;
	margin: 0 0 .5em;
}
.creed__sub {
	color: var(--muted);
	font-size: 1.05rem;
	margin: 0;
}
.creed__after {
	color: var(--faint);
	max-width: 42ch;
	margin: 1.4em auto 0;
}
.band--vision {
	text-align: center;
}
.ladder {
	list-style: none;
	margin: 0 auto;
	padding: 0;
	max-width: 30ch;
}
.ladder__step {
	font-family: var(--serif);
	font-weight: 300;
	font-size: clamp(1.3rem, 3vw, 2rem);
	line-height: 1.25;
	margin: 0 0 .45em;
	color: rgba(242, 237, 228, .55);
}
.ladder__step:last-child {
	color: var(--ink);
}
.ladder__end {
	color: var(--muted);
	margin: 2em auto 0;
	max-width: 34ch;
}
.ladder__end--last {
	color: var(--amber);
	font-family: var(--serif);
	font-size: 1.3rem;
}
.band--close {
	text-align: center;
	border-top: 1px solid var(--line);
	max-width: none;
}
.close__ask {
	font-family: var(--serif);
	font-size: clamp(1.3rem, 3vw, 2rem);
	color: var(--muted);
	margin: 0 0 .2em;
}
.close__ask--you {
	color: var(--amber);
}
.close__cta {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	justify-content: center;
	margin-top: 34px;
}
.time {
	list-style: none;
	margin: 0;
	padding: 0;
	max-width: calc(var(--measure) + 10rem);
}
.time__item {
	display: grid;
	grid-template-columns: 64px 1fr;
	gap: 18px;
	padding: 26px 0;
	border-top: 1px solid var(--line);
}
.time__no {
	font-family: var(--serif);
	font-size: 1.5rem;
	color: var(--faint);
	margin: 0;
}
.time__title {
	font-family: var(--serif);
	font-weight: 400;
	font-size: 1.2rem;
	margin: 0 0 .4em;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.time__sub {
	font-family: var(--sans);
	font-size: .95rem;
	color: var(--muted);
	font-weight: 350;
}
.time__pro {
	color: var(--amber);
	font-size: .92rem;
}
.time__media {
	margin: 14px 0 0;
	border-radius: 14px;
	overflow: hidden;
}
.time__img {
	width: 100%;
}
.grid {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}
.grid__item {
	margin: 0;
	border-radius: 14px;
	overflow: hidden;
}
.grid__item figcaption {
	font-size: .82rem;
	color: var(--faint);
	padding: 8px 2px 0;
}
.grid__img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}
.animal-card {
	display: grid;
	grid-template-columns: minmax(0, 260px) 1fr;
	gap: clamp(20px, 3vw, 40px);
	align-items: center;
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: 22px;
	padding: clamp(18px, 2.4vw, 30px);
}
.animal-card__img {
	border-radius: 16px;
	overflow: hidden;
}
.animal-card__pic {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}
.facts {
	margin: 0;
	border-top: 1px solid var(--line);
}
.facts__row {
	display: grid;
	grid-template-columns: 12rem 1fr;
	gap: 12px;
	padding: 12px 0;
	border-bottom: 1px solid var(--line);
}
.facts__row dt {
	color: var(--faint);
}
.facts__row dd {
	margin: 0;
}
.note {
	border-left: 2px solid var(--accent);
	padding: 4px 0 4px 20px;
	margin: 0 0 1.4em;
	max-width: var(--measure);
}
.rules {
	list-style: none;
	margin: 0;
	padding: 0;
	max-width: calc(var(--measure) + 6rem);
}
.rules li {
	padding: 16px 0 16px 30px;
	border-top: 1px solid var(--line);
	position: relative;
	color: var(--muted);
}
.rules li:before {
	content: '—';
	position: absolute;
	left: 0;
	color: var(--accent);
}
.people {
	display: grid;
	gap: clamp(20px, 3vw, 36px);
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}
.person__mark {
	font-family: var(--serif);
	font-size: 1.4rem;
	width: 54px;
	height: 54px;
	border-radius: 50%;
	border: 1px solid var(--line-strong);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--amber);
	margin: 0 0 16px;
}
.person__name {
	font-family: var(--serif);
	font-weight: 400;
	font-size: 1.3rem;
	margin: 0 0 .3em;
}
.person__body {
	color: var(--muted);
	font-size: .97rem;
}
.player {
	position: relative;
	border-radius: 20px;
	overflow: hidden;
	background: #000;
	box-shadow: var(--shadow);
}
.player--compact {
	max-width: 42rem;
}
.player__video {
	width: 100%;
	aspect-ratio: 16 / 9;
	background: #000;
}
.player__badge {
	position: absolute;
	top: 14px;
	left: 14px;
	background: rgba(180, 121, 95, .9);
	color: #14110E;
	font-size: .72rem;
	letter-spacing: .12em;
	padding: 4px 10px;
	border-radius: 999px;
	font-weight: 700;
}
.band--player {
	padding-top: 0;
}
.live__meta {
	display: flex;
	gap: 18px;
	flex-wrap: wrap;
	margin-top: 16px;
	color: var(--faint);
	font-size: .9rem;
}
.live__meta p {
	margin: 0;
}
.helpline {
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
	padding: 26px 0;
	margin: clamp(30px, 5vw, 56px) auto;
	max-width: var(--wide);
	text-align: center;
}
.helpline__line {
	font-family: var(--serif);
	font-size: 1.15rem;
	color: var(--muted);
	margin: 0 0 .5em;
}
.band--support {
	padding-top: 0;
}
.gifts {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	margin-bottom: 24px;
}
.gift {
	position: relative;
	display: block;
	border: 1px solid var(--line);
	border-radius: 18px;
	padding: 20px;
	cursor: pointer;
	transition: border-color .3s ease, background .3s ease;
}
.gift:hover {
	border-color: var(--line-strong);
}
.gift__radio {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}
.gift:has(.gift__radio:checked) {
	border-color: var(--accent);
	background: rgba(126, 154, 114, .07);
}
.gift__icon {
	font-size: 1.6rem;
	display: block;
	margin-bottom: 10px;
}
.gift__label {
	display: block;
	font-family: var(--serif);
	font-size: 1.15rem;
	margin-bottom: 4px;
}
.gift__line {
	display: block;
	color: var(--faint);
	font-size: .88rem;
}
.gift__amount {
	display: block;
	margin-top: 10px;
	color: var(--amber);
}
.gift__custom {
	display: none;
	max-width: 18rem;
}
.gift__custom.is-shown {
	display: block;
}
.total {
	font-family: var(--serif);
	font-size: clamp(2rem, 5vw, 3.2rem);
	margin: 0;
	color: var(--amber);
}
.ref {
	font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size: 1.3rem;
	letter-spacing: .1em;
	color: var(--amber);
}
.field {
	display: block;
	margin-bottom: 18px;
}
.field__label {
	display: block;
	font-size: .86rem;
	color: var(--muted);
	margin-bottom: 7px;
}
.field__hint {
	display: block;
	font-size: .82rem;
	color: var(--faint);
	margin-top: 6px;
}
.input {
	width: 100%;
	background: var(--surface);
	border: 1px solid var(--line-strong);
	border-radius: 12px;
	color: var(--ink);
	font: inherit;
	font-size: 1rem;
	padding: 13px 15px;
	min-height: 48px;
	transition: border-color .3s ease;
}
.input:focus {
	border-color: var(--accent);
}
textarea.input {
	min-height: 90px;
	resize: vertical;
	line-height: 1.55;
}
.check {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin-bottom: 14px;
	cursor: pointer;
}
.check input {
	width: 22px;
	height: 22px;
	margin-top: 2px;
	accent-color: var(--accent);
	flex: none;
}
.more {
	margin-bottom: 20px;
}
.more summary {
	cursor: pointer;
	color: var(--muted);
	font-size: .92rem;
	padding: 8px 0;
}
.talk {
	display: grid;
	gap: 16px;
	max-width: calc(var(--measure) + 8rem);
	margin-bottom: 30px;
}
.talk__item {
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: 16px;
	padding: 18px 20px;
}
.talk__item.is-pinned {
	border-color: rgba(217, 164, 65, .4);
}
.talk__who {
	font-size: .85rem;
	color: var(--amber);
	margin: 0 0 6px;
}
.talk__body {
	margin: 0;
	color: rgba(242, 237, 228, .86);
}
.comment__tools {
	margin: 10px 0 0;
}
.share {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	padding-top: 24px;
	border-top: 1px solid var(--line);
	margin-top: 30px;
}
.share__label {
	margin: 0;
	color: var(--faint);
	font-size: .88rem;
	margin-inline-end: 6px;
}
.foot {
	border-top: 1px solid var(--line);
	padding: clamp(40px, 6vw, 72px) clamp(20px, 6vw, 90px) 110px;
	background: var(--bg-soft);
}
.foot__top {
	max-width: var(--wide);
	margin: 0 auto;
	display: grid;
	gap: 34px;
	grid-template-columns: 1.4fr 1fr 1fr;
}
.foot__name {
	font-family: var(--serif);
	font-size: 1.3rem;
	margin: 0 0 .4em;
}
.foot__line {
	color: var(--muted);
	max-width: 26ch;
}
.foot__links {
	display: flex;
	flex-direction: column;
	gap: 10px;
	font-size: .95rem;
	color: var(--muted);
}
.foot__links a {
	transition: color .3s ease;
}
.foot__links a:hover {
	color: var(--ink);
}
.foot__bottom {
	max-width: var(--wide);
	margin: 40px auto 0;
	padding-top: 24px;
	border-top: 1px solid var(--line);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	color: var(--faint);
	font-size: .85rem;
}
.foot__bottom p {
	margin: 0;
}
.foot__pass {
	font-family: var(--serif);
	letter-spacing: .04em;
}
.foot__studio {
	color: rgba(242, 237, 228, .25);
}
.foot__studio:hover {
	color: var(--muted);
}
.bar {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 55;
	display: none;
	background: rgba(23, 20, 15, .93);
	backdrop-filter: blur(14px);
	border-top: 1px solid var(--line);
	padding-bottom: env(safe-area-inset-bottom);
}
.bar__item {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 3px;
	padding: 10px 4px 12px;
	font-size: .7rem;
	letter-spacing: .04em;
	color: var(--faint);
}
.bar__item.is-current {
	color: var(--ink);
}
.sheet {
	border: 0;
	background: var(--surface);
	color: var(--ink);
	border-radius: 20px;
	padding: 0;
	max-width: 34rem;
	width: calc(100% - 32px);
	box-shadow: var(--shadow);
}
.sheet: backdrop {
	background: rgba(10, 9, 8, .7);
}
.sheet__x {
	text-align: right;
	padding: 10px 10px 0;
}
.sheet__x button {
	background: none;
	border: 0;
	color: var(--muted);
	font-size: 1.6rem;
	cursor: pointer;
	line-height: 1;
}
.sheet__body {
	padding: 0 26px 26px;
}
.reveal {
	opacity: 1;
}
@keyframes pulse{
	0%,
	100% {
		opacity: 1;
	}
	50% {
		opacity: .35;
	}
}
@media (max-width: 900px){
	.nav__links {
		display: none;
	}
	.nav__toggle {
		display: flex;
	}
	.bar {
		display: flex;
	}
}
@keyframes drift{
	0% {
		transform: scale(1.04) translate3d(0, 0, 0);
	}
	100% {
		transform: scale(1.12) translate3d(-1.5%, -1.5%, 0);
	}
}
@media (max-width: 760px){
	.hero__veil {
		background: linear-gradient(180deg, rgba(18, 16, 14, .62) 0%, rgba(18, 16, 14, .40) 34%, rgba(18, 16, 14, .96) 100%);
	}
}
@keyframes rise{
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
@keyframes fall{
	0%,
	100% {
		transform: translate(-50%, 0);
		opacity: .2;
	}
	50% {
		transform: translate(-50%, 14px);
		opacity: 1;
	}
}
@media (max-width: 720px){
	.animal-card {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 620px){
	.facts__row {
		grid-template-columns: 1fr;
	}
	body {
		font-size: 16px;
	}
	.time__item {
		grid-template-columns: 44px 1fr;
	}
	.band {
		padding-inline: 20px;
	}
}
@media (max-width: 820px){
	.foot__top {
		grid-template-columns: 1fr;
	}
}
@media (scripting: enabled){
	.reveal {
		opacity: 0;
		transform: translateY(22px);
		transition: opacity 1.1s cubic-bezier(.2, .7, .2, 1), transform 1.1s cubic-bezier(.2, .7, .2, 1);
	}
	.reveal.is-in {
		opacity: 1;
		transform: none;
	}
}
@media (prefers-reduced-motion: reduce){
	html {
		scroll-behavior: auto;
	}
	.reveal {
		opacity: 1;
		transform: none;
		transition: none;
	}
	.hero__line,
	.hero__beat,
	.hero__cta {
		opacity: 1;
		animation: none;
	}
	.hero__wash,
	.dot,
	.hero__down span {
		animation: none;
	}
}
