@import url(fontawesome-all.min.css);
@import url("https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400,400italic");

:root {
	--site-font: "Source Sans Pro", Helvetica, Arial, sans-serif;
}

html {
	font-size: 93.75%;
}

@-moz-keyframes spinner {
	0% {
		-moz-transform: rotate(0deg);
		-webkit-transform: rotate(0deg);
		-ms-transform: rotate(0deg);
		transform: rotate(0deg);
	}

	100% {
		-moz-transform: rotate(359deg);
		-webkit-transform: rotate(359deg);
		-ms-transform: rotate(359deg);
		transform: rotate(359deg);
	}
}

@-webkit-keyframes spinner {
	0% {
		-moz-transform: rotate(0deg);
		-webkit-transform: rotate(0deg);
		-ms-transform: rotate(0deg);
		transform: rotate(0deg);
	}

	100% {
		-moz-transform: rotate(359deg);
		-webkit-transform: rotate(359deg);
		-ms-transform: rotate(359deg);
		transform: rotate(359deg);
	}
}

@-ms-keyframes spinner {
	0% {
		-moz-transform: rotate(0deg);
		-webkit-transform: rotate(0deg);
		-ms-transform: rotate(0deg);
		transform: rotate(0deg);
	}

	100% {
		-moz-transform: rotate(359deg);
		-webkit-transform: rotate(359deg);
		-ms-transform: rotate(359deg);
		transform: rotate(359deg);
	}
}

@keyframes spinner {
	0% {
		-moz-transform: rotate(0deg);
		-webkit-transform: rotate(0deg);
		-ms-transform: rotate(0deg);
		transform: rotate(0deg);
	}

	100% {
		-moz-transform: rotate(359deg);
		-webkit-transform: rotate(359deg);
		-ms-transform: rotate(359deg);
		transform: rotate(359deg);
	}
}

html, body, div, span, applet, object,
iframe, h1, h2, h3, h4, h5, h6, p, blockquote,
pre, a, abbr, acronym, address, big, cite,
code, del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var, b,
u, i, center, dl, dt, dd, ol, ul, li, fieldset,
form, label, legend, table, caption, tbody,
tfoot, thead, tr, th, td, article, aside,
canvas, details, embed, figure, figcaption,
footer, header, hgroup, menu, nav, output, ruby,
section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;}

body {
	line-height: 1;
}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

	blockquote:before, blockquote:after, q:before, q:after {
		content: '';
		content: none;
	}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

body {
	-webkit-text-size-adjust: none;
}

mark {
	background-color: transparent;
	color: inherit;
}

input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

input, select, textarea {
	-moz-appearance: none;
	-webkit-appearance: none;
	-ms-appearance: none;
	appearance: none;
}

/* Basic */

	@-ms-viewport {
		width: device-width;
	}

	body {
		-ms-overflow-style: scrollbar;
	}

	@media screen and (max-width: 480px) {

		html, body {
			min-width: 320px;
		}

	}

	html {
		box-sizing: border-box;
	}

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

	html {
		scroll-behavior: smooth;
	}

	@media (prefers-reduced-motion: reduce) {
		html {
			scroll-behavior: auto;
		}
	}

	html, body {
		min-height: 100%;
		height: auto;
	}

	body {
		background: #242629;
		opacity: 0;
		transition: opacity 0.85s ease;
		overflow-y: auto;
	}

	body.is-loaded {
		opacity: 1;
	}

	body.modal-open {
		overflow: hidden;
		position: fixed;
		inset: 0;
		width: 100%;
		top: var(--modal-scroll-lock-top, 0);
		overscroll-behavior: none;
	}

		body.is-preload *, body.is-preload *:before, body.is-preload *:after {
			-moz-animation: none !important;
			-webkit-animation: none !important;
			-ms-animation: none !important;
			animation: none !important;
			-moz-transition: none !important;
			-webkit-transition: none !important;
			-ms-transition: none !important;
			transition: none !important;
		}

		body.is-resizing *, body.is-resizing *:before, body.is-resizing *:after {
			-moz-animation: none !important;
			-webkit-animation: none !important;
			-ms-animation: none !important;
			animation: none !important;
			-moz-transition: none !important;
			-webkit-transition: none !important;
			-ms-transition: none !important;
			transition: none !important;
		}

/* Type */

	body, input, select, textarea {
		color: #a0a0a1;
		font-family: var(--site-font);
		font-size: 10pt;
		font-weight: 400;
		letter-spacing: 0;
		line-height: 1.65;
	}

	a {
		-moz-transition: color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
		-webkit-transition: color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
		-ms-transition: color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
		transition: color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
		border-bottom: dotted 1px;
		color: #34a58e;
		text-decoration: none;
	}

		a:hover {
			border-bottom-color: transparent;
			color: #34a58e !important;
		}

	strong, b {
		color: #ffffff;
		font-weight: 600;
	}

	em, i {
		font-style: italic;
	}

	p {
		margin: 0 0 2em 0;
	}

	h1, h2, h3, h4, h5, h6 {
		color: #ffffff;
		font-family: var(--site-font);
		font-weight: 600;
		letter-spacing: 0;
		line-height: 1.5;
		margin: 0 0 1em 0;
		text-transform: uppercase;
	}

		h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
			color: inherit;
			text-decoration: none;
		}

	h1 {
		font-size: 1.75em;
	}

	h2 {
		font-size: 1.12em;
	}

	h3 {
		font-size: 1em;
	}

	h4 {
		font-size: 1em;
	}

	h5 {
		font-size: 0.9em;
	}

	h6 {
		font-size: 0.7em;
	}

	@media screen and (max-width: 736px) {

		h2 {
			font-size: 1em;
		}

		h3 {
			font-size: 0.9em;
		}

		h4 {
			font-size: 0.8em;
		}

		h5 {
			font-size: 0.7em;
		}

		h6 {
			font-size: 0.7em;
		}

	}

	sub {
		font-size: 0.8em;
		position: relative;
		top: 0.5em;
	}

	sup {
		font-size: 0.8em;
		position: relative;
		top: -0.5em;
	}

	blockquote {
		border-left: 4px #36383c;
		font-style: italic;
		margin: 0 0 2em 0;
		padding: 0.5em 0 0.5em 2em;
	}

	code {
		background: #34363b;
		border: solid 1px #36383c;
		font-family: var(--site-font);
		font-size: 0.9em;
		margin: 0 0.25em;
		padding: 0.25em 0.65em;
	}

	pre {
		-webkit-overflow-scrolling: touch;
		font-family: var(--site-font);
		font-size: 0.9em;
		margin: 0 0 2em 0;
	}

		pre code {
			display: block;
			line-height: 1.75;
			padding: 1em 1.5em;
			overflow-x: auto;
		}

	hr {
		border: 0;
		border-bottom: solid 1px #36383c;
		margin: 2em 0;
	}

		hr.major {
			margin: 3em 0;
		}

	.align-left {
		text-align: left;
	}

	.align-center {
		text-align: center;
	}

	.align-right {
		text-align: right;
	}

/* Button */

	input[type="submit"],
	input[type="reset"],
	input[type="button"],
	button,
	.button {
		-moz-appearance: none;
		-webkit-appearance: none;
		-ms-appearance: none;
		appearance: none;
		-moz-transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, color 0.2s ease-in-out;
		-webkit-transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, color 0.2s ease-in-out;
		-ms-transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, color 0.2s ease-in-out;
		transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, color 0.2s ease-in-out;
		background-color: transparent;
		border: 0;
		border-radius: 999px;
		box-shadow: inset 0 0 0 1.5px rgba(255,255,255,0.18);
		color: #ffffff !important;
		cursor: pointer;
		display: inline-block;
		font-size: 0.9em;
		font-weight: 300;
		height: 3.05556em;
		letter-spacing: 0.1em;
		line-height: 3.05556em;
		padding: 0 2.5em;
		text-align: center;
		text-decoration: none;
		text-transform: uppercase;
		white-space: nowrap;
	}

		input[type="submit"]:hover,
		input[type="reset"]:hover,
		input[type="button"]:hover,
		button:hover,
		.button:hover {
			background-color: rgba(52,165,142,0.07);
			box-shadow: inset 0 0 0 1.5px rgba(52,165,142,0.72);
			color: #34a58e !important;
		}

			input[type="submit"]:hover:active,
			input[type="reset"]:hover:active,
			input[type="button"]:hover:active,
			button:hover:active,
			.button:hover:active {
				background-color: rgba(52, 165, 142, 0.15);
				color: #34a58e !important;
			}

		input[type="submit"].icon,
		input[type="reset"].icon,
		input[type="button"].icon,
		button.icon,
		.button.icon {
			padding-left: 1.35em;
		}

			input[type="submit"].icon:before,
			input[type="reset"].icon:before,
			input[type="button"].icon:before,
			button.icon:before,
			.button.icon:before {
				margin-right: 0.5em;
			}

		input[type="submit"].fit,
		input[type="reset"].fit,
		input[type="button"].fit,
		button.fit,
		.button.fit {
			width: 100%;
		}

		input[type="submit"].small,
		input[type="reset"].small,
		input[type="button"].small,
		button.small,
		.button.small {
			font-size: 0.8em;
		}

		input[type="submit"].large,
		input[type="reset"].large,
		input[type="button"].large,
		button.large,
		.button.large {
			font-size: 1.35em;
		}

		input[type="submit"].primary,
		input[type="reset"].primary,
		input[type="button"].primary,
		button.primary,
		.button.primary {
			background-color: #34a58e;
			box-shadow: none;
			border-radius: 999px;
		}

			input[type="submit"].primary:hover,
			input[type="reset"].primary:hover,
			input[type="button"].primary:hover,
			button.primary:hover,
			.button.primary:hover {
				background-color: #47c5ab;
				color: #ffffff !important;
			}

				input[type="submit"].primary:hover:active,
				input[type="reset"].primary:hover:active,
				input[type="button"].primary:hover:active,
				button.primary:hover:active,
				.button.primary:hover:active {
					background-color: #287e6d;
				}

		input[type="submit"].disabled, input[type="submit"]:disabled,
		input[type="reset"].disabled,
		input[type="reset"]:disabled,
		input[type="button"].disabled,
		input[type="button"]:disabled,
		button.disabled,
		button:disabled,
		.button.disabled,
		.button:disabled {
			pointer-events: none;
			opacity: 0.35;
		}

/* Form */

	form {
		margin: 0 0 2em 0;
	}

		form > :last-child {
			margin-bottom: 0;
		}

		form > .fields {
			display: -moz-flex;
			display: -webkit-flex;
			display: -ms-flex;
			display: flex;
			-moz-flex-wrap: wrap;
			-webkit-flex-wrap: wrap;
			-ms-flex-wrap: wrap;
			flex-wrap: wrap;
			width: calc(100% + 3em);
			margin: -1.5em 0 2em -1.5em;
		}

			form > .fields > .field {
				-moz-flex-grow: 0;
				-webkit-flex-grow: 0;
				-ms-flex-grow: 0;
				flex-grow: 0;
				-moz-flex-shrink: 0;
				-webkit-flex-shrink: 0;
				-ms-flex-shrink: 0;
				flex-shrink: 0;
				padding: 1.5em 0 0 1.5em;
				width: calc(100% - 1.5em);
			}

				form > .fields > .field.half {
					width: calc(50% - 0.75em);
				}

				form > .fields > .field.third {
					width: calc(100%/3 - 0.5em);
				}

				form > .fields > .field.quarter {
					width: calc(25% - 0.375em);
				}

		@media screen and (max-width: 736px) {

			form > .fields {
				width: calc(100% + 3em);
				margin: -1.5em 0 2em -1.5em;
			}

				form > .fields > .field {
					padding: 1.5em 0 0 1.5em;
					width: calc(100% - 1.5em);
				}

					form > .fields > .field.half {
						width: calc(100% - 1.5em);
					}

					form > .fields > .field.third {
						width: calc(100% - 1.5em);
					}

					form > .fields > .field.quarter {
						width: calc(100% - 1.5em);
					}

		}

	label {
		color: #ffffff;
		display: block;
		font-size: 0.9em;
		font-weight: 300;
		margin: 0 0 1em 0;
	}

	input[type="text"],
	input[type="password"],
	input[type="email"],
	input[type="tel"],
	input[type="search"],
	input[type="url"],
	select,
	textarea {
		-moz-appearance: none;
		-webkit-appearance: none;
		-ms-appearance: none;
		appearance: none;
		background: #34363b;
		border: 0;
		border-radius: 0;
		color: #a0a0a1;
		display: block;
		outline: 0;
		padding: 0 0.85em;
		text-decoration: none;
		width: 100%;
	}

		input[type="text"]:invalid,
		input[type="password"]:invalid,
		input[type="email"]:invalid,
		input[type="tel"]:invalid,
		input[type="search"]:invalid,
		input[type="url"]:invalid,
		select:invalid,
		textarea:invalid {
			box-shadow: none;
		}

		input[type="text"]:focus,
		input[type="password"]:focus,
		input[type="email"]:focus,
		input[type="tel"]:focus,
		input[type="search"]:focus,
		input[type="url"]:focus,
		select:focus,
		textarea:focus {
			box-shadow: inset 0 0 0 2px #34a58e;
		}

	select {
		background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' preserveAspectRatio='none' viewBox='0 0 40 40'%3E%3Cpath d='M9.4,12.3l10.4,10.4l10.4-10.4c0.2-0.2,0.5-0.4,0.9-0.4c0.3,0,0.6,0.1,0.9,0.4l3.3,3.3c0.2,0.2,0.4,0.5,0.4,0.9 c0,0.4-0.1,0.6-0.4,0.9L20.7,31.9c-0.2,0.2-0.5,0.4-0.9,0.4c-0.3,0-0.6-0.1-0.9-0.4L4.3,17.3c-0.2-0.2-0.4-0.5-0.4-0.9 c0-0.4,0.1-0.6,0.4-0.9l3.3-3.3c0.2-0.2,0.5-0.4,0.9-0.4S9.1,12.1,9.4,12.3z' fill='%2336383c' /%3E%3C/svg%3E");
		background-size: 1.25rem;
		background-repeat: no-repeat;
		background-position: calc(100% - 1rem) center;
		height: 2.75em;
		padding-right: 2.75em;
		text-overflow: ellipsis;
	}

		select option {
			color: #ffffff;
			background: #242629;
		}

		select:focus::-ms-value {
			background-color: transparent;
		}

		select::-ms-expand {
			display: none;
		}

		/* Gallery & Admin styles */
		.gallery-grid {
			display: grid;
			grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
			gap: 1.5rem;
			padding: 2rem 0;
			max-width: 72em;
			margin: 0 auto;
		}

		.gallery-item {
			background: #17181a;
			border: 1px solid #26282b;
			border-radius: 12px;
			overflow: hidden;
			transition: transform 0.22s ease, box-shadow 0.22s ease;
			position: relative;
			aspect-ratio: 3 / 4;
		}

		.gallery-item img {
			position: absolute;
			inset: 0;
			width: 100%;
			height: 100%;
			object-fit: cover;
			display: block;
		}

		.gallery-item figcaption {
			padding: 0.85rem;
			text-align: center;
			color: #c7c9cc;
			font-size: 0.95rem;
		}

		.gallery-item:hover {
			transform: translateY(-6px);
			box-shadow: 0 20px 40px rgba(0,0,0,0.6);
		}

		@media screen and (max-width: 980px) {
			.gallery-grid { grid-template-columns: repeat(2, 1fr); }
			.gallery-item { aspect-ratio: 3 / 4; }
		}

		@media screen and (max-width: 520px) {
			.gallery-grid { grid-template-columns: 1fr; padding: 1.25rem 0; }
			.gallery-item { aspect-ratio: 3 / 2; }
		}

		#main.is-carousel {
			display: block;
			width: min(100%, 78rem);
			margin: 0 auto;
			padding: 1.5rem;
			background: linear-gradient(145deg, rgba(9,12,16,0.92) 0%, rgba(23,28,35,0.84) 100%);
			border-radius: 2rem;
			box-shadow: 0 24px 54px rgba(0,0,0,0.34);
		}

		#main.is-carousel .gallery-slider {
			position: relative;
			overflow: hidden;
			border-radius: 2rem;
			border: 1px solid rgba(255,255,255,0.08);
			background: linear-gradient(145deg, rgba(9,12,16,0.92) 0%, rgba(23,28,35,0.84) 100%);
			box-shadow: 0 28px 60px rgba(0,0,0,0.34);
			-webkit-touch-callout: none;
			touch-action: pan-y pinch-zoom;
			user-select: none;
		}

		#main.is-carousel .gallery-slider:after {
			content: '';
			position: absolute;
			inset: 0.85rem;
			border: 1px solid rgba(122,232,230,0);
			border-radius: 1.45rem;
			opacity: 0;
			pointer-events: none;
			transform: scale(0.985);
		}

		#main.is-carousel .gallery-slider.is-pressing:after {
			border-color: rgba(122,232,230,0.28);
			opacity: 0.5;
			transform: scale(1);
		}

		#main.is-carousel .gallery-slider.is-edit-pulsing:after {
			animation: galleryEditPulse 0.48s ease-out;
			border-color: rgba(122,232,230,0.52);
		}

		#main.is-carousel .gallery-slider.is-edit-pulsing {
			box-shadow: 0 30px 62px rgba(0,0,0,0.34), 0 0 0 1px rgba(122,232,230,0.32);
		}

		@keyframes galleryEditPulse {
			0% {
				opacity: 0.82;
				transform: scale(0.985);
			}
			100% {
				opacity: 0;
				transform: scale(1.035);
			}
		}

		#main.is-carousel .gallery-slider-viewport {
			overflow: hidden;
		}

		#main.is-carousel .gallery-slider-track {
			display: flex;
			transform: translate3d(0, 0, 0);
			transition: transform 0.85s cubic-bezier(0.22, 1, 0.36, 1);
			will-change: transform;
		}

		#main.is-carousel .gallery-slide {
			position: relative;
			flex: 0 0 100%;
			min-width: 100%;
			min-height: clamp(24rem, 70vh, 42rem);
			overflow: hidden;
			isolation: isolate;
			background:
				radial-gradient(circle at 20% 18%, rgba(122,232,230,0.14) 0%, rgba(122,232,230,0) 34%),
				radial-gradient(circle at 82% 16%, rgba(255,203,168,0.12) 0%, rgba(255,203,168,0) 32%),
				linear-gradient(145deg, rgba(8,11,14,0.96) 0%, rgba(18,23,29,0.92) 100%);
		}

		#main.is-carousel .gallery-slide:before {
			display: none;
		}

		#main.is-carousel .gallery-slide-overlay {
			position: absolute;
			inset: 0;
			background:
				linear-gradient(180deg, rgba(5,8,11,0.12) 0%, rgba(5,8,11,0.18) 38%, rgba(5,8,11,0.72) 100%),
				linear-gradient(90deg, rgba(8,12,16,0.74) 0%, rgba(8,12,16,0.14) 48%, rgba(8,12,16,0.48) 100%);
			pointer-events: none;
			z-index: 2;
			-webkit-transform: translateZ(0);
			transform: translateZ(0);
		}

		#main.is-carousel .gallery-slide-media {
			display: block;
			position: absolute;
			inset: 0;
			border: 0;
			overflow: hidden;
			background: transparent;
			cursor: default;
			z-index: 0;
		}

		#main.is-carousel .gallery-slide-backdrop {
			position: absolute;
			inset: -6%;
			display: block;
			width: 112%;
			height: 112%;
			object-fit: cover;
			filter: blur(34px) saturate(0.92);
			opacity: 0.68;
			transform: scale(1.08);
			z-index: 0;
		}

		#main.is-carousel .gallery-slide-photo {
			position: relative;
			z-index: 1;
			display: block;
			width: 100%;
			height: 100%;
			object-fit: contain;
			object-position: center;
			padding: clamp(0.5rem, 1.35vw, 0.95rem);
			transform: scale(1);
			transition: transform 1.2s ease, filter 0.3s ease;
		}

		#main.is-carousel .gallery-slide.is-active .gallery-slide-photo {
			transform: scale(1.015);
		}

		#main.is-carousel .gallery-slide-media:hover .gallery-slide-photo {
			filter: brightness(1.04) saturate(1.04);
			transform: scale(1.025);
		}

		#main.is-carousel .gallery-slide-copy {
			position: absolute;
			left: clamp(1.5rem, 4vw, 3.25rem);
			right: clamp(1.5rem, 4vw, 3.25rem);
			bottom: clamp(2.4rem, 4.2vw, 3.2rem);
			z-index: 3;
			max-width: min(32rem, 92%);
			padding-right: clamp(0rem, 6vw, 5.5rem);
		}

		#main.is-carousel .gallery-slide-kicker {
			margin: 0 0 0.75rem 0;
			color: rgba(192,242,241,0.9);
			font-size: 0.76rem;
			font-weight: 700;
			letter-spacing: 0.28em;
			line-height: 1.4;
			text-transform: uppercase;
		}

		#main.is-carousel .gallery-slide-copy h2 {
			margin: 0;
			color: #f7fbfd;
			font-size: clamp(2rem, 5vw, 3.45rem);
			line-height: 0.96;
			letter-spacing: 0.03em;
			text-transform: uppercase;
			text-shadow: 0 16px 26px rgba(0,0,0,0.28);
		}

		#main.is-carousel .gallery-slide-copy p {
			margin: 0.95rem 0 0 0;
			max-width: 28rem;
			color: rgba(240,244,247,0.92);
			font-size: 1rem;
			line-height: 1.65;
			text-shadow: 0 10px 18px rgba(0,0,0,0.22);
		}

		#main.is-carousel .gallery-edit-trigger {
			position: absolute;
			top: 1.1rem;
			right: 1.1rem;
			z-index: 5;
			display: inline-flex;
			align-items: center;
			justify-content: center;
			width: 2.85rem;
			height: 2.85rem;
			border: 1px solid rgba(255,255,255,0.14);
			border-radius: 999px;
			background: rgba(8,11,14,0.18);
			box-shadow: 0 14px 24px rgba(0,0,0,0.18);
			color: #f7fbfd !important;
			font-size: 1.05rem;
			line-height: 1;
			opacity: 0;
			pointer-events: none;
			transform: translateY(-0.3rem) scale(0.92);
			transition: opacity 0.22s ease, transform 0.22s ease, background-color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
		}

		#main.is-carousel .gallery-edit-trigger:hover {
			background: rgba(122,232,230,0.16);
			border-color: rgba(138,233,223,0.34);
			box-shadow: 0 18px 28px rgba(0,0,0,0.22);
		}

		#main.is-carousel .gallery-edit-icon {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			width: 1.1rem;
			height: 1.1rem;
		}

		#main.is-carousel .gallery-edit-icon:before {
			content: '\f303';
			font-family: 'Font Awesome 5 Free';
			font-size: 1rem;
			font-style: normal;
			font-weight: 900;
			line-height: 1;
		}

		@media (hover: hover) {
			#main.is-carousel .gallery-slider:hover .gallery-edit-trigger,
			#main.is-carousel .gallery-slider:focus-within .gallery-edit-trigger,
			#main.is-carousel .gallery-edit-trigger:focus-visible {
				opacity: 1;
				pointer-events: auto;
				transform: translateY(0) scale(1);
			}
		}

		@media (hover: none) {
			#main.is-carousel .gallery-edit-trigger {
				display: none;
			}
		}

		#main.is-carousel .gallery-nav {
			-moz-appearance: none;
			-webkit-appearance: none;
			-ms-appearance: none;
			appearance: none;
			position: absolute;
			top: 50%;
			z-index: 4;
			width: 3.35rem;
			height: 3.35rem;
			margin-top: -1.675rem;
			padding: 0;
			border: 0;
			border-radius: 0;
			background: transparent;
			box-shadow: none !important;
			color: transparent;
			cursor: pointer;
			font-size: 0;
			line-height: 1;
			opacity: 0.88;
			outline: 0;
			backdrop-filter: none;
			transition: transform 0.18s ease, opacity 0.18s ease;
		}

		#main.is-carousel .gallery-nav:before {
			content: '';
			position: absolute;
			top: 50%;
			left: 50%;
			width: 0.9rem;
			height: 0.9rem;
			border-top: 2px solid rgba(248,250,252,0.92);
			border-right: 2px solid rgba(248,250,252,0.92);
			transform: translate(-50%, -50%) rotate(45deg);
		}

		#main.is-carousel .gallery-nav.is-prev {
			left: 1rem;
		}

		#main.is-carousel .gallery-nav.is-prev:before {
			transform: translate(-35%, -50%) rotate(-135deg);
		}

		#main.is-carousel .gallery-nav.is-next {
			right: 1rem;
		}

		#main.is-carousel .gallery-nav:hover {
			background: transparent;
			box-shadow: none !important;
			color: transparent !important;
			opacity: 1;
			transform: scale(1.04);
		}

		#main.is-carousel .gallery-nav:focus,
		#main.is-carousel .gallery-nav:focus-visible,
		#main.is-carousel .gallery-nav:active {
			background: transparent;
			box-shadow: none !important;
			color: transparent !important;
			outline: 0;
		}

		#main.is-carousel .gallery-dots {
			position: absolute;
			right: 1.5rem;
			bottom: 1.45rem;
			z-index: 4;
			display: flex;
			flex-wrap: wrap;
			justify-content: flex-end;
			gap: 0.55rem;
			max-width: 40%;
		}

		#main.is-carousel .gallery-dot {
			width: 0.78rem;
			height: 0.78rem;
			padding: 0;
			border: 0;
			border-radius: 999px;
			background: rgba(255,255,255,0.32);
			cursor: pointer;
			transition: transform 0.18s ease, background-color 0.18s ease, width 0.18s ease;
		}

		#main.is-carousel .gallery-dot.is-active {
			width: 2rem;
			background: #7ae8e6;
		}

		#main.is-carousel .gallery-slider[data-count="1"] .gallery-nav,
		#main.is-carousel .gallery-slider[data-count="1"] .gallery-dots {
			display: none;
		}

		#main.is-carousel > .helper {
			margin: 0;
			padding: 2rem 1.5rem;
			border: 1px solid rgba(255,255,255,0.08);
			border-radius: 1.5rem;
			background: rgba(15,18,23,0.58);
			color: #d6dde4;
			text-align: center;
		}

		@media screen and (max-width: 980px) {
			#main.is-carousel {
				padding: 1.25rem 1rem;
			}

			#main.is-carousel .gallery-slide {
				min-height: clamp(22rem, 58vh, 34rem);
			}
		}

		@media screen and (max-width: 736px) {
			#main.is-carousel .gallery-slider {
				border-radius: 1.5rem;
			}

			#main.is-carousel .gallery-slide {
				min-height: clamp(21rem, 58vh, 31rem);
			}

			#main.is-carousel .gallery-slide-copy {
				left: 1.15rem;
				right: 1.15rem;
				bottom: 5.15rem;
				max-width: none;
				padding-right: 0;
			}

			#main.is-carousel .gallery-slide-copy p {
				margin-top: 0.7rem;
				max-width: none;
				font-size: 0.9rem;
				line-height: 1.45;
			}

			#main.is-carousel .gallery-slide-copy h2 {
				font-size: clamp(1.65rem, 8vw, 2.55rem);
				line-height: 1.02;
			}

			#main.is-carousel .gallery-nav {
				top: 50%;
				bottom: auto;
				width: 2.8rem;
				height: 2.8rem;
				margin-top: -1.4rem;
				border-color: transparent;
				background: transparent;
				box-shadow: none;
				backdrop-filter: none;
			}

			#main.is-carousel .gallery-nav.is-prev {
				left: 0.85rem;
			}

			#main.is-carousel .gallery-nav.is-next {
				right: 0.85rem;
			}

			#main.is-carousel .gallery-nav:hover {
				transform: none;
			}

			#main.is-carousel .gallery-nav:before {
				border-top-color: rgba(248,250,252,0.94);
				border-right-color: rgba(248,250,252,0.94);
				filter: drop-shadow(0 0.15rem 0.35rem rgba(0,0,0,0.28));
			}

			#main.is-carousel .gallery-dots {
				left: 50%;
				right: auto;
				bottom: 0.85rem;
				max-width: calc(100% - 2.3rem);
				justify-content: center;
				transform: translateX(-50%);
			}
		}

		.admin-rows {
			list-style: none;
			margin: 0;
			padding: 0;
			display: grid;
			gap: 0.85rem;
		}
		.admin-row {
			display: grid;
			grid-template-columns: 4.75rem minmax(0, 1fr);
			gap: 1rem;
			align-items: center;
			padding: 0.85rem 0.95rem;
			border: 1px solid rgba(255,255,255,0.06);
			border-radius: 16px;
			background: rgba(12,14,17,0.32);
		}
		.admin-row img {
			width: 4.75rem;
			height: 4.75rem;
			object-fit: cover;
			border-radius: 14px;
		}
		.admin-meta {
			display: flex;
			align-items: center;
			justify-content: space-between;
			gap: 1rem;
			min-width: 0;
		}
		.admin-copy {
			min-width: 0;
		}
		.admin-copy strong {
			display: block;
			color: #f3f5f7;
			font-size: 1.02rem;
			font-weight: 400;
			line-height: 1.35;
			white-space: nowrap;
			overflow: hidden;
			text-overflow: ellipsis;
		}
		.admin-source {
			display: block;
			margin-top: 0.2rem;
			color: #99a0a8;
			font-size: 0.74rem;
			letter-spacing: 0.1em;
			line-height: 1.35;
			text-transform: uppercase;
		}
		.admin-actions {
			flex: 0 0 auto;
		}
		.admin-delete {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			min-width: 7.75rem;
			height: auto;
			padding: 0.8rem 1rem;
			border: 1px solid rgba(255,255,255,0.12);
			border-radius: 12px;
			background: transparent;
			box-shadow: none;
			color: #ffd2d2 !important;
			cursor: pointer;
			font-size: 0.78rem;
			font-weight: 600;
			letter-spacing: 0.08em;
			line-height: 1;
			text-transform: uppercase;
			white-space: nowrap;
			transition: transform 0.14s ease, background-color 0.14s ease, border-color 0.14s ease, color 0.14s ease, box-shadow 0.14s ease;
		}
		.admin-delete:hover {
			background: linear-gradient(135deg, rgba(160,49,49,0.18) 0%, rgba(255,123,123,0.14) 100%);
			border-color: rgba(255,146,146,0.42);
			color: #fff0f0 !important;
			box-shadow: 0 12px 24px rgba(84, 20, 20, 0.24);
			transform: translateY(-2px);
		}
		.admin-delete:hover:active {
			box-shadow: 0 6px 14px rgba(84, 20, 20, 0.16);
			transform: translateY(0);
		}
		.admin-delete.disabled,
		.admin-delete:disabled {
			background: rgba(255,255,255,0.02);
			border-color: rgba(255,255,255,0.08);
			color: #7e838b !important;
			cursor: not-allowed;
			opacity: 1;
			pointer-events: auto;
		}
		.admin-delete.disabled:hover,
		.admin-delete:disabled:hover {
			background: rgba(255,255,255,0.05);
			border-color: rgba(255,255,255,0.14);
			color: #a6adb6 !important;
			box-shadow: inset 0 0 0 1px rgba(255,255,255,0.03);
			transform: none;
		}

		@media screen and (max-width: 760px) {
			.admin-row {
				grid-template-columns: 4.25rem minmax(0, 1fr);
				gap: 0.85rem;
				padding: 0.8rem;
			}
			.admin-row img {
				width: 4.25rem;
				height: 4.25rem;
			}
			.admin-meta {
				flex-direction: column;
				align-items: flex-start;
			}
			.admin-actions {
				width: 100%;
			}
			.admin-delete {
				width: 100%;
				min-width: 0;
			}
		}

		.is-hidden { display:none !important; }

	input[type="text"],
	input[type="password"],
	input[type="email"],
	input[type="tel"],
	input[type="search"],
	input[type="url"],
	select {
		height: 2.75em;
	}

	textarea {
		padding: 0.75em 1em;
	}

	input[type="checkbox"],
	input[type="radio"] {
		-moz-appearance: none;
		-webkit-appearance: none;
		-ms-appearance: none;
		appearance: none;
		display: block;
		float: left;
		margin-right: -2em;
		opacity: 0;
		width: 1em;
		z-index: -1;
	}

		input[type="checkbox"] + label,
		input[type="radio"] + label {
			text-decoration: none;
			color: #a0a0a1;
			cursor: pointer;
			display: inline-block;
			font-size: 1em;
			font-weight: 300;
			padding-left: 2.4em;
			padding-right: 0.75em;
			position: relative;
		}

			input[type="checkbox"] + label:before,
			input[type="radio"] + label:before {
				-moz-osx-font-smoothing: grayscale;
				-webkit-font-smoothing: antialiased;
				display: inline-block;
				font-style: normal;
				font-variant: normal;
				text-rendering: auto;
				line-height: 1;
				text-transform: none !important;
				font-family: 'Font Awesome 5 Free';
				font-weight: 900;
			}

			input[type="checkbox"] + label:before,
			input[type="radio"] + label:before {
				background: #34363b;
				content: '';
				display: inline-block;
				font-size: 0.8em;
				height: 2.0625em;
				left: 0;
				line-height: 2.0625em;
				position: absolute;
				text-align: center;
				top: 0;
				width: 2.0625em;
			}

		input[type="checkbox"]:checked + label:before,
		input[type="radio"]:checked + label:before {
			background: #34a58e;
			border-color: #34a58e;
			color: #ffffff;
			content: '\f00c';
		}

		input[type="checkbox"]:focus + label:before,
		input[type="radio"]:focus + label:before {
			box-shadow: 0 0 0 2px #34a58e;
		}

	input[type="radio"] + label:before {
		border-radius: 100%;
	}

	::-webkit-input-placeholder {
		color: #707071 !important;
		opacity: 1.0;
	}

	:-moz-placeholder {
		color: #707071 !important;
		opacity: 1.0;
	}

	::-moz-placeholder {
		color: #707071 !important;
		opacity: 1.0;
	}

	:-ms-input-placeholder {
		color: #707071 !important;
		opacity: 1.0;
	}

/* Icon */

	.icon {
		text-decoration: none;
		border-bottom: none;
		position: relative;
	}

		.icon:before {
			-moz-osx-font-smoothing: grayscale;
			-webkit-font-smoothing: antialiased;
			display: inline-block;
			font-style: normal;
			font-variant: normal;
			text-rendering: auto;
			line-height: 1;
			text-transform: none !important;
			font-family: 'Font Awesome 5 Free';
			font-weight: 400;
		}

		.icon > .label {
			display: none;
		}

		.icon:before {
			line-height: inherit;
		}

		.icon.solid:before {
			font-weight: 900;
		}

		.icon.brands:before {
			font-family: 'Font Awesome 5 Brands';
		}

/* List */

	ol {
		list-style: decimal;
		margin: 0 0 2em 0;
		padding-left: 1.25em;
	}

		ol li {
			padding-left: 0.25em;
		}

	ul {
		list-style: disc;
		margin: 0 0 2em 0;
		padding-left: 1em;
	}

		ul li {
			padding-left: 0.5em;
		}

		ul.alt {
			list-style: none;
			padding-left: 0;
		}

			ul.alt li {
				border-top: solid 1px #36383c;
				padding: 0.5em 0;
			}

				ul.alt li:first-child {
					border-top: 0;
					padding-top: 0;
				}

	dl {
		margin: 0 0 2em 0;
	}

		dl dt {
			display: block;
			font-weight: 300;
			margin: 0 0 1em 0;
		}

		dl dd {
			margin-left: 2em;
		}

/* Actions */

	ul.actions {
		display: -moz-flex;
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		cursor: default;
		list-style: none;
		margin-left: -1em;
		padding-left: 0;
	}

		ul.actions li {
			padding: 0 0 0 1em;
			vertical-align: middle;
		}

		ul.actions.special {
			-moz-justify-content: center;
			-webkit-justify-content: center;
			-ms-justify-content: center;
			justify-content: center;
			width: 100%;
			margin-left: 0;
		}

			ul.actions.special li:first-child {
				padding-left: 0;
			}

		ul.actions.stacked {
			-moz-flex-direction: column;
			-webkit-flex-direction: column;
			-ms-flex-direction: column;
			flex-direction: column;
			margin-left: 0;
		}

			ul.actions.stacked li {
				padding: 1.3em 0 0 0;
			}

				ul.actions.stacked li:first-child {
					padding-top: 0;
				}

		ul.actions.fit {
			width: calc(100% + 1em);
		}

			ul.actions.fit li {
				-moz-flex-grow: 1;
				-webkit-flex-grow: 1;
				-ms-flex-grow: 1;
				flex-grow: 1;
				-moz-flex-shrink: 1;
				-webkit-flex-shrink: 1;
				-ms-flex-shrink: 1;
				flex-shrink: 1;
				width: 100%;
			}

				ul.actions.fit li > * {
					width: 100%;
				}

			ul.actions.fit.stacked {
				width: 100%;
			}

		@media screen and (max-width: 480px) {

			ul.actions:not(.fixed) {
				-moz-flex-direction: column;
				-webkit-flex-direction: column;
				-ms-flex-direction: column;
				flex-direction: column;
				margin-left: 0;
				width: 100% !important;
			}

				ul.actions:not(.fixed) li {
					-moz-flex-grow: 1;
					-webkit-flex-grow: 1;
					-ms-flex-grow: 1;
					flex-grow: 1;
					-moz-flex-shrink: 1;
					-webkit-flex-shrink: 1;
					-ms-flex-shrink: 1;
					flex-shrink: 1;
					padding: 1em 0 0 0;
					text-align: center;
					width: 100%;
				}

					ul.actions:not(.fixed) li > * {
						width: 100%;
					}

					ul.actions:not(.fixed) li:first-child {
						padding-top: 0;
					}

					ul.actions:not(.fixed) li input[type="submit"],
					ul.actions:not(.fixed) li input[type="reset"],
					ul.actions:not(.fixed) li input[type="button"],
					ul.actions:not(.fixed) li button,
					ul.actions:not(.fixed) li .button {
						width: 100%;
					}

						ul.actions:not(.fixed) li input[type="submit"].icon:before,
						ul.actions:not(.fixed) li input[type="reset"].icon:before,
						ul.actions:not(.fixed) li input[type="button"].icon:before,
						ul.actions:not(.fixed) li button.icon:before,
						ul.actions:not(.fixed) li .button.icon:before {
							margin-left: -0.5rem;
						}

		}

/* Icons */

	ul.icons {
		cursor: default;
		list-style: none;
		padding-left: 0;
	}

		ul.icons li {
			display: inline-block;
			padding: 0 1em 0 0;
		}

			ul.icons li:last-child {
				padding-right: 0;
			}

			ul.icons li .icon {
				color: #505051;
			}

				ul.icons li .icon:before {
					font-size: 1.5em;
				}

/* Table */

	.table-wrapper {
		-webkit-overflow-scrolling: touch;
		overflow-x: auto;
	}

	table {
		margin: 0 0 2em 0;
		width: 100%;
	}

		table tbody tr {
			border: solid 1px #36383c;
			border-left: 0;
			border-right: 0;
		}

			table tbody tr:nth-child(2n + 1) {
				background-color: #34363b;
			}

		table td {
			padding: 0.75em 0.75em;
		}

		table th {
			color: #ffffff;
			font-size: 0.9em;
			font-weight: 300;
			padding: 0 0.75em 0.75em 0.75em;
			text-align: left;
		}

		table thead {
			border-bottom: solid 2px #36383c;
		}

		table tfoot {
			border-top: solid 2px #36383c;
		}

		table.alt {
			border-collapse: separate;
		}

			table.alt tbody tr td {
				border: solid 1px #36383c;
				border-left-width: 0;
				border-top-width: 0;
			}

				table.alt tbody tr td:first-child {
					border-left-width: 1px;
				}

			table.alt tbody tr:first-child td {
				border-top-width: 1px;
			}

			table.alt thead {
				border-bottom: 0;
			}

			table.alt tfoot {
				border-top: 0;
			}

/* Panel */

	.panel {
		padding: 4em 4em 2em 4em ;
		-moz-transform: translateY(100vh);
		-webkit-transform: translateY(100vh);
		-ms-transform: translateY(100vh);
		transform: translateY(100vh);
		-moz-transition: -moz-transform 0.5s ease;
		-webkit-transition: -webkit-transform 0.5s ease;
		-ms-transition: -ms-transform 0.5s ease;
		transition: transform 0.5s ease;
		-webkit-overflow-scrolling: touch;
		background: rgba(36, 38, 41, 0.975);
		bottom: 4em;
		left: 0;
		max-height: calc(80vh - 4em);
		overflow-y: auto;
		position: fixed;
		width: 100%;
		z-index: 10001;
	}

		.panel.active {
			-moz-transform: translateY(1px);
			-webkit-transform: translateY(1px);
			-ms-transform: translateY(1px);
			transform: translateY(1px);
		}

		.panel > .inner {
			margin: 0 auto;
			max-width: 100%;
			width: 75em;
		}

			.panel > .inner.split {
				display: -moz-flex;
				display: -webkit-flex;
				display: -ms-flex;
				display: flex;
			}

				.panel > .inner.split > div {
					margin-left: 4em;
					width: 50%;
				}

				.panel > .inner.split > :first-child {
					margin-left: 0;
				}

		.panel > .closer {
			-moz-transition: opacity 0.2s ease-in-out;
			-webkit-transition: opacity 0.2s ease-in-out;
			-ms-transition: opacity 0.2s ease-in-out;
			transition: opacity 0.2s ease-in-out;
			background-image: url("images/close.svg");
			background-position: center;
			background-repeat: no-repeat;
			background-size: 3em;
			cursor: pointer;
			height: 5em;
			opacity: 0.25;
			position: absolute;
			right: 0;
			top: 0;
			width: 5em;
			z-index: 2;
		}

			.panel > .closer:hover {
				opacity: 1.0;
			}

		@media screen and (max-width: 1280px) {

			.panel {
				padding: 3em 3em 1em 3em ;
			}

				.panel > .inner.split > div {
					margin-left: 3em;
				}

				.panel > .closer {
					background-size: 2.5em;
					background-position: 75% 25%;
				}

		}

		@media screen and (max-width: 980px) {

			.panel > .inner.split {
				-moz-flex-direction: column;
				-webkit-flex-direction: column;
				-ms-flex-direction: column;
				flex-direction: column;
			}

				.panel > .inner.split > div {
					margin-left: 0;
					width: 100%;
				}

		}

		@media screen and (max-width: 736px) {

			.panel {
				-moz-transform: none;
				-webkit-transform: none;
				-ms-transform: none;
				transform: none;
				padding: 3.5em 1.5em 2.5em 1.5em ;
				bottom: auto;
				top: auto;
				position: relative;
				max-height: none;
				overflow: visible;
				z-index: 1;
			}

				.panel.active {
					-moz-transform: none;
					-webkit-transform: none;
					-ms-transform: none;
					transform: none;
				}

		}

/* Poptrox Popup */

	.poptrox-overlay {
		-webkit-tap-highlight-color: rgba(255, 255, 255, 0);
	}

	.poptrox-popup {
		background: rgba(31, 34, 36, 0.925);
		box-shadow: 0 1em 3em 0.5em rgba(0, 0, 0, 0.25);
		cursor: default;
	}

		.poptrox-popup:before {
			-moz-transition: opacity 0.2s ease-in-out;
			-webkit-transition: opacity 0.2s ease-in-out;
			-ms-transition: opacity 0.2s ease-in-out;
			transition: opacity 0.2s ease-in-out;
			background-image: -moz-linear-gradient(to left, rgba(31,34,36,0.35), rgba(31,34,36,0) 10em, rgba(31,34,36,0)), -moz-linear-gradient(to right, rgba(31,34,36,0.35), rgba(31,34,36,0) 10em, rgba(31,34,36,0));
			background-image: -webkit-linear-gradient(to left, rgba(31,34,36,0.35), rgba(31,34,36,0) 10em, rgba(31,34,36,0)), -webkit-linear-gradient(to right, rgba(31,34,36,0.35), rgba(31,34,36,0) 10em, rgba(31,34,36,0));
			background-image: -ms-linear-gradient(to left, rgba(31,34,36,0.35), rgba(31,34,36,0) 10em, rgba(31,34,36,0)), -ms-linear-gradient(to right, rgba(31,34,36,0.35), rgba(31,34,36,0) 10em, rgba(31,34,36,0));
			background-image: linear-gradient(to left, rgba(31,34,36,0.35), rgba(31,34,36,0) 10em, rgba(31,34,36,0)), linear-gradient(to right, rgba(31,34,36,0.35), rgba(31,34,36,0) 10em, rgba(31,34,36,0));
			content: '';
			display: block;
			height: 100%;
			left: 0;
			position: absolute;
			top: 0;
			width: 100%;
			z-index: 1;
			opacity: 1;
		}

		.poptrox-popup .closer {
			-moz-transition: opacity 0.2s ease-in-out;
			-webkit-transition: opacity 0.2s ease-in-out;
			-ms-transition: opacity 0.2s ease-in-out;
			transition: opacity 0.2s ease-in-out;
			background-image: url("images/close.svg");
			background-position: center;
			background-repeat: no-repeat;
			background-size: 3em;
			height: 5em;
			opacity: 0;
			position: absolute;
			right: 0;
			top: 0;
			width: 5em;
			z-index: 2;
		}

		.poptrox-popup .nav-previous,
		.poptrox-popup .nav-next {
			-moz-transition: opacity 0.2s ease-in-out;
			-webkit-transition: opacity 0.2s ease-in-out;
			-ms-transition: opacity 0.2s ease-in-out;
			transition: opacity 0.2s ease-in-out;
			background-image: url("images/arrow.svg");
			background-position: center;
			background-repeat: no-repeat;
			background-size: 5em;
			cursor: pointer;
			height: 8em;
			margin-top: -4em;
			opacity: 0;
			position: absolute;
			top: 50%;
			width: 6em;
			z-index: 2;
		}

		.poptrox-popup .nav-previous {
			-moz-transform: scaleX(-1);
			-webkit-transform: scaleX(-1);
			-ms-transform: scaleX(-1);
			transform: scaleX(-1);
			left: 0;
		}

		.poptrox-popup .nav-next {
			right: 0;
		}

		.poptrox-popup .caption {
			padding: 2em 2em 0.1em 2em ;
			background-image: -moz-linear-gradient(to top, rgba(16,16,16,0.45) 25%, rgba(16,16,16,0) 100%);
			background-image: -webkit-linear-gradient(to top, rgba(16,16,16,0.45) 25%, rgba(16,16,16,0) 100%);
			background-image: -ms-linear-gradient(to top, rgba(16,16,16,0.45) 25%, rgba(16,16,16,0) 100%);
			background-image: linear-gradient(to top, rgba(16,16,16,0.45) 25%, rgba(16,16,16,0) 100%);
			bottom: 0;
			cursor: default;
			left: 0;
			position: absolute;
			text-align: left;
			width: 100%;
			z-index: 2;
		}

			.poptrox-popup .caption h2, .poptrox-popup .caption h3, .poptrox-popup .caption h4, .poptrox-popup .caption h5, .poptrox-popup .caption h6 {
				margin: 0 0 0.5em 0;
			}

			.poptrox-popup .caption p {
				color: #ffffff;
			}

		.poptrox-popup .loader {
			-moz-animation: spinner 1s infinite linear !important;
			-webkit-animation: spinner 1s infinite linear !important;
			-ms-animation: spinner 1s infinite linear !important;
			animation: spinner 1s infinite linear !important;
			background-image: url("images/spinner.svg");
			background-position: center;
			background-repeat: no-repeat;
			background-size: contain;
			display: block;
			font-size: 2em;
			height: 2em;
			left: 50%;
			line-height: 2em;
			margin: -1em 0 0 -1em;
			opacity: 0.25;
			position: absolute;
			text-align: center;
			top: 50%;
			width: 2em;
		}

		.poptrox-popup:hover .closer,
		.poptrox-popup:hover .nav-previous,
		.poptrox-popup:hover .nav-next {
			opacity: 0.5;
		}

			.poptrox-popup:hover .closer:hover,
			.poptrox-popup:hover .nav-previous:hover,
			.poptrox-popup:hover .nav-next:hover {
				opacity: 1.0;
			}

		.poptrox-popup.loading:before {
			opacity: 0;
		}

		body.touch .poptrox-popup .closer,
		body.touch .poptrox-popup .nav-previous,
		body.touch .poptrox-popup .nav-next {
			opacity: 1.0 !important;
		}

		@media screen and (max-width: 980px) {

			.poptrox-popup .closer {
				background-size: 3em;
			}

			.poptrox-popup .nav-previous,
			.poptrox-popup .nav-next {
				background-size: 4em;
			}

		}

		@media screen and (max-width: 736px) {

			.poptrox-popup:before {
				display: none;
			}

			.poptrox-popup .caption {
				display: none !important;
			}

			.poptrox-popup .closer,
			.poptrox-popup .nav-previous,
			.poptrox-popup .nav-next {
				display: none !important;
			}

		}

/* Wrapper */

#wrapper {
	-moz-transition: -moz-filter 0.5s ease, -webkit-filter 0.5s ease, -ms-filter 0.5s ease, -moz-filter 0.5s ease;
	-webkit-transition: -moz-filter 0.5s ease, -webkit-filter 0.5s ease, -ms-filter 0.5s ease, -webkit-filter 0.5s ease;
	-ms-transition: -moz-filter 0.5s ease, -webkit-filter 0.5s ease, -ms-filter 0.5s ease, -ms-filter 0.5s ease;
	transition: -moz-filter 0.5s ease, -webkit-filter 0.5s ease, -ms-filter 0.5s ease, filter 0.5s ease;
	position: relative;
	overflow: visible;
}

		#wrapper:after {
			pointer-events: none;
			-moz-transition: opacity 0.5s ease, visibility 0.5s;
			-webkit-transition: opacity 0.5s ease, visibility 0.5s;
			-ms-transition: opacity 0.5s ease, visibility 0.5s;
			transition: opacity 0.5s ease, visibility 0.5s;
			background: rgba(36, 38, 41, 0.5);
			content: '';
			display: block;
			height: 100%;
			left: 0;
			opacity: 0;
			position: absolute;
			top: 0;
			visibility: hidden;
			width: 100%;
			z-index: 1;
		}

			body.ie #wrapper:after {
				background: rgba(36, 38, 41, 0.8);
			}

		body.modal-active #wrapper {
			-moz-filter: blur(8px);
			-webkit-filter: blur(8px);
			-ms-filter: blur(8px);
			filter: blur(8px);
		}

	body.modal-active #wrapper:after {
		pointer-events: auto;
		opacity: 1;
		visibility: visible;
		z-index: 10003;
	}

		#wrapper:before {
			-moz-animation: spinner 1s infinite linear !important;
			-webkit-animation: spinner 1s infinite linear !important;
			-ms-animation: spinner 1s infinite linear !important;
			animation: spinner 1s infinite linear !important;
			pointer-events: none;
			-moz-transition: top 0.75s ease-in-out, opacity 0.35s ease-out, visibility 0.35s;
			-webkit-transition: top 0.75s ease-in-out, opacity 0.35s ease-out, visibility 0.35s;
			-ms-transition: top 0.75s ease-in-out, opacity 0.35s ease-out, visibility 0.35s;
			transition: top 0.75s ease-in-out, opacity 0.35s ease-out, visibility 0.35s;
			background-image: url("images/spinner.svg");
			background-position: center;
			background-repeat: no-repeat;
			background-size: contain;
			content: '';
			display: block;
			font-size: 2em;
			height: 2em;
			left: 50%;
			line-height: 2em;
			margin: -1em 0 0 -1em;
			opacity: 0;
			position: fixed;
			text-align: center;
			top: 75%;
			visibility: hidden;
			width: 2em;
		}

		body.is-preload #wrapper:before {
			-moz-transition: opacity 1s ease-out !important;
			-webkit-transition: opacity 1s ease-out !important;
			-ms-transition: opacity 1s ease-out !important;
			transition: opacity 1s ease-out !important;
			-moz-transition-delay: 0.5s !important;
			-webkit-transition-delay: 0.5s !important;
			-ms-transition-delay: 0.5s !important;
			transition-delay: 0.5s !important;
			opacity: 0.25;
			top: 50%;
			visibility: visible;
		}

/* Header */

body {
	padding: 3.75em 0 0 0;
}

#header {
	-moz-transform: translateY(0);
	-webkit-transform: translateY(0);
	-ms-transform: translateY(0);
	transform: translateY(0);
		-moz-transition: -moz-transform 1s ease;
		-webkit-transition: -webkit-transform 1s ease;
		-ms-transition: -ms-transform 1s ease;
		transition: transform 1s ease;
	-moz-user-select: none;
	-ms-user-select: none;
	-webkit-user-select: none;
	background: rgba(9, 10, 11, 0.92);
	border-bottom: solid 1px rgba(255, 255, 255, 0.045);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	bottom: auto;
	height: 3.75em;
	left: 0;
	line-height: 3.75em;
	padding: 0 1rem;
	position: fixed;
	top: 0;
	user-select: none;
	width: 100%;
	z-index: 10002;
}

	body.is-preload #header {
		-moz-transform: translateY(-3.75em);
		-webkit-transform: translateY(-3.75em);
		-ms-transform: translateY(-3.75em);
		transform: translateY(-3.75em);
	}

	#header h1 {
		color: #f5f5f5;
		display: inline-block;
		font-size: 1em;
		line-height: 1;
		margin: 0;
		vertical-align: middle;
	}

		#header h1.logo {
			font-weight: 600;
			letter-spacing: 0.12em;
		}

		#header h1 a {
			border: 0;
			color: inherit;
		}

				#header h1 a:hover {
					color: inherit !important;
				}

#header nav {
	display: flex;
	align-items: center;
	height: 100%;
	position: absolute;
	right: 4.5em;
	top: 0;
}

	#header nav > ul {
		display: flex;
		align-items: center;
		list-style: none;
		margin: 0;
		padding: 0;
	}

			#header nav > ul > li {
				display: inline-block;
				padding: 0;
			}

				#header nav > ul > li a {
					-moz-transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
					-webkit-transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
					-ms-transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
					transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
					border: 0;
					color: #b7b7b7;
					display: inline-block;
					font-size: 0.95em;
					letter-spacing: 0.03em;
					padding: 0 1.25em;
					text-transform: none;
					vertical-align: middle;
				}

					#header nav > ul > li a.icon:before {
						color: #505051;
						float: right;
						margin-left: 0.75em;
						}

					#header nav > ul > li a:hover {
						color: #ffffff !important;
					}

					#header nav > ul > li a.active {
						background-color: #242629;
					}

					#header nav > ul > li a.nav-cta {
						border: solid 1px rgba(255, 255, 255, 0.45);
						border-radius: 0.35em;
						color: #ffffff;
						display: inline-flex;
						align-items: center;
						justify-content: center;
						height: 2.4em;
						line-height: 1;
						margin-left: 0.35em;
						padding: 0 1.35em;
						vertical-align: middle;
					}

					#header nav > ul > li a.nav-cta:hover {
						background-color: rgba(255, 255, 255, 0.08);
						border-color: #ffffff;
					}

#header .nav-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 2.15em;
	width: 2.35em;
	border: 2px solid rgba(255, 255, 255, 0.46);
	border-radius: 0.55em;
	background: rgba(255, 255, 255, 0.025);
	color: #ffffff;
	cursor: pointer;
	position: static;
	transform: none;
	box-shadow: none;
	transition: background-color 0.18s ease, border-color 0.18s ease;
}

#header .nav-toggle:hover,
#header .nav-toggle:focus-visible {
	background: rgba(255, 255, 255, 0.055);
	border-color: rgba(255, 255, 255, 0.28);
	outline: 0;
}

#header .header-controls {
	position: absolute;
	right: 1.25em;
	top: 50%;
	transform: translateY(-50%);
	display: inline-flex;
	align-items: center;
	gap: 0.75em;
}

#header .nav-toggle span,
#header .nav-toggle span:before,
#header .nav-toggle span:after {
	content: '';
	display: block;
	width: 1.3em;
	height: 1.5px;
	background: rgba(255,255,255,0.92);
	position: relative;
	transition: transform 0.2s ease, opacity 0.2s ease;
}

#header .nav-toggle span:before {
	position: absolute;
	top: -6px;
}

#header .nav-toggle span:after {
	position: absolute;
	top: 6px;
}

.nav-backdrop {
	position: fixed;
	inset: 0;
	background: rgba(10, 12, 14, 0.6);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.2s ease;
	z-index: 10001;
}

.mobile-nav {
	position: fixed;
	top: 3.75em;
	right: 0;
	width: min(80vw, 20em);
	height: calc(100vh - 3.75em);
	background: #0f1113;
	border-left: 1px solid rgba(255, 255, 255, 0.08);
	padding: 1.5em;
	display: flex;
	flex-direction: column;
	gap: 1em;
	transform: translateX(100%);
	transition: transform 0.25s ease;
	z-index: 10002;
}

.mobile-nav a {
	color: #c7c9cc;
	border: 0;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-size: 0.9em;
}

.mobile-nav a:hover {
	color: #ffffff !important;
}

body.nav-open .mobile-nav {
	transform: translateX(0);
}

body.nav-open .nav-backdrop {
	opacity: 1;
	pointer-events: auto;
}

body.nav-open #header .nav-toggle span {
	transform: rotate(45deg);
}

body.nav-open #header .nav-toggle span:before {
	transform: rotate(90deg);
	top: 0;
}

body.nav-open #header .nav-toggle span:after {
	opacity: 0;
}

@media screen and (max-width: 736px) {

	body {
		padding: 3.75em 0 0 0;
	}

	#header {
		-moz-transform: translateY(0);
		-webkit-transform: translateY(0);
		-ms-transform: translateY(0);
		transform: translateY(0);
		bottom: auto;
		height: 3.75em;
		line-height: 3.75em;
		padding: 0 1em;
		top: 0;
	}

		body.is-preload #header {
			-moz-transform: translateY(-3.75em);
			-webkit-transform: translateY(-3.75em);
			-ms-transform: translateY(-3.75em);
			transform: translateY(-3.75em);
		}

		#header h1 {
			font-size: 0.9em;
		}

		#header nav > ul > li a {
			font-size: 0.9em;
			padding: 0 0.9em;
		}

	#header nav > ul > li a.nav-cta {
		height: 2.2em;
		padding: 0 1.05em;
	}

		#header nav {
			right: 1em;
		}

	#header .header-controls {
		right: 1em;
		gap: 0.6em;
	}

	#header .desktop-nav {
		display: none;
	}

	.mobile-nav {
		top: 3.75em;
		height: calc(100vh - 3.75em);
	}

}

/* Main */

	#main {
		-moz-transition: -moz-filter 0.5s ease, -webkit-filter 0.5s ease, -ms-filter 0.5s ease, -moz-filter 0.5s ease, opacity 0.9s ease, transform 0.9s ease;
		-webkit-transition: -moz-filter 0.5s ease, -webkit-filter 0.5s ease, -ms-filter 0.5s ease, -webkit-filter 0.5s ease, opacity 0.9s ease, transform 0.9s ease;
		-ms-transition: -moz-filter 0.5s ease, -webkit-filter 0.5s ease, -ms-filter 0.5s ease, -ms-filter 0.5s ease, opacity 0.9s ease, transform 0.9s ease;
		transition: -moz-filter 0.5s ease, -webkit-filter 0.5s ease, -ms-filter 0.5s ease, filter 0.5s ease, opacity 0.9s ease, transform 0.9s ease;
		margin-top: 0;
		opacity: 0;
		position: relative;
		transform: translateY(3em);
		z-index: 2;
		display: -moz-flex;
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		-moz-flex-wrap: wrap;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		justify-content: center;
		-webkit-tap-highlight-color: rgba(255, 255, 255, 0);
	}

	body.is-preload #main {
		opacity: 1;
		transform: translateY(0);
	}

	body.is-loaded #main {
		opacity: 1;
		transform: translateY(0);
	}

	@media screen and (max-width: 980px) {
		#main {
			margin-top: 0;
		}
	}

	@media screen and (max-width: 736px) {
		#main {
			margin-top: 0;
		}
	}

/* Love Note */

	#love-note {
		background: linear-gradient(120deg, #141618 0%, #0f1012 45%, #1a1c20 100%);
		border-bottom: solid 1px #2a2c30;
		padding: 4.5em 4em 9em 4em;
		position: relative;
		z-index: 1;
	}

		#love-note .inner {
			margin: 0 auto;
			max-width: 60em;
			padding: 1.5em 0;
		}

		#love-note .note-header {
			margin-bottom: 2.1em;
		}

		#love-note .eyebrow {
			color: #7d7f82;
			font-size: 0.7em;
			letter-spacing: 0.25em;
			margin: 0 0 1.25em 0;
			text-transform: uppercase;
		}

		#love-note h2 {
			font-size: 2em;
			letter-spacing: 0.15em;
			margin: 0 0 0.6em 0;
		}

		#love-note .note-body p {
			color: #c7c9cc;
			font-size: 1.05em;
			margin: 0 0 1.35em 0;
		}

		#love-note .note-body p:last-child {
			margin-bottom: 0;
		}

		#love-note .note-signature {
			color: #ffffff;
			font-size: 1em;
			margin: 1.25em 0 0 0;
		}

			#love-note .note-signature strong {
				font-weight: 600;
				letter-spacing: 0.08em;
				text-transform: uppercase;
			}

		@media screen and (max-width: 980px) {

			#love-note {
				padding: 4em 2.5em 7.5em 2.5em;
			}

		}

		@media screen and (max-width: 736px) {

			#love-note {
				padding: 3.25em 1.75em 6em 1.75em;
			}

			#love-note h2 {
				font-size: 1.5em;
			}

		}

/* Long Love Letter */

	#love-essay {
		background: #202326;
		border-top: solid 1px #2a2c30;
		padding: 5em 4em 5em 4em;
	}

		#love-essay .inner {
			margin: 0 auto;
			max-width: 60em;
		}

	#love-essay .note-header {
		margin-bottom: 2.5em;
	}

	#love-essay .note-body p {
		color: #c7c9cc;
		font-size: 1.05em;
		margin: 0 0 1.6em 0;
	}

		#love-essay .note-body p:last-child {
			margin-bottom: 0;
		}

	#love-essay .note-signature {
		color: #ffffff;
		font-size: 1em;
		margin: 2.5em 0 0 0;
	}

		@media screen and (max-width: 980px) {

			#love-essay {
				padding: 4em 2.5em 4em 2.5em;
			}

		}

		@media screen and (max-width: 736px) {

		#love-essay {
			padding: 3.5em 1.75em 3.5em 1.75em;
		}

	}

/* Reviews Page */

	#reviews-page {
		background: linear-gradient(120deg, #141618 0%, #0f1012 45%, #1a1c20 100%);
		border-bottom: solid 1px #2a2c30;
		padding: 4.5em 4em 4.5em 4em;
	}

		#reviews-page .inner {
			margin: 0 auto;
			max-width: 62em;
		}

		#reviews-page .note-header {
			margin-bottom: 2.5em;
		}

		#reviews-page .note-header p {
			color: #7d7f82;
			font-size: 0.7em;
			letter-spacing: 0.25em;
			margin: 0 0 1.25em 0;
			text-transform: uppercase;
		}

		#reviews-page h2 {
			font-size: 2em;
			letter-spacing: 0.15em;
			margin: 0 0 0.6em 0;
		}

		#reviews-page .reviews-grid {
			display: grid;
			grid-template-columns: 1fr;
			gap: 2.5em;
			justify-items: center;
		}

		#reviews-page .reviews-column,
		#reviews-page .review-form {
			width: min(100%, 46em);
		}

		#reviews-page .review-form {
			background: #1c1f22;
			border: 1px solid #2a2c30;
			border-radius: 12px;
			padding: 2em;
		}

		#reviews-page .review-form .fields {
			display: grid;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			gap: 1.1em;
			margin-bottom: 1.5em;
		}

		#reviews-page .review-form .field {
			display: flex;
			flex-direction: column;
			gap: 0.55em;
		}

		#reviews-page .review-form .field.center {
			grid-column: 1 / -1;
			align-items: center;
			text-align: center;
			width: 100%;
		}

		#reviews-page .review-form .field.center select {
			max-width: 16em;
			width: 100%;
			margin: 0 auto;
		}

		#reviews-page .review-form label {
			color: #c7c9cc;
			font-size: 0.85em;
			letter-spacing: 0.15em;
			text-transform: uppercase;
		}

		#reviews-page .review-form input,
		#reviews-page .review-form textarea,
		#reviews-page .review-form select {
			background: #15181b;
			border: 1px solid #2b2f35;
			border-radius: 8px;
			color: #e3e4e6;
			font-family: inherit;
			font-size: 1em;
			padding: 0.65em 0.85em;
			width: 100%;
		}

		#reviews-page .review-form textarea {
			min-height: 140px;
			resize: vertical;
		}

		#reviews-page .review-form .actions {
			display: flex;
			gap: 0.8em;
			align-items: center;
		}

		#reviews-page .review-form .actions input {
			border-radius: 999px;
			padding: 0 1.6em;
		}

		#reviews-page .review-form .helper {
			color: #7d7f82;
			font-size: 0.95em;
			margin: 0;
		}

	#reviews-page .review-list {
		display: grid;
		gap: 1.5em;
	}

	#reviews-page .reviews-toolbar {
		display: flex;
		align-items: center;
		gap: 0.75em;
		margin-bottom: 1.5em;
		justify-content: flex-end;
	}

	#reviews-page .reviews-toolbar label {
		color: #9ea2a7;
		font-size: 0.75em;
		letter-spacing: 0.15em;
		text-transform: uppercase;
	}

	#reviews-page .reviews-toolbar select {
		background: #15181b;
		border: 1px solid #2b2f35;
		border-radius: 999px;
		color: #e3e4e6;
		font-family: inherit;
		font-size: 0.9em;
		padding: 0.45em 1em;
	}

		#reviews-page .review-card {
			background: #181b1f;
			border: 1px solid #2a2c30;
			border-radius: 16px;
			padding: 1.6em 1.7em;
		}

		#reviews-page .review-card h3 {
			color: #ffffff;
			font-size: 1.1em;
			letter-spacing: 0.08em;
			margin-bottom: 0.4em;
			text-transform: uppercase;
		}

		#reviews-page .review-meta {
			color: #9ea2a7;
			font-size: 0.9em;
			margin-bottom: 1em;
		}

		#reviews-page .review-meta .review-map {
			border-bottom: none;
			color: #c7c9cc;
		}

	#reviews-page .review-notes {
		color: #c7c9cc;
		margin: 0;
		white-space: pre-line;
	}

	#reviews-page .review-date-links {
		color: #7d7f82;
		font-size: 0.85em;
		margin-bottom: 1em;
	}

	#reviews-page .review-date-links .review-map {
		border-bottom: none;
		color: #9ea2a7;
	}

	#reviews-page .review-images {
		display: flex;
		gap: 0.75em;
		margin: 1em 0 0 0;
		overflow-x: auto;
		padding-bottom: 0.35em;
		scroll-snap-type: x mandatory;
	}

	#reviews-page .review-image {
		border-radius: 12px;
		border: 1px solid #2a2c30;
		display: block;
		overflow: hidden;
		position: relative;
		scroll-snap-align: start;
		flex: 0 0 auto;
		width: min(100%, 9em);
	}

	#reviews-page .review-image img {
		aspect-ratio: 4 / 3;
		display: block;
		height: 100%;
		object-fit: cover;
		width: 100%;
	}

	#reviews-page .review-image-remove-card {
		align-items: center;
		background: rgba(16, 17, 19, 0.85);
		border: 1px solid rgba(200, 200, 200, 0.2);
		border-radius: 999px;
		color: #e6e7e9;
		cursor: pointer;
		display: inline-flex;
		font-size: 0.65em;
		letter-spacing: 0.12em;
		opacity: 0;
		padding: 0.35em 0.85em;
		pointer-events: none;
		position: absolute;
		right: 0.6em;
		top: 0.6em;
		text-transform: uppercase;
		transition: opacity 0.2s ease;
	}

	#reviews-page .review-image.is-editable .review-image-remove-card,
	#reviews-page .review-image:hover .review-image-remove-card {
		opacity: 1;
		pointer-events: auto;
	}

	.review-lightbox {
		align-items: center;
		background: rgba(10, 11, 12, 0.7);
		display: none;
		inset: 0;
		justify-content: center;
		position: fixed;
		z-index: 10020;
	}

	.review-lightbox.is-visible {
		display: flex;
	}

	.review-lightbox-backdrop {
		inset: 0;
		position: absolute;
	}

	.review-lightbox-content {
		background: #0f1113;
		border: 1px solid #2a2c30;
		border-radius: 16px;
		box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
		max-height: 60vh;
		max-width: min(60vw, 560px);
		padding: 1.2em;
		position: relative;
		overflow: hidden;
		width: 100%;
		z-index: 1;
	}

	.review-lightbox-content img {
		border-radius: 12px;
		display: block;
		height: auto;
		max-height: 48vh;
		max-width: 100%;
		object-fit: contain;
		width: auto;
		margin: 0 auto;
	}

	.review-lightbox-close {
		align-items: center;
		appearance: none;
		background: none;
		border: 0;
		border-radius: 0;
		box-shadow: none;
		color: #ffffff;
		cursor: pointer;
		display: inline-flex;
		font-size: 1.2em;
		height: auto;
		justify-content: center;
		position: absolute;
		right: 0.6em;
		top: 0.6em;
		width: auto;
		padding: 0;
		line-height: 1;
		outline: none;
		-webkit-tap-highlight-color: transparent;
		color: #ffffff !important;
	}

	.review-lightbox-close:hover,
	.review-lightbox-close:focus,
	.review-lightbox-close:active {
		background: none;
		border: 0;
		box-shadow: none;
		outline: none;
		color: #ffffff !important;
	}

	.review-lightbox-nav {
		align-items: center;
		appearance: none;
		background: none;
		border: 0;
		border-radius: 0;
		color: #f1f2f4;
		cursor: pointer;
		display: inline-flex;
		font-size: 1.8em;
		height: auto;
		justify-content: center;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		width: auto;
		box-shadow: none;
		padding: 0;
		line-height: 1;
		outline: none;
		-webkit-tap-highlight-color: transparent;
		color: #ffffff !important;
	}

	.review-lightbox-nav:hover,
	.review-lightbox-nav:focus,
	.review-lightbox-nav:active {
		background: none;
		border: 0;
		box-shadow: none;
		outline: none;
		color: #ffffff !important;
	}

	.review-lightbox-nav.prev {
		left: 0.9em;
	}

	.review-lightbox-nav.next {
		right: 0.9em;
	}

	.review-lightbox-nav:hover {
		color: #ffffff;
	}

	#reviews-page .review-image-preview {
		display: grid;
		grid-template-columns: repeat(6, minmax(0, 1fr));
		gap: 0.6em;
		margin-top: 0.6em;
	}

	#reviews-page .review-image-thumb {
		position: relative;
	}

	#reviews-page .review-image-thumb img {
		aspect-ratio: 1 / 1;
		border: 1px solid #2b2f35;
		border-radius: 10px;
		display: block;
		height: 100%;
		object-fit: cover;
		width: 100%;
	}

	#reviews-page .review-image-remove {
		align-items: center;
		background: rgba(16, 17, 19, 0.85);
		border: 1px solid rgba(200, 200, 200, 0.2);
		border-radius: 999px;
		color: #e6e7e9;
		cursor: pointer;
		display: inline-flex;
		font-size: 0.65em;
		letter-spacing: 0.12em;
		padding: 0.35em 0.85em;
		position: absolute;
		right: 0.4em;
		top: 0.4em;
		text-transform: uppercase;
	}

	#reviews-page .review-image-add {
		align-items: center;
		background: #14181b;
		border: 1px dashed #2b2f35;
		border-radius: 10px;
		color: #c7c9cc;
		cursor: pointer;
		display: inline-flex;
		font-size: 0.72em;
		justify-content: center;
		letter-spacing: 0.2em;
		min-height: 100%;
		padding: 0.8em;
		text-transform: uppercase;
		transition: border-color 0.2s ease, color 0.2s ease;
	}

	#reviews-page .review-image-add:hover {
		border-color: #3b3f46;
		color: #ffffff;
	}

	#reviews-page .review-form input[type="file"] {
		position: absolute;
		height: 1px;
		width: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		white-space: nowrap;
	}

	#reviews-page .review-add-photos {
		align-items: center;
		background: #14181b;
		border: 1px dashed #2b2f35;
		box-shadow: none;
		border-radius: 999px;
		color: #c7c9cc;
		cursor: pointer;
		display: inline-flex;
		font-size: 0.68em;
		font-weight: 500;
		height: auto;
		letter-spacing: 0.2em;
		line-height: 1.2;
		margin: 0.4em auto 0;
		padding: 0.45em 1.2em;
		text-transform: uppercase;
		transition: border-color 0.2s ease, color 0.2s ease;
		width: auto;
	}

	#reviews-page .review-add-photos:hover {
		border-color: #3b3f46;
		color: #ffffff;
	}

	#reviews-page .review-images-error {
		color: #c27a7a;
		display: none;
		font-size: 0.85em;
		margin-top: 0.4em;
	}

		#reviews-page .review-actions {
			display: flex;
			gap: 0.6em;
			margin-top: 1.2em;
		}

		#reviews-page .review-actions .button,
		#bucket-page .bucket-actions .button {
			border-radius: 999px;
			background: rgba(255,255,255,0.02);
			box-shadow: inset 0 0 0 1.5px rgba(255,255,255,0.18);
			transition: background-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease, transform 0.2s ease;
		}

		#reviews-page .review-actions .button:hover,
		#bucket-page .bucket-actions .button:hover {
			background: rgba(52,165,142,0.08);
			box-shadow: inset 0 0 0 1.5px rgba(52,165,142,0.72);
			transform: translateY(-1px);
		}

		#reviews-page .delete-review:hover {
			background: rgba(178,70,70,0.08);
			box-shadow: inset 0 0 0 1.5px rgba(178,70,70,0.72);
			color: #f2b7b7;
		}

	#reviews-page .empty-state {
		color: #7d7f82;
		border: 1px dashed #2a2c30;
		border-radius: 14px;
		padding: 1.8em;
		text-align: center;
		margin: 0;
	}

/* Bucket List Page */

	#bucket-page {
		background: linear-gradient(120deg, #141618 0%, #0f1012 45%, #1a1c20 100%);
		border-bottom: solid 1px #2a2c30;
		padding: 4.5em 4em 4.5em 4em;
	}

		#bucket-page .inner {
			margin: 0 auto;
			max-width: 62em;
		}

		#bucket-page .note-header {
			margin-bottom: 2.5em;
		}

		#bucket-page .note-header p {
			color: #7d7f82;
			font-size: 0.7em;
			letter-spacing: 0.25em;
			margin: 0 0 1.25em 0;
			text-transform: uppercase;
		}

		#bucket-page h2 {
			font-size: 2em;
			letter-spacing: 0.15em;
			margin: 0 0 0.6em 0;
		}

		#bucket-page .bucket-grid {
			display: grid;
			grid-template-columns: 1fr;
			gap: 2.5em;
			justify-items: center;
		}

		#bucket-page .bucket-column,
		#bucket-page .bucket-form {
			width: min(100%, 46em);
		}

		#bucket-page .bucket-form {
			background: #1c1f22;
			border: 1px solid #2a2c30;
			border-radius: 12px;
			padding: 2em;
		}

		#bucket-page .bucket-form .fields {
			display: grid;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			gap: 1.1em;
			margin-bottom: 1.5em;
		}

		#bucket-page .bucket-form .field {
			display: flex;
			flex-direction: column;
			gap: 0.55em;
		}

		#bucket-page .bucket-form .field.center {
			grid-column: 1 / -1;
			align-items: center;
			text-align: center;
			width: 100%;
		}

		#bucket-page .bucket-form .field.center select {
			max-width: 16em;
			width: 100%;
			margin: 0 auto;
		}

		#bucket-page .bucket-form label {
			color: #c7c9cc;
			font-size: 0.85em;
			letter-spacing: 0.15em;
			text-transform: uppercase;
		}

		#bucket-page .bucket-form input,
		#bucket-page .bucket-form textarea,
		#bucket-page .bucket-form select {
			background: #15181b;
			border: 1px solid #2b2f35;
			border-radius: 8px;
			color: #e3e4e6;
			font-family: inherit;
			font-size: 1em;
			padding: 0.65em 0.85em;
			width: 100%;
		}

		#bucket-page .bucket-form textarea {
			min-height: 140px;
			resize: vertical;
		}

		#bucket-page .bucket-form .actions {
			display: flex;
			gap: 0.8em;
			align-items: center;
		}

		#bucket-page .bucket-form .actions input {
			border-radius: 999px;
			padding: 0 1.6em;
		}

		#bucket-page .bucket-form .helper {
			color: #7d7f82;
			font-size: 0.95em;
			margin: 0;
		}

		#bucket-page .bucket-toolbar {
			display: flex;
			align-items: center;
			gap: 0.75em;
			margin-bottom: 1.5em;
			justify-content: flex-end;
		}

		#bucket-page .bucket-toolbar label {
			color: #9ea2a7;
			font-size: 0.75em;
			letter-spacing: 0.15em;
			text-transform: uppercase;
		}

		#bucket-page .bucket-toolbar select {
			background: #15181b;
			border: 1px solid #2b2f35;
			border-radius: 999px;
			color: #e3e4e6;
			font-family: inherit;
			font-size: 0.9em;
			padding: 0.45em 1em;
		}

		#bucket-page .bucket-list {
			display: grid;
			gap: 1.4em;
		}

		#bucket-page .bucket-card {
			background: #181b1f;
			border: 1px solid #2a2c30;
			border-radius: 16px;
			padding: 1.6em 1.7em;
		}

		#bucket-page .bucket-card.is-done {
			border-color: rgba(52, 165, 142, 0.4);
			box-shadow: 0 0 0 1px rgba(52, 165, 142, 0.2) inset;
		}

		#bucket-page .bucket-card h3 {
			color: #ffffff;
			font-size: 1.1em;
			letter-spacing: 0.08em;
			margin-bottom: 0.4em;
			text-transform: uppercase;
		}

		#bucket-page .bucket-meta {
			color: #9ea2a7;
			font-size: 0.9em;
			margin-bottom: 1em;
		}

		#bucket-page .bucket-meta .bucket-map {
			border-bottom: none;
			color: #c7c9cc;
		}

		#bucket-page .bucket-date-links .bucket-map {
			border-bottom: none;
			color: #9ea2a7;
		}

		#bucket-page .bucket-notes {
			color: #c7c9cc;
			margin: 0 0 1em 0;
			white-space: pre-line;
		}

	#bucket-page .bucket-images {
		display: flex;
		gap: 0.75em;
		margin: 1em 0 0 0;
		overflow-x: auto;
		padding-bottom: 0.35em;
		scroll-snap-type: x mandatory;
	}

	#bucket-page .bucket-image {
		border-radius: 12px;
		border: 1px solid #2a2c30;
		display: block;
		overflow: hidden;
		position: relative;
		scroll-snap-align: start;
		flex: 0 0 auto;
		width: min(100%, 9em);
	}

	#bucket-page .bucket-image img {
		aspect-ratio: 4 / 3;
		display: block;
		height: 100%;
		object-fit: cover;
		width: 100%;
	}

	#bucket-page .bucket-image-remove-card {
		align-items: center;
		background: rgba(16, 17, 19, 0.85);
		border: 1px solid rgba(200, 200, 200, 0.2);
		border-radius: 999px;
		color: #e6e7e9;
		cursor: pointer;
		display: inline-flex;
		font-size: 0.65em;
		letter-spacing: 0.12em;
		opacity: 0;
		padding: 0.35em 0.85em;
		pointer-events: none;
		position: absolute;
		right: 0.6em;
		top: 0.6em;
		text-transform: uppercase;
		transition: opacity 0.2s ease;
	}

	#bucket-page .bucket-image.is-editable .bucket-image-remove-card,
	#bucket-page .bucket-image:hover .bucket-image-remove-card {
		opacity: 1;
		pointer-events: auto;
	}

	#bucket-page .bucket-image-preview {
		display: grid;
		grid-template-columns: repeat(6, minmax(0, 1fr));
		gap: 0.6em;
		margin-top: 0.6em;
	}

	#bucket-page .bucket-image-thumb {
		position: relative;
	}

	#bucket-page .bucket-image-thumb img {
		aspect-ratio: 1 / 1;
		border: 1px solid #2b2f35;
		border-radius: 10px;
		display: block;
		height: 100%;
		object-fit: cover;
		width: 100%;
	}

	#bucket-page .bucket-image-remove {
		align-items: center;
		background: rgba(16, 17, 19, 0.85);
		border: 1px solid rgba(200, 200, 200, 0.2);
		border-radius: 999px;
		color: #e6e7e9;
		cursor: pointer;
		display: inline-flex;
		font-size: 0.65em;
		letter-spacing: 0.12em;
		padding: 0.35em 0.85em;
		position: absolute;
		right: 0.4em;
		top: 0.4em;
		text-transform: uppercase;
	}

	#bucket-page .bucket-image-add {
		align-items: center;
		background: #14181b;
		border: 1px dashed #2b2f35;
		border-radius: 10px;
		color: #c7c9cc;
		cursor: pointer;
		display: inline-flex;
		font-size: 0.72em;
		justify-content: center;
		letter-spacing: 0.2em;
		min-height: 100%;
		padding: 0.8em;
		text-transform: uppercase;
		transition: border-color 0.2s ease, color 0.2s ease;
	}

	#bucket-page .bucket-image-add:hover {
		border-color: #3b3f46;
		color: #ffffff;
	}

	#bucket-page .bucket-form input[type="file"] {
		position: absolute;
		height: 1px;
		width: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		white-space: nowrap;
	}

	#bucket-page .bucket-add-photos {
		align-items: center;
		background: #14181b;
		border: 1px dashed #2b2f35;
		box-shadow: none;
		border-radius: 999px;
		color: #c7c9cc;
		cursor: pointer;
		display: inline-flex;
		font-size: 0.68em;
		font-weight: 500;
		height: auto;
		letter-spacing: 0.2em;
		line-height: 1.2;
		margin: 0.4em auto 0;
		padding: 0.45em 1.2em;
		text-transform: uppercase;
		transition: border-color 0.2s ease, color 0.2s ease;
		width: auto;
	}

	#bucket-page .bucket-add-photos:hover {
		border-color: #3b3f46;
		color: #ffffff;
	}

	#bucket-page .bucket-images-error {
		color: #c27a7a;
		display: none;
		font-size: 0.85em;
		margin-top: 0.4em;
	}

		#bucket-page .bucket-date-links {
			color: #7d7f82;
			font-size: 0.85em;
			margin-bottom: 1.2em;
		}

		#bucket-page .bucket-actions {
			display: flex;
			gap: 0.8em;
		}

		#bucket-page .delete-bucket:hover {
			background: rgba(178,70,70,0.08);
			box-shadow: inset 0 0 0 1.5px rgba(178,70,70,0.72);
			color: #f2b7b7;
		}

	#reviews-page .review-image-remove:hover,
	#reviews-page .review-image-remove-card:hover,
	#bucket-page .bucket-image-remove:hover,
	#bucket-page .bucket-image-remove-card:hover {
		border-color: #b24646;
		background: rgba(104, 35, 35, 0.85);
		color: #f2b7b7;
	}

		#bucket-page .bucket-empty {
			color: #7d7f82;
			border: 1px dashed #2a2c30;
			border-radius: 14px;
			padding: 1.8em;
			text-align: center;
			margin: 0;
		}

	@media screen and (max-width: 980px) {
		#bucket-page {
			padding: 4em 2.5em 4em 2.5em;
		}
	}

	@media screen and (max-width: 736px) {
		#bucket-page {
			padding: 3.25em 1.75em 3.25em 1.75em;
		}

		#bucket-page h2 {
			font-size: 1.5em;
		}

		#bucket-page .bucket-form .fields {
			grid-template-columns: 1fr;
		}

		#bucket-page .bucket-toolbar {
			justify-content: flex-start;
		}

		#bucket-page .bucket-image-preview {
			grid-template-columns: repeat(3, minmax(0, 1fr));
		}
	}

/* Reviews Auth Modal */

	@keyframes auth-panel-in {
		from {
			opacity: 0;
			transform: translateY(10px);
		}

		to {
			opacity: 1;
			transform: translateY(0);
		}
	}

	.auth-modal {
		position: fixed;
		inset: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: clamp(0.75rem, 2vw, 2rem);
		overflow-y: auto;
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: opacity 0.28s ease, visibility 0.28s ease;
		z-index: 10005;
	}

	.auth-modal.is-visible {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}

	.auth-modal .auth-backdrop {
		position: absolute;
		inset: 0;
		background: rgba(10, 12, 14, 0.72);
		-webkit-backdrop-filter: blur(8px);
		backdrop-filter: blur(8px);
		opacity: 0;
		transition: opacity 0.28s ease;
	}

	.auth-modal.is-visible .auth-backdrop {
		opacity: 1;
	}

	.auth-modal .auth-card {
		position: relative;
		display: grid;
		gap: 1.5rem;
		width: min(92vw, 32rem);
		max-height: min(92vh, 56rem);
		overflow: auto;
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
		padding: clamp(1.1rem, 2vw, 2rem);
		background: linear-gradient(180deg, #202327 0%, #1a1d20 100%);
		border: 1px solid rgba(255,255,255,0.08);
		border-radius: 22px;
		box-shadow: 0 28px 80px rgba(0,0,0,0.42);
		opacity: 0;
		transform: translateY(24px) scale(0.97);
		transition: transform 0.34s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.24s ease, box-shadow 0.24s ease;
		z-index: 1;
	}

	.auth-modal.is-visible .auth-card {
		opacity: 1;
		transform: translateY(0) scale(1);
	}

	.auth-modal.is-managing .auth-card {
		width: min(92vw, 64rem);
	}

	.auth-modal.is-managing .auth-login-card {
		width: min(92vw, 64rem);
		padding: clamp(1.1rem, 2vw, 2rem);
		border-radius: 22px;
	}

	.auth-modal .auth-login-card {
		gap: 1.35rem;
		width: min(92vw, 30rem);
		padding: clamp(1.2rem, 3vw, 2.1rem);
		background:
			linear-gradient(180deg, rgba(36,40,45,0.96) 0%, rgba(22,25,29,0.98) 100%);
		border-color: rgba(255,255,255,0.1);
		border-radius: 26px;
		box-shadow: 0 24px 70px rgba(0,0,0,0.46), inset 0 1px 0 rgba(255,255,255,0.05);
	}

	.auth-modal .auth-login-card:before {
		content: '';
		position: absolute;
		left: 1.2rem;
		right: 1.2rem;
		top: 0;
		height: 1px;
		background: linear-gradient(90deg, transparent 0%, rgba(111,226,219,0.5) 50%, transparent 100%);
		pointer-events: none;
	}

	.auth-modal .auth-card::-webkit-scrollbar,
	.auth-modal #gallery-admin-list::-webkit-scrollbar {
		width: 0.65rem;
	}

	.auth-modal .auth-card::-webkit-scrollbar-thumb,
	.auth-modal #gallery-admin-list::-webkit-scrollbar-thumb {
		background: rgba(255,255,255,0.12);
		border-radius: 999px;
	}

	.auth-modal .auth-close {
		position: absolute;
		top: 0.9rem;
		right: 0.9rem;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 2.35rem;
		height: 2.35rem;
		padding: 0;
		border: 0;
		border-radius: 999px;
		background: rgba(255,255,255,0.035);
		color: #c7c9cc;
		font-size: 1.35rem;
		line-height: 1;
		box-shadow: none;
		cursor: pointer;
		z-index: 4;
		pointer-events: auto;
		touch-action: manipulation;
	}

	.auth-modal .auth-close:hover {
		background: rgba(255,255,255,0.08);
		color: #ffffff;
		transform: translateY(-1px);
	}

	.auth-modal .auth-section,
	.auth-modal .manage-section {
		animation: auth-panel-in 0.26s ease both;
	}

	.auth-modal .auth-section {
		width: 100%;
		margin: 0 auto;
	}

	.auth-modal .auth-login-header {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr);
		gap: 0.9rem;
		align-items: center;
		padding-right: 2.8rem;
	}

	.auth-modal .auth-login-mark {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 3.05rem;
		height: 3.05rem;
		border: 1px solid rgba(111,226,219,0.28);
		border-radius: 18px;
		background: rgba(111,226,219,0.11);
		color: #e7fffd;
		font-size: 0.88rem;
		font-weight: 700;
		line-height: 1;
		box-shadow: inset 0 1px 0 rgba(255,255,255,0.06), 0 12px 26px rgba(0,0,0,0.18);
	}

	.auth-modal .auth-header {
		margin-bottom: 1.4rem;
		padding-right: 3rem;
	}

	.auth-modal.is-managing .auth-header {
		padding-left: 1.1rem;
		padding-right: calc(3rem + 1.1rem);
	}

	.auth-modal .auth-header-row {
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
		gap: 0.85rem;
	}

	.auth-modal .auth-kicker {
		margin: 0 0 0.6rem 0;
		color: #72dfdc;
		font-size: 0.75rem;
		font-weight: 600;
		letter-spacing: 0.18em;
		line-height: 1.4;
		text-transform: uppercase;
	}

	.auth-modal h3 {
		margin: 0 0 0.35rem 0;
		font-size: clamp(1.45rem, 1.05rem + 1vw, 2rem);
		letter-spacing: 0.08em;
	}

	.auth-modal .auth-login-card h3 {
		margin-bottom: 0.15rem;
		font-size: clamp(1.7rem, 1.3rem + 1.2vw, 2.35rem);
		line-height: 1.05;
		text-transform: none;
	}

	.auth-modal .auth-link-btn {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-height: auto;
		height: auto;
		padding: 0.45rem 0.85rem;
		border: 1px solid rgba(255,255,255,0.1);
		border-radius: 999px;
		background: rgba(255,255,255,0.03);
		box-shadow: none;
		color: #d7dde2 !important;
		font-size: 0.72rem;
		font-weight: 600;
		letter-spacing: 0.12em;
		line-height: 1;
		text-transform: uppercase;
	}

	.auth-modal .auth-link-btn:hover {
		background: rgba(255,255,255,0.08);
		border-color: rgba(255,255,255,0.2);
		color: #ffffff !important;
	}

	.auth-modal .auth-subtitle {
		color: #9ea2a7;
		margin: 0;
		line-height: 1.6;
	}

	.auth-modal .auth-field + .auth-field {
		margin-top: 1rem;
	}

	.auth-modal .auth-login-form {
		display: grid;
		gap: 0.95rem;
		margin: 0;
	}

	.auth-modal .auth-login-form .auth-field + .auth-field {
		margin-top: 0;
	}

	.auth-modal label {
		color: #c7c9cc;
		font-size: 0.8em;
		letter-spacing: 0.15em;
		display: block;
		margin-bottom: 0.55rem;
		text-transform: uppercase;
	}

	.auth-modal input {
		width: 100%;
		min-height: 3.5rem;
		margin: 0;
		padding: 0.9rem 1rem;
		background: #15181b;
		border: 1px solid #2f343a;
		border-radius: 18px;
		color: #e3e4e6;
		font-family: inherit;
		font-size: 1em;
		line-height: 1.45;
	}

	.auth-modal .auth-login-card input {
		min-height: 3.35rem;
		background: rgba(12,15,18,0.68);
		border-color: rgba(145,157,168,0.22);
		border-radius: 18px;
		box-shadow: inset 0 1px 0 rgba(255,255,255,0.02);
	}

	.auth-modal .auth-login-card input::placeholder {
		color: #747b84 !important;
	}

	.auth-modal .gallery-file-input {
		min-height: auto;
		padding: 0.9rem 1rem;
		border-style: dashed;
		cursor: pointer;
	}

	.auth-modal .gallery-file-input::file-selector-button {
		margin-right: 0.85rem;
		padding: 0.55rem 0.9rem;
		border: 0;
		border-radius: 999px;
		background: rgba(114,223,220,0.18);
		color: #dffefd;
		font: inherit;
		font-size: 0.8rem;
		font-weight: 600;
		letter-spacing: 0.08em;
		text-transform: uppercase;
		cursor: pointer;
	}

	.auth-modal .gallery-file-preview {
		display: grid;
		grid-template-columns: 4.5rem minmax(0, 1fr);
		gap: 0.9rem;
		align-items: center;
		margin-top: 0.85rem;
		padding: 0.8rem;
		border: 1px solid rgba(255,255,255,0.08);
		border-radius: 14px;
		background: rgba(255,255,255,0.03);
	}

	.auth-modal .gallery-file-preview.is-empty {
		grid-template-columns: 1fr;
	}

	.auth-modal .gallery-file-preview-media {
		width: 4.5rem;
		height: 4.5rem;
		overflow: hidden;
		border-radius: 12px;
		background: rgba(255,255,255,0.04);
	}

	.auth-modal .gallery-file-preview.is-empty .gallery-file-preview-media {
		display: none;
	}

	.auth-modal .gallery-file-preview img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.auth-modal .gallery-file-preview-copy {
		min-width: 0;
	}

	.auth-modal .gallery-file-preview-copy strong,
	.auth-modal .gallery-file-preview-copy span {
		display: block;
	}

	.auth-modal .gallery-file-preview-copy strong {
		color: #f1f4f6;
		font-size: 0.95rem;
		font-weight: 600;
		line-height: 1.35;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.auth-modal .gallery-file-preview-copy span {
		margin-top: 0.25rem;
		color: #99a0a8;
		font-size: 0.86rem;
		line-height: 1.45;
	}

	.auth-modal input:focus {
		box-shadow: inset 0 0 0 2px rgba(110,224,221,0.85);
		border-color: rgba(110,224,221,0.6);
	}

	.auth-modal .auth-helper {
		margin: 0.85rem 0 0 0;
		color: #98a0a8;
		font-size: 0.9rem;
		line-height: 1.55;
	}

	.auth-modal #gallery-admin-warning {
		margin-top: 1rem;
	}

	.auth-modal .gallery-storage {
		margin-top: 1rem;
		padding: 1rem 1rem 0.95rem 1rem;
		border: 1px solid rgba(255,255,255,0.07);
		border-radius: 16px;
		background: rgba(10,13,16,0.24);
	}

	.auth-modal .gallery-storage.is-warning {
		border-color: rgba(255, 202, 117, 0.28);
		background: rgba(255, 189, 82, 0.08);
	}

	.auth-modal .gallery-storage.is-danger {
		border-color: rgba(255, 138, 138, 0.3);
		background: rgba(214, 79, 79, 0.1);
	}

	.auth-modal .gallery-storage-copy {
		display: grid;
		gap: 0.3rem;
	}

	.auth-modal .gallery-storage-label {
		color: #b8c4ce;
		font-size: 0.72rem;
		font-weight: 700;
		letter-spacing: 0.18em;
		line-height: 1.4;
		text-transform: uppercase;
	}

	.auth-modal .gallery-storage-copy strong {
		color: #f3f5f7;
		font-size: 1rem;
		line-height: 1.4;
	}

	.auth-modal .gallery-storage-detail {
		margin: 0;
		color: #98a0a8;
		font-size: 0.9rem;
		line-height: 1.55;
	}

	.auth-modal .gallery-storage-bar {
		height: 0.65rem;
		margin-top: 0.85rem;
		border-radius: 999px;
		background: rgba(255,255,255,0.08);
		overflow: hidden;
	}

	.auth-modal .gallery-storage-bar span {
		display: block;
		height: 100%;
		width: 0;
		border-radius: inherit;
		background: linear-gradient(90deg, #6ddfe1 0%, #8ae9df 100%);
		transition: width 0.28s ease, background 0.28s ease;
	}

	.auth-modal .gallery-storage.is-warning .gallery-storage-bar span {
		background: linear-gradient(90deg, #ffd27f 0%, #ffc067 100%);
	}

	.auth-modal .gallery-storage.is-danger .gallery-storage-bar span {
		background: linear-gradient(90deg, #ff9f9f 0%, #ff7f7f 100%);
	}

	.auth-modal .auth-actions {
		display: flex;
		justify-content: stretch;
		margin-top: 1.25rem;
	}

	.auth-modal .auth-login-form .auth-actions {
		margin-top: 0.2rem;
	}

	.auth-modal .auth-actions .button,
	.auth-modal .auth-actions input[type="submit"],
	.auth-modal .auth-actions button {
		width: 100%;
		border-radius: 999px;
	}

	.auth-modal .auth-login-form .button.primary {
		min-height: 3.15rem;
		background: linear-gradient(135deg, #51c5b7 0%, #7fe3da 100%);
		box-shadow: 0 14px 28px rgba(84,207,196,0.18);
		color: #102024 !important;
		font-size: 0.82rem;
		font-weight: 700;
	}

	.auth-modal .auth-login-form .button.primary:hover {
		background: linear-gradient(135deg, #61d2c5 0%, #95eee6 100%);
		box-shadow: 0 16px 30px rgba(84,207,196,0.24);
		color: #0b1b1f !important;
		transform: translateY(-1px);
	}

	.auth-modal .auth-submit {
		width: 100%;
		height: auto;
		padding: 0.95rem 1.2rem;
		border: 0;
		border-radius: 999px;
		background: linear-gradient(135deg, #6ddfe1 0%, #8ae9df 100%);
		box-shadow: 0 16px 34px rgba(109,223,225,0.24);
		color: #10202a !important;
		font-size: 0.9rem;
		font-weight: 700;
		letter-spacing: 0.1em;
		line-height: 1.1;
		text-transform: uppercase;
	}

	.auth-modal .auth-submit:hover {
		background: linear-gradient(135deg, #81e8e9 0%, #9ef0e7 100%);
		color: #0d1a23 !important;
		transform: translateY(-1px);
	}

	.auth-modal .auth-submit:hover:active {
		transform: translateY(0);
	}

	.auth-modal .auth-error {
		color: #ffb4b4;
		margin: 0.85rem 0 0 0;
		font-size: 0.92rem;
		line-height: 1.5;
		display: none;
	}

	.auth-modal .manage-layout {
		display: grid;
		grid-template-columns: minmax(0, 21rem) minmax(0, 1fr);
		gap: 1.25rem;
		align-items: start;
	}

	.auth-modal .manage-panel,
	.auth-modal .manage-library {
		border: 1px solid rgba(255,255,255,0.06);
		border-radius: 18px;
		background: rgba(7,9,12,0.18);
		padding: 1.1rem;
	}

	.auth-modal .manage-library-header {
		margin-bottom: 1rem;
	}

	.auth-modal .manage-library-header h4 {
		margin: 0;
		color: #f3f5f7;
		font-size: 1rem;
		letter-spacing: 0.12em;
		line-height: 1.4;
		text-transform: uppercase;
	}

	.auth-modal .manage-library-header p {
		margin: 0.45rem 0 0 0;
		color: #98a0a8;
		font-size: 0.92rem;
		line-height: 1.6;
	}

	.auth-modal .helper {
		margin: 1rem 0 0 0;
		padding: 0.9rem 1rem;
		border: 1px solid rgba(255,196,109,0.16);
		border-radius: 12px;
		background: rgba(255,196,109,0.08);
		color: #ffd2a6;
		font-size: 0.92rem;
		line-height: 1.6;
	}

	.auth-modal #gallery-admin-list {
		max-height: min(45vh, 30rem);
		overflow: auto;
		padding-right: 0.2rem;
	}

	@media screen and (max-width: 820px) {
		.auth-modal {
			align-items: center;
			padding: max(0.5rem, env(safe-area-inset-top)) 0.5rem max(0.5rem, env(safe-area-inset-bottom));
		}

		.auth-modal .auth-card {
			width: min(100%, 46rem);
			max-height: calc(100dvh - 1rem);
			min-height: auto;
			overflow: auto;
		}

		.auth-modal .manage-layout {
			grid-template-columns: 1fr;
		}

		.auth-modal #gallery-admin-list {
			max-height: none;
			overflow: visible;
		}

		.auth-modal.is-managing {
			align-items: flex-start;
		}

		.auth-modal.is-managing .auth-card {
			max-height: none;
			min-height: calc(100dvh - 1rem);
			overflow: visible;
		}
	}

	@media screen and (max-width: 520px) {
		.auth-modal {
			padding: max(0.5rem, env(safe-area-inset-top)) 0.5rem max(0.5rem, env(safe-area-inset-bottom));
		}

		.auth-modal .auth-card {
			gap: 1.1rem;
			padding: 1rem;
			border-radius: 20px;
		}

		.auth-modal .auth-login-card {
			padding: 1.15rem;
			border-radius: 22px;
		}

		.auth-modal .auth-login-header {
			gap: 0.75rem;
			padding-right: 2.4rem;
		}

		.auth-modal .auth-login-mark {
			width: 2.75rem;
			height: 2.75rem;
			border-radius: 16px;
		}

		.auth-modal .auth-close {
			top: 0.75rem;
			right: 0.75rem;
			width: 2.75rem;
			height: 2.75rem;
		}

		.auth-modal .auth-header {
			padding-right: 2.3rem;
		}

		.auth-modal.is-managing .auth-header {
			padding-left: 0.95rem;
			padding-right: calc(2.3rem + 0.95rem);
		}

		.auth-modal .auth-header-row {
			align-items: flex-start;
			flex-direction: column;
		}

		.auth-modal .manage-panel,
		.auth-modal .manage-library {
			padding: 0.95rem;
		}

		.auth-modal .gallery-file-preview {
			grid-template-columns: 1fr;
		}

		.auth-modal .gallery-file-preview-media {
			width: 100%;
			height: auto;
			aspect-ratio: 4 / 3;
		}
	}

	@media (prefers-reduced-motion: reduce) {
		.auth-modal,
		.auth-modal .auth-backdrop,
		.auth-modal .auth-card,
		.auth-modal .auth-section,
		.auth-modal .manage-section {
			animation: none !important;
			transition: none !important;
		}
	}

/* Letters Page */

	.letters-locked #letters-content {
		filter: blur(8px);
		opacity: 0.2;
		pointer-events: none;
		user-select: none;
	}

	.letters-shield {
		position: fixed;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		color: #c7c9cc;
		letter-spacing: 0.15em;
		text-transform: uppercase;
		font-size: 0.8em;
		padding: 0.9em 1.4em;
		border: 1px solid #2a2c30;
		border-radius: 999px;
		background: rgba(15, 17, 19, 0.9);
		opacity: 0;
		pointer-events: none;
		transition: opacity 0.2s ease;
		z-index: 10004;
	}

	.letters-locked .letters-shield {
		opacity: 1;
	}

	.letters-page {
		background: radial-gradient(circle at top, rgba(40, 43, 48, 0.85), rgba(12, 13, 15, 0.95)), #0c0d0f;
	}

	.letters-hero {
		padding: 6em 2.5em 5em 2.5em;
		background: linear-gradient(145deg, rgba(20, 22, 26, 0.9), rgba(12, 13, 15, 0.9));
		border-bottom: 1px solid rgba(255, 255, 255, 0.06);
	}

	.letters-inner {
		display: flex;
		justify-content: center;
	}

	.letters-card {
		max-width: 64em;
		width: 100%;
		background: linear-gradient(160deg, rgba(36, 38, 42, 0.95), rgba(24, 26, 29, 0.98));
		border: 1px solid rgba(255, 255, 255, 0.08);
		border-radius: 24px;
		padding: 3.5em 3.8em;
		box-shadow: 0 30px 60px rgba(0, 0, 0, 0.45);
		position: relative;
	}

	.letters-card:before {
		content: '';
		position: absolute;
		inset: 1.2em;
		border-radius: 18px;
		border: 1px solid rgba(255, 255, 255, 0.04);
		pointer-events: none;
	}

	.letters-card .note-header {
		margin-bottom: 2.2em;
	}

	.letters-card .note-body p {
		color: #d0d2d6;
		font-size: 1.05em;
	}

	.letters-card .note-signature {
		margin-top: 2.2em;
	}

	.letters-card .letters-input {
		margin: 2.2em 0 1.4em 0;
	}

	.letters-card .letters-input label {
		display: block;
		color: #c7c9cc;
		font-size: 0.85em;
		letter-spacing: 0.15em;
		text-transform: uppercase;
		margin-bottom: 0.65em;
	}

	.letters-card .letters-input textarea {
		width: 100%;
		min-height: 160px;
		resize: vertical;
		background: #15181b;
		border: 1px solid #2b2f35;
		border-radius: 12px;
		color: #e3e4e6;
		font-family: inherit;
		font-size: 1em;
		padding: 0.85em 1em;
	}

	.letters-card .letters-actions {
		display: flex;
		gap: 0.8em;
		margin-top: 0.9em;
	}

	.letters-card .letters-toolbar {
		display: flex;
		align-items: center;
		gap: 0.75em;
		margin-top: 1.4em;
	}

	.letters-card .letters-toolbar label {
		color: #9ea2a7;
		font-size: 0.75em;
		letter-spacing: 0.15em;
		text-transform: uppercase;
	}

	.letters-card .letters-toolbar select {
		background: #15181b;
		border: 1px solid #2b2f35;
		border-radius: 999px;
		color: #e3e4e6;
		font-family: inherit;
		font-size: 0.9em;
		padding: 0.45em 1em;
	}

	.letters-card .letters-list {
		margin-top: 2.5em;
	}

	.letters-card .letters-list h3 {
		margin: 0 0 1em 0;
		font-size: 0.85em;
		letter-spacing: 0.2em;
		text-transform: uppercase;
		color: #b7b9bd;
	}

	.letters-entry {
		background: rgba(17, 19, 22, 0.9);
		border: 1px solid rgba(255, 255, 255, 0.06);
		border-radius: 16px;
		padding: 1.4em 1.6em;
		margin-bottom: 1.2em;
	}

	.letters-entry p {
		margin: 0 0 1.2em 0;
		color: #d1d3d6;
	}

	.letters-entry-meta {
		color: #8e9297;
		font-size: 0.85em;
		margin-bottom: 0.8em;
	}

	.letters-entry-actions {
		display: flex;
		gap: 0.8em;
	}

	.letters-empty {
		color: #7d7f82;
		border: 1px dashed #2a2c30;
		border-radius: 14px;
		padding: 1.4em;
		text-align: center;
		margin: 0;
	}

	.letters-footer {
		margin-top: 0;
		background: #0f1113;
	}

	@media screen and (max-width: 980px) {
		.letters-hero {
			padding: 5em 2em 4em 2em;
		}

		.letters-card {
			padding: 3em 2.6em;
		}
	}

	@media screen and (max-width: 736px) {
		.letters-hero {
			padding: 4.5em 1.5em 3.5em 1.5em;
		}

		.letters-card {
			padding: 2.4em 1.7em;
			border-radius: 18px;
		}

		.letters-card:before {
			inset: 0.9em;
		}
	}

	@media screen and (max-width: 980px) {

		#reviews-page {
			padding: 4em 2.5em 4em 2.5em;
		}

	}

	@media screen and (max-width: 736px) {

		#reviews-page {
			padding: 3.25em 1.75em 3.25em 1.75em;
		}

		#reviews-page h2 {
			font-size: 1.5em;
		}

		#reviews-page .review-form .fields {
			grid-template-columns: 1fr;
		}

		#reviews-page .review-image-preview {
			grid-template-columns: repeat(3, minmax(0, 1fr));
		}

	}

		#main .thumb {
			-moz-transition: opacity 1.25s ease-in-out;
			-webkit-transition: opacity 1.25s ease-in-out;
			-ms-transition: opacity 1.25s ease-in-out;
			transition: opacity 1.25s ease-in-out;
			pointer-events: auto;
			-webkit-tap-highlight-color: rgba(255, 255, 255, 0);
			opacity: 1;
			overflow: hidden;
			position: relative;
		}

			#main .thumb:after {
				background-image: -moz-linear-gradient(to top, rgba(10,17,25,0.35) 5%, rgba(10,17,25,0) 35%);
				background-image: -webkit-linear-gradient(to top, rgba(10,17,25,0.35) 5%, rgba(10,17,25,0) 35%);
				background-image: -ms-linear-gradient(to top, rgba(10,17,25,0.35) 5%, rgba(10,17,25,0) 35%);
				background-image: linear-gradient(to top, rgba(10,17,25,0.35) 5%, rgba(10,17,25,0) 35%);
				pointer-events: none;
				background-size: cover;
				content: '';
				display: block;
				height: 100%;
				left: 0;
				position: absolute;
				top: 0;
				width: 100%;
			}

			#main .thumb > .image {
				-webkit-tap-highlight-color: rgba(255, 255, 255, 0);
				background-position: center;
				background-repeat: no-repeat;
				background-size: cover;
				border: 0;
				height: 100%;
				left: 0;
				position: absolute;
				top: 0;
				width: 100%;
			}

			#main .thumb > h2 {
				pointer-events: none;
				bottom: 1.875em;
				font-size: 0.8em;
				left: 2.1875em;
				margin: 0;
				position: absolute;
				z-index: 1;
			}

			#main .thumb > p {
				display: none;
			}

		#main:after {
			pointer-events: none;
			-moz-transition: opacity 0.5s ease, visibility 0.5s;
			-webkit-transition: opacity 0.5s ease, visibility 0.5s;
			-ms-transition: opacity 0.5s ease, visibility 0.5s;
			transition: opacity 0.5s ease, visibility 0.5s;
			background: rgba(36, 38, 41, 0.25);
			content: '';
			display: block;
			height: 100%;
			left: 0;
			opacity: 0;
			position: absolute;
			top: 0;
			visibility: hidden;
			width: 100%;
			z-index: 1;
		}

			body.ie #main:after {
				background: rgba(36, 38, 41, 0.55);
			}

		body.content-active #main {
			-moz-filter: blur(6px);
			-webkit-filter: blur(6px);
			-ms-filter: blur(6px);
			filter: blur(6px);
		}

			body.content-active #main:after {
				pointer-events: auto;
				opacity: 1;
				visibility: visible;
			}

		body.is-preload #main .thumb {
			pointer-events: none;
			opacity: 0;
		}

		#main .thumb {
			-moz-transition-delay: 2.525s;
			-webkit-transition-delay: 2.525s;
			-ms-transition-delay: 2.525s;
			transition-delay: 2.525s;
			height: calc(40vh - 2em);
			min-height: 20em;
			width: 25%;
		}

			#main .thumb:nth-child(1) {
				-moz-transition-delay: 0.65s;
				-webkit-transition-delay: 0.65s;
				-ms-transition-delay: 0.65s;
				transition-delay: 0.65s;
			}

			#main .thumb:nth-child(2) {
				-moz-transition-delay: 0.8s;
				-webkit-transition-delay: 0.8s;
				-ms-transition-delay: 0.8s;
				transition-delay: 0.8s;
			}

			#main .thumb:nth-child(3) {
				-moz-transition-delay: 0.95s;
				-webkit-transition-delay: 0.95s;
				-ms-transition-delay: 0.95s;
				transition-delay: 0.95s;
			}

			#main .thumb:nth-child(4) {
				-moz-transition-delay: 1.1s;
				-webkit-transition-delay: 1.1s;
				-ms-transition-delay: 1.1s;
				transition-delay: 1.1s;
			}

			#main .thumb:nth-child(5) {
				-moz-transition-delay: 1.25s;
				-webkit-transition-delay: 1.25s;
				-ms-transition-delay: 1.25s;
				transition-delay: 1.25s;
			}

			#main .thumb:nth-child(6) {
				-moz-transition-delay: 1.4s;
				-webkit-transition-delay: 1.4s;
				-ms-transition-delay: 1.4s;
				transition-delay: 1.4s;
			}

			#main .thumb:nth-child(7) {
				-moz-transition-delay: 1.55s;
				-webkit-transition-delay: 1.55s;
				-ms-transition-delay: 1.55s;
				transition-delay: 1.55s;
			}

			#main .thumb:nth-child(8) {
				-moz-transition-delay: 1.7s;
				-webkit-transition-delay: 1.7s;
				-ms-transition-delay: 1.7s;
				transition-delay: 1.7s;
			}

			#main .thumb:nth-child(9) {
				-moz-transition-delay: 1.85s;
				-webkit-transition-delay: 1.85s;
				-ms-transition-delay: 1.85s;
				transition-delay: 1.85s;
			}

			#main .thumb:nth-child(10) {
				-moz-transition-delay: 2s;
				-webkit-transition-delay: 2s;
				-ms-transition-delay: 2s;
				transition-delay: 2s;
			}

			#main .thumb:nth-child(11) {
				-moz-transition-delay: 2.15s;
				-webkit-transition-delay: 2.15s;
				-ms-transition-delay: 2.15s;
				transition-delay: 2.15s;
			}

			#main .thumb:nth-child(12) {
				-moz-transition-delay: 2.3s;
				-webkit-transition-delay: 2.3s;
				-ms-transition-delay: 2.3s;
				transition-delay: 2.3s;
			}

		@media screen and (max-width: 1680px) {

			#main .thumb {
				-moz-transition-delay: 2.075s;
				-webkit-transition-delay: 2.075s;
				-ms-transition-delay: 2.075s;
				transition-delay: 2.075s;
				height: calc(40vh - 2em);
				min-height: 20em;
				width: 33.33333%;
			}

				#main .thumb:nth-child(1) {
					-moz-transition-delay: 0.65s;
					-webkit-transition-delay: 0.65s;
					-ms-transition-delay: 0.65s;
					transition-delay: 0.65s;
				}

				#main .thumb:nth-child(2) {
					-moz-transition-delay: 0.8s;
					-webkit-transition-delay: 0.8s;
					-ms-transition-delay: 0.8s;
					transition-delay: 0.8s;
				}

				#main .thumb:nth-child(3) {
					-moz-transition-delay: 0.95s;
					-webkit-transition-delay: 0.95s;
					-ms-transition-delay: 0.95s;
					transition-delay: 0.95s;
				}

				#main .thumb:nth-child(4) {
					-moz-transition-delay: 1.1s;
					-webkit-transition-delay: 1.1s;
					-ms-transition-delay: 1.1s;
					transition-delay: 1.1s;
				}

				#main .thumb:nth-child(5) {
					-moz-transition-delay: 1.25s;
					-webkit-transition-delay: 1.25s;
					-ms-transition-delay: 1.25s;
					transition-delay: 1.25s;
				}

				#main .thumb:nth-child(6) {
					-moz-transition-delay: 1.4s;
					-webkit-transition-delay: 1.4s;
					-ms-transition-delay: 1.4s;
					transition-delay: 1.4s;
				}

				#main .thumb:nth-child(7) {
					-moz-transition-delay: 1.55s;
					-webkit-transition-delay: 1.55s;
					-ms-transition-delay: 1.55s;
					transition-delay: 1.55s;
				}

				#main .thumb:nth-child(8) {
					-moz-transition-delay: 1.7s;
					-webkit-transition-delay: 1.7s;
					-ms-transition-delay: 1.7s;
					transition-delay: 1.7s;
				}

				#main .thumb:nth-child(9) {
					-moz-transition-delay: 1.85s;
					-webkit-transition-delay: 1.85s;
					-ms-transition-delay: 1.85s;
					transition-delay: 1.85s;
				}

		}

		@media screen and (max-width: 1280px) {

			#main .thumb {
				-moz-transition-delay: 1.625s;
				-webkit-transition-delay: 1.625s;
				-ms-transition-delay: 1.625s;
				transition-delay: 1.625s;
				height: calc(40vh - 2em);
				min-height: 20em;
				width: 50%;
			}

				#main .thumb:nth-child(1) {
					-moz-transition-delay: 0.65s;
					-webkit-transition-delay: 0.65s;
					-ms-transition-delay: 0.65s;
					transition-delay: 0.65s;
				}

				#main .thumb:nth-child(2) {
					-moz-transition-delay: 0.8s;
					-webkit-transition-delay: 0.8s;
					-ms-transition-delay: 0.8s;
					transition-delay: 0.8s;
				}

				#main .thumb:nth-child(3) {
					-moz-transition-delay: 0.95s;
					-webkit-transition-delay: 0.95s;
					-ms-transition-delay: 0.95s;
					transition-delay: 0.95s;
				}

				#main .thumb:nth-child(4) {
					-moz-transition-delay: 1.1s;
					-webkit-transition-delay: 1.1s;
					-ms-transition-delay: 1.1s;
					transition-delay: 1.1s;
				}

				#main .thumb:nth-child(5) {
					-moz-transition-delay: 1.25s;
					-webkit-transition-delay: 1.25s;
					-ms-transition-delay: 1.25s;
					transition-delay: 1.25s;
				}

				#main .thumb:nth-child(6) {
					-moz-transition-delay: 1.4s;
					-webkit-transition-delay: 1.4s;
					-ms-transition-delay: 1.4s;
					transition-delay: 1.4s;
				}

		}

		@media screen and (max-width: 980px) {

			#main .thumb {
				-moz-transition-delay: 2.075s;
				-webkit-transition-delay: 2.075s;
				-ms-transition-delay: 2.075s;
				transition-delay: 2.075s;
				height: calc(28.57143vh - 1.33333em);
				min-height: 18em;
				width: 100%;
				max-width: 42em;
				margin: 0 auto;
			}

				#main .thumb:nth-child(1) {
					-moz-transition-delay: 0.65s;
					-webkit-transition-delay: 0.65s;
					-ms-transition-delay: 0.65s;
					transition-delay: 0.65s;
				}

				#main .thumb:nth-child(2) {
					-moz-transition-delay: 0.8s;
					-webkit-transition-delay: 0.8s;
					-ms-transition-delay: 0.8s;
					transition-delay: 0.8s;
				}

				#main .thumb:nth-child(3) {
					-moz-transition-delay: 0.95s;
					-webkit-transition-delay: 0.95s;
					-ms-transition-delay: 0.95s;
					transition-delay: 0.95s;
				}

				#main .thumb:nth-child(4) {
					-moz-transition-delay: 1.1s;
					-webkit-transition-delay: 1.1s;
					-ms-transition-delay: 1.1s;
					transition-delay: 1.1s;
				}

				#main .thumb:nth-child(5) {
					-moz-transition-delay: 1.25s;
					-webkit-transition-delay: 1.25s;
					-ms-transition-delay: 1.25s;
					transition-delay: 1.25s;
				}

				#main .thumb:nth-child(6) {
					-moz-transition-delay: 1.4s;
					-webkit-transition-delay: 1.4s;
					-ms-transition-delay: 1.4s;
					transition-delay: 1.4s;
				}

				#main .thumb:nth-child(7) {
					-moz-transition-delay: 1.55s;
					-webkit-transition-delay: 1.55s;
					-ms-transition-delay: 1.55s;
					transition-delay: 1.55s;
				}

				#main .thumb:nth-child(8) {
					-moz-transition-delay: 1.7s;
					-webkit-transition-delay: 1.7s;
					-ms-transition-delay: 1.7s;
					transition-delay: 1.7s;
				}

				#main .thumb:nth-child(9) {
					-moz-transition-delay: 1.85s;
					-webkit-transition-delay: 1.85s;
					-ms-transition-delay: 1.85s;
					transition-delay: 1.85s;
				}

		}

		@media screen and (max-width: 480px) {

			#main .thumb {
				-moz-transition-delay: 1.175s;
				-webkit-transition-delay: 1.175s;
				-ms-transition-delay: 1.175s;
				transition-delay: 1.175s;
				height: calc(40vh - 2em);
				min-height: 18em;
				width: 100%;
			}

				#main .thumb:nth-child(1) {
					-moz-transition-delay: 0.65s;
					-webkit-transition-delay: 0.65s;
					-ms-transition-delay: 0.65s;
					transition-delay: 0.65s;
				}

				#main .thumb:nth-child(2) {
					-moz-transition-delay: 0.8s;
					-webkit-transition-delay: 0.8s;
					-ms-transition-delay: 0.8s;
					transition-delay: 0.8s;
				}

				#main .thumb:nth-child(3) {
					-moz-transition-delay: 0.95s;
					-webkit-transition-delay: 0.95s;
					-ms-transition-delay: 0.95s;
					transition-delay: 0.95s;
				}

		}

/* Footer */

	#footer.site-footer {
		background: #0f1113;
		border-top: solid 1px #2a2c30;
		padding: 2.5em 1.5em;
		text-align: center;
	}

	#footer.site-footer .inner {
		display: grid;
		gap: 1em;
		justify-items: center;
	}

	#footer.site-footer .footer-brand h2 {
		margin: 0 0 0.35em 0;
		font-size: 1em;
		letter-spacing: 0.2em;
	}

	#footer.site-footer .footer-brand p {
		margin: 0;
		color: #7d7f82;
		font-size: 0.9em;
	}

		#footer.site-footer .icons {
			display: flex;
			justify-content: center;
			gap: 1.2em;
			margin: 0 0 1em 0;
		}

			#footer.site-footer .icons a {
				border: 0;
				color: #b7b7b7;
				font-size: 1.1em;
			}

				#footer.site-footer .icons a:hover {
					color: #ffffff !important;
				}

	#footer.site-footer .copyright {
		color: #7b7d80;
		font-size: 0.85em;
		margin: 0;
	}

		#footer.site-footer .copyright a {
			color: inherit;
		}

	@media screen and (max-width: 736px) {

		#footer.site-footer {
			padding: 2em 1.25em;
		}

		#footer.site-footer .icons {
			gap: 1em;
		}

	}

	@media screen and (max-width: 736px) {

		html, body {
			height: auto;
			overflow-y: auto;
		}

		#wrapper {
			height: auto;
			overflow: visible;
		}

	}

	@media screen and (max-width: 736px) {

		#main {
			display: block;
		}

		#footer.site-footer {
			position: relative;
			z-index: 3;
		}

	}

/* Theme Switch */

	.theme-switch-wrap {
		align-items: center;
		display: none !important;
	}

	.theme-toggle {
		background: #2a2f36;
		border: 1px solid #3a424c;
		border-radius: 0.5em;
		cursor: pointer;
		height: 2.4em;
		padding: 0;
		position: relative;
		width: 2.6em;
		box-shadow: none;
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	.theme-toggle[data-tooltip] {
		position: relative;
	}

	.theme-toggle[data-tooltip]:after {
		content: attr(data-tooltip);
		position: absolute;
		right: 50%;
		transform: translateX(50%);
		top: calc(100% + 0.35em);
		background: #111317;
		color: #ffffff;
		font-size: 0.65em;
		letter-spacing: 0.12em;
		text-transform: uppercase;
		padding: 0.28em 0.6em;
		border-radius: 0.35em;
		white-space: nowrap;
		opacity: 0;
		pointer-events: none;
		box-shadow: 0 10px 22px rgba(0, 0, 0, 0.35);
		transition: opacity 0.15s ease, transform 0.15s ease;
		z-index: 6;
	}

	.theme-toggle[data-tooltip]:hover:after,
	.theme-toggle[data-tooltip]:focus-visible:after {
		opacity: 1;
		transform: translateX(50%) translateY(2px);
	}

	.theme-toggle-thumb {
		display: none;
	}

	.theme-toggle:before {
		content: '☀';
		color: #f1f3f6;
		font-size: 1.1em;
		line-height: 1;
	}

	html[data-theme='light'] .theme-toggle {
		background: #d8dde5;
		border-color: #b8c2d1;
	}

	html[data-theme='light'] .theme-toggle:before {
		content: '☾';
		color: #232a35;
	}

	html[data-theme='light'] .theme-toggle[data-tooltip]:after {
		background: #1b2634;
		color: #ffffff;
	}

	@media screen and (max-width: 736px) {
		.theme-switch-wrap {
			gap: 0.2em;
		}
	}

/* Light Theme */

	html[data-theme='light'] body {
		background: #f3f6fb;
		color: #121a25;
	}

	html[data-theme='light'] #header,
	html[data-theme='light'] .site-header {
		background: rgba(250, 252, 255, 0.88);
		border-bottom: 1px solid rgba(170, 183, 202, 0.42);
		backdrop-filter: blur(8px);
	}

	html[data-theme='light'] #header .logo a,
	html[data-theme='light'] .site-header .logo a,
	html[data-theme='light'] .nav-links a,
	html[data-theme='light'] .mobile-nav a {
		color: #141a23 !important;
	}

	html[data-theme='light'] strong,
	html[data-theme='light'] b {
		color: #101722;
	}

	html[data-theme='light'] .theme-icon {
		color: #2e3745;
	}

	html[data-theme='light'] .nav-cta {
		border-color: #c6ccd7 !important;
	}

	html[data-theme='light'] #love-note,
	html[data-theme='light'] #love-essay,
	html[data-theme='light'] #reviews-page,
	html[data-theme='light'] #bucket-page {
		background:
			radial-gradient(circle at 10% 0%, rgba(80, 148, 255, 0.08), transparent 44%),
			radial-gradient(circle at 90% 25%, rgba(52, 165, 142, 0.07), transparent 38%),
			linear-gradient(120deg, #f9fbff 0%, #eff3f9 48%, #f8fbff 100%);
		border-bottom: 1px solid #d2dae6;
	}

	html[data-theme='light'] #love-note .note-header p,
	html[data-theme='light'] #love-essay .note-header p,
	html[data-theme='light'] #reviews-page .note-header p,
	html[data-theme='light'] #bucket-page .note-header p,
	html[data-theme='light'] #love-note .note-body,
	html[data-theme='light'] #love-essay .note-body,
	html[data-theme='light'] #reviews-page .review-meta,
	html[data-theme='light'] #bucket-page .bucket-meta,
	html[data-theme='light'] #reviews-page .review-date-links,
	html[data-theme='light'] #bucket-page .bucket-date-links,
	html[data-theme='light'] #reviews-page .empty-state,
	html[data-theme='light'] #bucket-page .bucket-empty {
		color: #3e4754;
	}

	html[data-theme='light'] #reviews-page .review-form label,
	html[data-theme='light'] #bucket-page .bucket-form label,
	html[data-theme='light'] #reviews-page .reviews-toolbar label,
	html[data-theme='light'] #bucket-page .bucket-toolbar label,
	html[data-theme='light'] #reviews-page .review-form .helper,
	html[data-theme='light'] #bucket-page .bucket-form .helper {
		color: #253244;
	}

	html[data-theme='light'] #love-note h2,
	html[data-theme='light'] #love-essay h2,
	html[data-theme='light'] #reviews-page h2,
	html[data-theme='light'] #bucket-page h2,
	html[data-theme='light'] .note-signature,
	html[data-theme='light'] #reviews-page .review-card h3,
	html[data-theme='light'] #bucket-page .bucket-card h3 {
		color: #101722;
	}

	html[data-theme='light'] #reviews-page .review-card,
	html[data-theme='light'] #bucket-page .bucket-card,
	html[data-theme='light'] #reviews-page .review-form,
	html[data-theme='light'] #bucket-page .bucket-form {
		background: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%);
		border-color: #cfd7e3;
		box-shadow: 0 12px 28px rgba(24, 36, 58, 0.08);
	}

	html[data-theme='light'] #reviews-page .review-meta,
	html[data-theme='light'] #bucket-page .bucket-meta,
	html[data-theme='light'] #reviews-page .review-date-links,
	html[data-theme='light'] #bucket-page .bucket-date-links {
		color: #2c3a4d;
	}

	html[data-theme='light'] #reviews-page .review-notes,
	html[data-theme='light'] #bucket-page .bucket-notes {
		color: #101a26;
	}

	html[data-theme='light'] #love-note .note-body p,
	html[data-theme='light'] #love-essay .note-body p,
	html[data-theme='light'] #reviews-page .note-body,
	html[data-theme='light'] #bucket-page .note-body,
	html[data-theme='light'] .note-signature {
		color: #293240 !important;
	}

	html[data-theme='light'] input,
	html[data-theme='light'] textarea,
	html[data-theme='light'] select {
		background: #ffffff !important;
		border-color: #c3ccda !important;
		color: #151d29 !important;
	}

	html[data-theme='light'] #reviews-page .review-form select,
	html[data-theme='light'] #bucket-page .bucket-form select,
	html[data-theme='light'] #reviews-page .reviews-toolbar select,
	html[data-theme='light'] #bucket-page .bucket-toolbar select {
		color: #1b2532 !important;
	}

	html[data-theme='light'] #reviews-page .review-add-photos,
	html[data-theme='light'] #bucket-page .bucket-add-photos {
		background: #e8f0fb !important;
		border-color: #8ea6c6 !important;
		color: #132236 !important;
		box-shadow: none !important;
	}

	html[data-theme='light'] #reviews-page .review-add-photos:hover,
	html[data-theme='light'] #bucket-page .bucket-add-photos:hover {
		background: #dbe8fa !important;
		border-color: #6f8eb8 !important;
		color: #0f1b2b !important;
	}

	html[data-theme='light'] .button,
	html[data-theme='light'] input[type='submit'],
	html[data-theme='light'] input[type='reset'] {
		border-color: #b4bfd0 !important;
		color: #101722 !important;
		background: #ffffff;
		box-shadow: inset 0 0 0 1.5px rgba(54,65,82,0.22);
	}

	html[data-theme='light'] .button:hover,
	html[data-theme='light'] input[type='submit']:hover,
	html[data-theme='light'] input[type='reset']:hover {
		background: #ecf4ff !important;
		border-color: #8ea6c9 !important;
	}

	html[data-theme='light'] .button.primary,
	html[data-theme='light'] input[type='submit'].primary {
		background: #6a9f93 !important;
		border-color: #5a8e82 !important;
		color: #f5fcfa !important;
	}

	html[data-theme='light'] #reviews-page .review-form .actions input.primary,
	html[data-theme='light'] #bucket-page .bucket-form .actions input.primary {
		background: #8cae95 !important;
		border-color: #7a9d84 !important;
		color: #f8fffb !important;
	}

	html[data-theme='light'] .button.primary:hover,
	html[data-theme='light'] input[type='submit'].primary:hover {
		background: #5a8e82 !important;
		border-color: #4c7e73 !important;
	}

	html[data-theme='light'] .gallery-controls .admin-btn {
		background: #f7f9fc;
		border-color: #c5d1e0;
		color: #162334 !important;
		box-shadow: 0 12px 24px rgba(112, 132, 160, 0.14);
	}

	html[data-theme='light'] .gallery-controls .admin-btn:hover {
		background: #eef4fb;
		border-color: #93a8c4;
		color: #0f1a28 !important;
	}

	html[data-theme='light'] .gallery-controls .admin-btn:focus-visible {
		outline-color: rgba(102, 131, 173, 0.5);
	}

	html[data-theme='light'] #footer.site-footer {
		background: #edf2f9;
		border-top: 1px solid #cfd7e3;
	}

	html[data-theme='light'] #footer.site-footer .footer-brand h2,
	html[data-theme='light'] #footer.site-footer .copyright,
	html[data-theme='light'] #footer.site-footer .icons a {
		color: #2b313c !important;
	}

	html[data-theme='light'] .nav-toggle {
		border-color: #c9d1dd;
	}

	html[data-theme='light'] #header .nav-toggle {
		background: rgba(20, 28, 38, 0.025);
		border-color: rgba(54, 65, 82, 0.62);
	}

	html[data-theme='light'] #header .nav-toggle span,
	html[data-theme='light'] #header .nav-toggle span:before,
	html[data-theme='light'] #header .nav-toggle span:after {
		background: rgba(19, 26, 36, 0.9);
	}

	html[data-theme='light'] .mobile-nav {
		background: #fefefe;
		border-left: 1px solid #c9d3e1;
	}

	html[data-theme='light'] .nav-backdrop {
		background: rgba(34, 42, 53, 0.25);
	}

	html[data-theme='light'] a {
		color: #14588a;
	}

	html[data-theme='light'] a:hover {
		color: #0f456d !important;
	}

	html[data-theme='light'] ::placeholder {
		color: #5d697a !important;
		opacity: 1;
	}

	html[data-theme='light'] .auth-modal .auth-backdrop {
		background: rgba(73, 86, 104, 0.34);
	}

	html[data-theme='light'] .auth-modal .auth-card {
		background: linear-gradient(180deg, #ffffff 0%, #f6f9ff 100%);
		border-color: #c8d2e1;
		box-shadow: 0 18px 50px rgba(23, 35, 52, 0.2);
	}

	html[data-theme='light'] .auth-modal .auth-login-card {
		background: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(244,248,252,0.98) 100%);
		border-color: rgba(143, 164, 187, 0.42);
		box-shadow: 0 24px 64px rgba(35, 51, 73, 0.2), inset 0 1px 0 rgba(255,255,255,0.8);
	}

	html[data-theme='light'] .auth-modal .auth-login-card:before {
		background: linear-gradient(90deg, transparent 0%, rgba(65, 160, 153, 0.38) 50%, transparent 100%);
	}

	html[data-theme='light'] .auth-modal .auth-login-mark {
		background: rgba(65, 160, 153, 0.12);
		border-color: rgba(65, 160, 153, 0.28);
		color: #153f43;
		box-shadow: inset 0 1px 0 rgba(255,255,255,0.76), 0 12px 24px rgba(44, 76, 102, 0.12);
	}

	html[data-theme='light'] .auth-modal .auth-close {
		background: rgba(64, 85, 112, 0.06);
		color: #536174;
	}

	html[data-theme='light'] .auth-modal .auth-close:hover {
		background: rgba(64, 85, 112, 0.12);
		color: #243246;
	}

	html[data-theme='light'] .auth-modal .auth-kicker {
		color: #4d7398;
	}

	html[data-theme='light'] .auth-modal .auth-link-btn {
		background: rgba(64, 85, 112, 0.05);
		border-color: #d3dce8;
		color: #344255 !important;
	}

	html[data-theme='light'] .auth-modal .auth-link-btn:hover {
		background: rgba(64, 85, 112, 0.1);
		border-color: #b6c5d8;
		color: #1e2d40 !important;
	}

	html[data-theme='light'] .auth-modal h3 {
		color: #111a27;
	}

	html[data-theme='light'] .auth-modal .auth-subtitle {
		color: #334156;
	}

	html[data-theme='light'] .auth-modal label {
		color: #2a3648;
	}

	html[data-theme='light'] .auth-modal input {
		background: #ffffff;
		border-color: #b7c4d8;
		color: #121a27;
	}

	html[data-theme='light'] .auth-modal .auth-login-card input {
		background: rgba(255,255,255,0.88);
		border-color: rgba(150, 166, 185, 0.54);
		box-shadow: inset 0 1px 0 rgba(255,255,255,0.7);
	}

	html[data-theme='light'] .auth-modal .gallery-file-input::file-selector-button {
		background: rgba(101, 151, 185, 0.14);
		color: #20405d;
	}

	html[data-theme='light'] .auth-modal .gallery-file-preview {
		background: rgba(255,255,255,0.88);
		border-color: #d7e0ec;
	}

	html[data-theme='light'] .auth-modal .gallery-file-preview-media {
		background: #eef4fb;
	}

	html[data-theme='light'] .auth-modal .gallery-file-preview-copy strong {
		color: #122032;
	}

	html[data-theme='light'] .auth-modal input:focus {
		box-shadow: inset 0 0 0 2px rgba(105, 148, 193, 0.45);
		border-color: #8da7c6;
	}

	html[data-theme='light'] .auth-modal .auth-helper,
	html[data-theme='light'] .auth-modal .manage-library-header p,
	html[data-theme='light'] .auth-modal .admin-source {
		color: #516072;
	}

	html[data-theme='light'] .auth-modal .gallery-storage {
		background: rgba(241,246,251,0.92);
		border-color: #d8e2ee;
	}

	html[data-theme='light'] .auth-modal .gallery-storage.is-warning {
		background: rgba(255, 222, 167, 0.24);
		border-color: rgba(214, 165, 92, 0.34);
	}

	html[data-theme='light'] .auth-modal .gallery-storage.is-danger {
		background: rgba(255, 213, 213, 0.26);
		border-color: rgba(205, 110, 110, 0.34);
	}

	html[data-theme='light'] .auth-modal .gallery-storage-label {
		color: #5f6f81;
	}

	html[data-theme='light'] .auth-modal .gallery-storage-copy strong {
		color: #132033;
	}

	html[data-theme='light'] .auth-modal .gallery-storage-detail {
		color: #516072;
	}

	html[data-theme='light'] .auth-modal .gallery-storage-bar {
		background: rgba(122, 144, 170, 0.14);
	}

	html[data-theme='light'] .auth-modal .auth-submit {
		background: linear-gradient(135deg, #79dbd3 0%, #98e8e2 100%);
		box-shadow: 0 16px 32px rgba(89, 176, 179, 0.22);
		color: #10222d !important;
	}

	html[data-theme='light'] .auth-modal .auth-submit:hover {
		background: linear-gradient(135deg, #8ce4dc 0%, #a7efea 100%);
		color: #0d1e29 !important;
	}

	html[data-theme='light'] .auth-modal .auth-login-form .button.primary {
		background: linear-gradient(135deg, #3fb4a7 0%, #75ddd2 100%);
		box-shadow: 0 14px 28px rgba(56, 157, 151, 0.22);
		color: #0d2427 !important;
	}

	html[data-theme='light'] .auth-modal .auth-login-form .button.primary:hover {
		background: linear-gradient(135deg, #48c3b6 0%, #8ae8df 100%);
		box-shadow: 0 16px 30px rgba(56, 157, 151, 0.28);
		color: #0a1f22 !important;
	}

	html[data-theme='light'] .auth-modal .auth-error {
		color: #b03b3b;
	}

	html[data-theme='light'] .auth-modal .manage-panel,
	html[data-theme='light'] .auth-modal .manage-library {
		background: rgba(255,255,255,0.78);
		border-color: #d7e0ec;
	}

	html[data-theme='light'] .auth-modal .manage-library-header h4,
	html[data-theme='light'] .auth-modal .admin-copy strong {
		color: #122032;
	}

	html[data-theme='light'] .auth-modal .helper {
		background: rgba(255, 205, 131, 0.18);
		border-color: rgba(206, 156, 84, 0.28);
		color: #7b531e;
	}

	html[data-theme='light'] .auth-modal .admin-row {
		background: #ffffff;
		border-color: #d9e2ee;
	}

	html[data-theme='light'] .auth-modal .admin-delete {
		background: #ffffff;
		border-color: #d0d9e5;
		color: #864040 !important;
	}

	html[data-theme='light'] .auth-modal .admin-delete:hover {
		background: linear-gradient(135deg, #fff0f0 0%, #ffe5e5 100%);
		border-color: #cf9999;
		color: #712d2d !important;
		box-shadow: 0 10px 20px rgba(153, 86, 86, 0.16);
		transform: translateY(-2px);
	}

	html[data-theme='light'] .auth-modal .admin-delete.disabled,
	html[data-theme='light'] .auth-modal .admin-delete:disabled {
		background: #f3f6fb;
		border-color: #d7e0ec;
		color: #7a8594 !important;
		opacity: 1;
		pointer-events: auto;
	}

	html[data-theme='light'] .auth-modal .admin-delete.disabled:hover,
	html[data-theme='light'] .auth-modal .admin-delete:disabled:hover {
		background: #f7f9fc;
		border-color: #c8d3e2;
		color: #8792a1 !important;
		box-shadow: inset 0 0 0 1px rgba(179, 191, 207, 0.18);
		transform: none;
	}

	html[data-theme='light'] #main.is-carousel .gallery-slider {
		background: linear-gradient(145deg, rgba(229,236,244,0.96) 0%, rgba(205,219,232,0.9) 100%);
		border-color: #d4dfec;
		box-shadow: 0 24px 48px rgba(73, 97, 129, 0.18);
	}

	html[data-theme='light'] #main.is-carousel .gallery-slide-overlay {
		background:
			linear-gradient(180deg, rgba(238,244,248,0.06) 0%, rgba(238,244,248,0.16) 36%, rgba(232,239,245,0.72) 100%),
			linear-gradient(90deg, rgba(239,243,247,0.76) 0%, rgba(239,243,247,0.12) 48%, rgba(239,243,247,0.52) 100%);
	}

	html[data-theme='light'] #main.is-carousel .gallery-slide-kicker {
		color: #356675;
	}

	html[data-theme='light'] #main.is-carousel .gallery-slide-copy h2 {
		color: #112033;
		text-shadow: 0 16px 26px rgba(255,255,255,0.22);
	}

	html[data-theme='light'] #main.is-carousel .gallery-slide-copy p {
		color: #26394d;
		text-shadow: none;
	}

	html[data-theme='light'] #main.is-carousel .gallery-nav {
		background: transparent;
		border-color: transparent;
		box-shadow: none;
	}

	html[data-theme='light'] #main.is-carousel .gallery-nav:before {
		border-top-color: #264158;
		border-right-color: #264158;
	}

	html[data-theme='light'] #main.is-carousel .gallery-nav:hover {
		background: transparent;
		border-color: transparent;
	}

	html[data-theme='light'] #main.is-carousel .gallery-dot {
		background: rgba(70, 98, 131, 0.28);
	}

	html[data-theme='light'] #main.is-carousel .gallery-dot.is-active {
		background: #3e99a3;
	}

	html[data-theme='light'] #main.is-carousel > .helper {
		background: rgba(240,245,250,0.92);
		border-color: #d4dfec;
		color: #2c4054;
	}

	@media screen and (max-width: 736px) {
		html[data-theme='light'] #main.is-carousel .gallery-nav,
		html[data-theme='light'] #main.is-carousel .gallery-nav:hover {
			background: transparent;
			border-color: transparent;
			box-shadow: none;
		}
	}

	html[data-theme='light'] .review-lightbox {
		background: rgba(72, 86, 105, 0.45);
	}

	html[data-theme='light'] .review-lightbox-content {
		background: linear-gradient(180deg, #ffffff 0%, #f4f8ff 100%);
		border-color: #c5d0e0;
		box-shadow: 0 20px 60px rgba(20, 33, 51, 0.25);
	}

	html[data-theme='light'] .review-lightbox-close,
	html[data-theme='light'] .review-lightbox-nav {
		background: none;
		border: 0;
		border-radius: 0;
		box-shadow: none;
		color: #000000 !important;
		height: auto;
		width: auto;
		line-height: 1;
		z-index: 3;
	}

	html[data-theme='light'] .review-lightbox-close:hover,
	html[data-theme='light'] .review-lightbox-nav:hover {
		background: none;
		color: #000000 !important;
	}

	html[data-theme='light'] .review-lightbox-nav {
		font-size: 1.8em;
		font-weight: 600;
	}

	html[data-theme='light'] .review-lightbox-close {
		font-size: 1.2em;
		font-weight: 700;
	}

	html[data-theme='light'] .poptrox-popup {
		background: #f9fcff;
	}

	html[data-theme='light'] .poptrox-popup:before {
		background: linear-gradient(to top, #1d2b3c 15%, rgba(29, 43, 60, 0.1) 100%);
	}

	html[data-theme='light'] #reviews-page .review-card .button,
	html[data-theme='light'] #bucket-page .bucket-card .button {
		background: #ffffff;
		border-color: #aebacf !important;
		color: #101722 !important;
	}

	html[data-theme='light'] #reviews-page .review-card .button:hover,
	html[data-theme='light'] #bucket-page .bucket-card .button:hover {
		background: #eef4ff !important;
		border-color: #7c95ba !important;
	}

/* Light Theme Final Polish */

	html[data-theme='light'] {
		color-scheme: light;
		--light-text: #121c29;
		--light-text-soft: #2e3c50;
		--light-text-muted: #4d5d73;
		--light-border: #c7d2e3;
		--light-accent: #3a6f8f;
		--light-accent-soft: #eaf3ff;
	}

	html[data-theme='light'] #love-note h2,
	html[data-theme='light'] #love-essay h2,
	html[data-theme='light'] #reviews-page h2,
	html[data-theme='light'] #bucket-page h2 {
		letter-spacing: 0.13em;
	}

	html[data-theme='light'] #love-note .note-body,
	html[data-theme='light'] #love-essay .note-body,
	html[data-theme='light'] #reviews-page .review-notes,
	html[data-theme='light'] #bucket-page .bucket-notes {
		line-height: 1.72;
	}

	html[data-theme='light'] #reviews-page .review-card,
	html[data-theme='light'] #bucket-page .bucket-card,
	html[data-theme='light'] #reviews-page .review-form,
	html[data-theme='light'] #bucket-page .bucket-form {
		border: 1px solid var(--light-border);
		border-radius: 18px;
	}

	html[data-theme='light'] #reviews-page .review-meta,
	html[data-theme='light'] #bucket-page .bucket-meta,
	html[data-theme='light'] #reviews-page .review-date-links,
	html[data-theme='light'] #bucket-page .bucket-date-links,
	html[data-theme='light'] #reviews-page .empty-state,
	html[data-theme='light'] #bucket-page .bucket-empty {
		color: var(--light-text-muted);
	}

	html[data-theme='light'] #reviews-page .review-form input,
	html[data-theme='light'] #reviews-page .review-form textarea,
	html[data-theme='light'] #reviews-page .review-form select,
	html[data-theme='light'] #bucket-page .bucket-form input,
	html[data-theme='light'] #bucket-page .bucket-form textarea,
	html[data-theme='light'] #bucket-page .bucket-form select,
	html[data-theme='light'] #reviews-page .reviews-toolbar select,
	html[data-theme='light'] #bucket-page .bucket-toolbar select {
		border-color: var(--light-border) !important;
		color: var(--light-text) !important;
	}

	html[data-theme='light'] #reviews-page .review-form input:focus,
	html[data-theme='light'] #reviews-page .review-form textarea:focus,
	html[data-theme='light'] #reviews-page .review-form select:focus,
	html[data-theme='light'] #bucket-page .bucket-form input:focus,
	html[data-theme='light'] #bucket-page .bucket-form textarea:focus,
	html[data-theme='light'] #bucket-page .bucket-form select:focus,
	html[data-theme='light'] #reviews-page .reviews-toolbar select:focus,
	html[data-theme='light'] #bucket-page .bucket-toolbar select:focus {
		border-color: #84a3c8 !important;
		box-shadow: 0 0 0 1px rgba(58, 111, 143, 0.22) !important;
	}

	html[data-theme='light'] #reviews-page .review-add-photos,
	html[data-theme='light'] #bucket-page .bucket-add-photos {
		background: var(--light-accent-soft) !important;
		border-color: #97accb !important;
		color: #1a2a40 !important;
		letter-spacing: 0.16em;
	}

	html[data-theme='light'] #reviews-page .review-form .actions input.primary,
	html[data-theme='light'] #bucket-page .bucket-form .actions input.primary {
		background: #7fa394 !important;
		border-color: #6f9384 !important;
		color: #f8fffc !important;
	}

	html[data-theme='light'] #reviews-page a,
	html[data-theme='light'] #bucket-page a {
		color: var(--light-accent);
	}

	html[data-theme='light'] #reviews-page a:hover,
	html[data-theme='light'] #bucket-page a:hover {
		color: #245371 !important;
	}

/* Site Polish */

	body,
	body input,
	body select,
	body textarea,
	body button,
	body .button {
		font-family: var(--site-font) !important;
	}

	body,
	body * {
		letter-spacing: 0 !important;
	}

	button,
	.button,
	input[type='submit'],
	input[type='reset'],
	input[type='button'] {
		font-weight: 600;
	}

	.site-toast {
		position: fixed;
		left: 1.25rem;
		top: calc(3.75em + 0.8rem);
		z-index: 30000;
		max-width: min(24rem, calc(100vw - 2rem));
		padding: 0.85rem 1.1rem;
		border: 1px solid rgba(255,255,255,0.16);
		border-radius: 1rem;
		background: rgba(22,26,31,0.9);
		box-shadow: 0 16px 38px rgba(0,0,0,0.34), inset 0 1px 0 rgba(255,255,255,0.06);
		color: #f3f7f8;
		font-size: 0.88rem;
		font-weight: 600;
		line-height: 1.35;
		text-align: center;
		opacity: 0;
		pointer-events: none;
		-webkit-backdrop-filter: blur(16px);
		backdrop-filter: blur(16px);
		transform: translateY(-0.55rem) scale(0.98);
		transform-origin: 0 0;
		transition: opacity 0.22s ease, transform 0.22s cubic-bezier(0.22, 1, 0.36, 1);
	}

	.site-toast.is-visible {
		opacity: 1;
		transform: translateY(0) scale(1);
	}

	.site-toast.is-error {
		border-color: rgba(255,139,139,0.28);
		background: rgba(58,28,31,0.92);
		color: #ffe8e8;
	}

	#reviews-page .page-header-row,
	#bucket-page .page-header-row {
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
		gap: 1.25rem;
	}

	#reviews-page .page-header-row > div,
	#bucket-page .page-header-row > div {
		min-width: 0;
	}

	#reviews-page .page-logout,
	#bucket-page .page-logout {
		position: fixed;
		right: 1.25rem;
		bottom: calc(1.25rem + env(safe-area-inset-bottom));
		z-index: 12000;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-height: 3rem;
		padding: 0 1.25rem;
		border-radius: 999px;
		background: rgba(23,27,32,0.78);
		border-color: rgba(255,255,255,0.18) !important;
		color: #dfe4e8 !important;
		box-shadow: 0 14px 34px rgba(0,0,0,0.34), inset 0 1px 0 rgba(255,255,255,0.06);
		-webkit-backdrop-filter: blur(14px);
		backdrop-filter: blur(14px);
		transform: translateZ(0);
	}

	#reviews-page .page-logout:hover,
	#bucket-page .page-logout:hover {
		background: rgba(44,50,58,0.88);
		border-color: rgba(255,255,255,0.32);
		color: #ffffff !important;
		transform: translateY(-1px) translateZ(0);
	}

	#reviews-page .page-logout:before,
	#bucket-page .page-logout:before,
	.auth-modal .gallery-logout-pill:before {
		content: '\f2f5';
		display: inline-block;
		margin-right: 0.45rem;
		font-family: 'Font Awesome 5 Free';
		font-size: 0.95em;
		font-weight: 900;
		line-height: 1;
	}

	.auth-modal.is-managing .auth-header {
		position: relative;
		display: block;
		padding-right: 8.2rem;
	}

	.auth-modal.is-managing .auth-kicker {
		padding-right: 3rem;
	}

	.auth-modal.is-managing .auth-header-row {
		min-width: 0;
	}

	.auth-modal .gallery-admin-copy {
		min-width: 0;
	}

	.auth-modal .gallery-admin-copy .auth-subtitle {
		min-width: 0;
		margin: 0;
	}

	.auth-modal.is-managing #gallery-admin-warning {
		margin-top: 0.8rem;
	}

	.auth-modal .gallery-logout-pill {
		position: absolute;
		top: 3.45rem;
		right: 0;
		margin-top: 0.2rem;
		min-height: 2.2rem;
		padding: 0 0.85rem;
		border-radius: 999px;
		background: rgba(255,255,255,0.025);
		border-color: rgba(255,255,255,0.14) !important;
		color: #cfd6dc !important;
		font-size: 0.68rem;
		box-shadow: none;
		transform: none;
	}

	.auth-modal .gallery-logout-pill:hover {
		background: rgba(255,255,255,0.075);
		border-color: rgba(255,255,255,0.26) !important;
		color: #ffffff !important;
		transform: translateY(-1px);
	}

	@media screen and (max-width: 736px) {
		#reviews-page .page-header-row,
		#bucket-page .page-header-row {
			align-items: stretch;
			flex-direction: column;
		}

		#reviews-page .page-logout,
		#bucket-page .page-logout {
			right: 1rem;
			bottom: calc(1rem + env(safe-area-inset-bottom));
			min-height: 2.85rem;
			padding: 0 1.1rem;
		}

		.auth-modal .gallery-logout-pill {
			top: 3.35rem;
			right: 0.1rem;
			min-height: 2.15rem;
			padding: 0 0.8rem;
		}

		.auth-modal.is-managing .auth-header {
			padding-right: 0.95rem;
		}
	}

	#main .thumb,
	#main.is-carousel .gallery-slider,
	#main.is-carousel .gallery-slider-viewport,
	#main.is-carousel .gallery-slider-track,
	#main.is-carousel .gallery-slide,
	#main.is-carousel .gallery-slide-media {
		backface-visibility: hidden;
		transform: translateZ(0);
	}

	#main .thumb > .image {
		height: calc(100% + 2px);
		left: -1px;
		top: -1px;
		width: calc(100% + 2px);
	}

	#main.is-carousel .gallery-slide-media {
		inset: -1px;
	}

	#main.is-carousel .gallery-slide-backdrop,
	#main.is-carousel .gallery-slide-photo {
		backface-visibility: hidden;
	}

	#main.is-carousel .gallery-slide-backdrop {
		transform: translateZ(0) scale(1.08);
	}

	#main.is-carousel .gallery-slide-photo {
		transform: translateZ(0) scale(1);
	}

	#main.is-carousel .gallery-slide.is-active .gallery-slide-photo {
		transform: translateZ(0) scale(1.015);
	}

	#main.is-carousel .gallery-slide-media:hover .gallery-slide-photo {
		transform: translateZ(0) scale(1.025);
	}

	@-webkit-keyframes galleryPanelInFromRight {
		from { opacity: 1; -webkit-transform: translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0); }
		to { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
	}

	@keyframes galleryPanelInFromRight {
		from { opacity: 1; -webkit-transform: translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0); }
		to { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
	}

	@-webkit-keyframes galleryPanelInFromLeft {
		from { opacity: 1; -webkit-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); }
		to { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
	}

	@keyframes galleryPanelInFromLeft {
		from { opacity: 1; -webkit-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); }
		to { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
	}

	@-webkit-keyframes galleryPanelOutToLeft {
		from { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
		to { opacity: 1; -webkit-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); }
	}

	@keyframes galleryPanelOutToLeft {
		from { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
		to { opacity: 1; -webkit-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); }
	}

	@-webkit-keyframes galleryPanelOutToRight {
		from { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
		to { opacity: 1; -webkit-transform: translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0); }
	}

	@keyframes galleryPanelOutToRight {
		from { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
		to { opacity: 1; -webkit-transform: translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0); }
	}

	@media screen and (max-width: 736px), (hover: none) and (pointer: coarse) {
		#main.is-carousel .gallery-slider-track {
			display: block;
			position: relative;
			overflow: hidden;
			-webkit-transform: none !important;
			transform: none !important;
			-webkit-transition: none !important;
			transition: none !important;
		}

		#main.is-carousel .gallery-slide {
			position: absolute;
			inset: 0;
			width: 100%;
			min-width: 0;
			opacity: 0;
			visibility: hidden;
			pointer-events: none;
			z-index: 0;
			-webkit-transform: translate3d(100%, 0, 0);
			transform: translate3d(100%, 0, 0);
			-webkit-transition: none !important;
			transition: none !important;
		}

		#main.is-carousel .gallery-slide.is-active {
			position: relative;
			opacity: 1;
			visibility: visible;
			pointer-events: auto;
			z-index: 2;
			-webkit-transform: translate3d(0, 0, 0);
			transform: translate3d(0, 0, 0);
		}

		#main.is-carousel .gallery-slide.is-leaving {
			position: absolute;
			opacity: 1;
			visibility: visible;
			pointer-events: none;
			z-index: 1;
		}

		#main.is-carousel .gallery-slide.is-active.is-entering.is-from-right {
			-webkit-animation: galleryPanelInFromRight 0.52s cubic-bezier(0.22, 1, 0.36, 1) both;
			animation: galleryPanelInFromRight 0.52s cubic-bezier(0.22, 1, 0.36, 1) both;
		}

		#main.is-carousel .gallery-slide.is-active.is-entering.is-from-left {
			-webkit-animation: galleryPanelInFromLeft 0.52s cubic-bezier(0.22, 1, 0.36, 1) both;
			animation: galleryPanelInFromLeft 0.52s cubic-bezier(0.22, 1, 0.36, 1) both;
		}

		#main.is-carousel .gallery-slide.is-leaving.is-to-left {
			-webkit-animation: galleryPanelOutToLeft 0.52s cubic-bezier(0.22, 1, 0.36, 1) both;
			animation: galleryPanelOutToLeft 0.52s cubic-bezier(0.22, 1, 0.36, 1) both;
		}

		#main.is-carousel .gallery-slide.is-leaving.is-to-right {
			-webkit-animation: galleryPanelOutToRight 0.52s cubic-bezier(0.22, 1, 0.36, 1) both;
			animation: galleryPanelOutToRight 0.52s cubic-bezier(0.22, 1, 0.36, 1) both;
		}

		#main.is-carousel .gallery-slide-photo,
		#main.is-carousel .gallery-slide.is-active .gallery-slide-photo,
		#main.is-carousel .gallery-slide-media:hover .gallery-slide-photo {
			-webkit-transform: translateZ(0) scale(1) !important;
			transform: translateZ(0) scale(1) !important;
			-webkit-transition: none !important;
			transition: none !important;
			filter: none !important;
		}
	}

	#main .thumb > h2 {
		font-size: 0.56em;
	}

	#main.is-carousel .gallery-slide-kicker {
		font-size: 0.52rem;
	}

	#main.is-carousel .gallery-slide-copy h2 {
		font-size: clamp(1.36rem, 3.4vw, 2.35rem);
	}

	#main.is-carousel .gallery-slide-copy p {
		font-size: 0.68rem;
	}

	@media screen and (max-width: 736px) {
		#main.is-carousel .gallery-slide-copy h2 {
			font-size: clamp(1.12rem, 5.45vw, 1.73rem);
		}

		#main.is-carousel .gallery-slide-copy p {
			font-size: 0.61rem;
		}
	}

	select.select-native {
		position: absolute !important;
		width: 1px !important;
		height: 1px !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		opacity: 0 !important;
		pointer-events: none !important;
	}

	.select-menu {
		position: relative;
		width: 100%;
		color: #e3e4e6;
		font-family: inherit;
		z-index: 1;
	}

	#reviews-page .reviews-toolbar .select-menu,
	#bucket-page .bucket-toolbar .select-menu {
		width: min(13rem, 100%);
	}

	#reviews-page .review-form .field.center .select-menu,
	#bucket-page .bucket-form .field.center .select-menu {
		max-width: 16em;
		margin: 0 auto;
	}

	.select-menu-toggle {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: flex-start;
		width: 100%;
		min-height: 2.75em;
		height: auto;
		margin: 0;
		padding: 0.65em 2.55em 0.65em 0.85em;
		background: #15181b;
		border: 1px solid #2b2f35;
		border-radius: 10px;
		box-shadow: none;
		color: #e3e4e6 !important;
		font-size: 1em;
		font-weight: 500;
		line-height: 1.25;
		text-align: left;
		text-transform: none;
		white-space: normal;
		transition: background-color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
	}

	.select-menu-toggle:after {
		content: '';
		position: absolute;
		right: 1rem;
		top: 50%;
		width: 0.5rem;
		height: 0.5rem;
		border-right: 2px solid #8f98a3;
		border-bottom: 2px solid #8f98a3;
		transform: translateY(-65%) rotate(45deg);
		transition: transform 0.18s ease, border-color 0.18s ease;
	}

	.select-menu.is-placeholder .select-menu-toggle {
		color: #8f949b !important;
	}

	.select-menu.is-open .select-menu-toggle,
	.select-menu-toggle:focus-visible {
		background: #171b1f;
		border-color: rgba(110,224,221,0.72);
		box-shadow: 0 0 0 1px rgba(110,224,221,0.22);
		outline: 0;
	}

	.select-menu.is-open .select-menu-toggle:after {
		border-color: #9ef0ed;
		transform: translateY(-35%) rotate(225deg);
	}

	.select-menu-list {
		position: absolute;
		left: 0;
		right: 0;
		top: calc(100% + 0.35rem);
		display: grid;
		gap: 0.2rem;
		max-height: 16rem;
		padding: 0.35rem;
		overflow: auto;
		background: #111418;
		border: 1px solid #2b3037;
		border-radius: 12px;
		box-shadow: 0 18px 40px rgba(0,0,0,0.34);
		opacity: 0;
		pointer-events: none;
		transform: translateY(-0.35rem) scale(0.98);
		transform-origin: top center;
		transition: opacity 0.18s ease, transform 0.2s cubic-bezier(0.22, 1, 0.36, 1);
		z-index: 50;
	}

	.select-menu.is-open {
		z-index: 60;
	}

	.select-menu.is-open .select-menu-list {
		opacity: 1;
		pointer-events: auto;
		transform: translateY(0) scale(1);
	}

	.select-menu-option {
		display: block;
		width: 100%;
		min-height: 0;
		height: auto;
		padding: 0.55rem 0.65rem;
		border: 0;
		border-radius: 8px;
		background: transparent;
		box-shadow: none;
		color: #dfe4e8 !important;
		cursor: pointer;
		font-size: 0.92rem;
		font-weight: 500;
		line-height: 1.25;
		text-align: left;
		text-transform: none;
		transition: background-color 0.15s ease, color 0.15s ease, transform 0.15s ease;
	}

	.select-menu-option:hover,
	.select-menu-option:focus-visible {
		background: rgba(110,224,221,0.13);
		color: #ffffff !important;
		outline: 0;
	}

	.select-menu-option.is-selected {
		background: rgba(110,224,221,0.2);
		color: #f7ffff !important;
	}

	.select-menu-option:disabled {
		color: #7d858d !important;
		cursor: default;
		opacity: 0.7;
	}

	input.date-native {
		position: absolute !important;
		width: 1px !important;
		height: 1px !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		opacity: 0 !important;
		pointer-events: none !important;
	}

	.date-picker {
		position: relative;
		width: 100%;
		color: #e3e4e6;
		font-family: inherit;
		z-index: 1;
	}

	.date-picker-toggle {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: flex-start;
		width: 100%;
		min-height: 2.75em;
		height: auto;
		margin: 0;
		padding: 0.65em 2.55em 0.65em 0.85em;
		background: #15181b;
		border: 1px solid #2b2f35;
		border-radius: 10px;
		box-shadow: none;
		color: #e3e4e6 !important;
		font-size: 1em;
		font-weight: 500;
		line-height: 1.25;
		text-align: left;
		text-transform: none;
		transition: background-color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
	}

	.date-picker-toggle:after {
		content: '';
		position: absolute;
		right: 1rem;
		top: 50%;
		width: 0.85rem;
		height: 0.75rem;
		border: 1.5px solid #8f98a3;
		border-top-width: 3px;
		border-radius: 2px;
		transform: translateY(-50%);
		transition: border-color 0.18s ease;
	}

	.date-picker.is-placeholder .date-picker-toggle {
		color: #8f949b !important;
	}

	.date-picker.is-open .date-picker-toggle,
	.date-picker-toggle:focus-visible {
		background: #171b1f;
		border-color: rgba(110,224,221,0.72);
		box-shadow: 0 0 0 1px rgba(110,224,221,0.22);
		outline: 0;
	}

	.date-picker.is-open .date-picker-toggle:after,
	.date-picker-toggle:focus-visible:after {
		border-color: #9ef0ed;
	}

	.date-picker-panel {
		position: absolute;
		left: 0;
		top: calc(100% + 0.35rem);
		width: min(20rem, calc(100vw - 3rem));
		padding: 0.8rem;
		background: #111418;
		border: 1px solid #2b3037;
		border-radius: 14px;
		box-shadow: 0 18px 40px rgba(0,0,0,0.34);
		opacity: 0;
		pointer-events: none;
		transform: translateY(-0.35rem) scale(0.98);
		transform-origin: top left;
		transition: opacity 0.18s ease, transform 0.2s cubic-bezier(0.22, 1, 0.36, 1);
		z-index: 70;
	}

	.date-picker.is-open {
		z-index: 80;
	}

	.date-picker.is-open .date-picker-panel {
		opacity: 1;
		pointer-events: auto;
		transform: translateY(0) scale(1);
	}

	.date-picker-header {
		display: grid;
		grid-template-columns: 2rem minmax(0, 1fr) 2rem;
		align-items: center;
		gap: 0.4rem;
		margin-bottom: 0.65rem;
	}

	.date-picker-month {
		color: #f1f4f6;
		font-size: 0.95rem;
		font-weight: 600;
		line-height: 1.2;
		text-align: center;
	}

	.date-picker-nav {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 2rem;
		height: 2rem;
		min-height: 0;
		padding: 0;
		border: 0;
		border-radius: 8px;
		background: transparent;
		box-shadow: none;
		color: #cbd2d9 !important;
		font-size: 0.85rem;
		font-weight: 700;
		line-height: 1;
		transition: background-color 0.15s ease, color 0.15s ease;
	}

	.date-picker-nav:hover,
	.date-picker-nav:focus-visible {
		background: rgba(110,224,221,0.13);
		color: #ffffff !important;
		outline: 0;
	}

	.date-picker-weekdays,
	.date-picker-grid {
		display: grid;
		grid-template-columns: repeat(7, minmax(0, 1fr));
		gap: 0.2rem;
	}

	.date-picker-weekdays {
		margin-bottom: 0.3rem;
	}

	.date-picker-weekdays span {
		color: #8f98a3;
		font-size: 0.72rem;
		font-weight: 600;
		line-height: 1;
		padding: 0.35rem 0;
		text-align: center;
	}

	.date-picker-day {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		aspect-ratio: 1 / 1;
		min-height: 0;
		height: auto;
		padding: 0;
		border: 1px solid transparent;
		border-radius: 8px;
		background: transparent;
		box-shadow: none;
		color: #dfe4e8 !important;
		cursor: pointer;
		font-size: 0.82rem;
		font-weight: 500;
		line-height: 1;
		text-align: center;
		transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, transform 0.15s ease;
	}

	.date-picker-day:hover,
	.date-picker-day:focus-visible {
		background: rgba(110,224,221,0.13);
		color: #ffffff !important;
		outline: 0;
	}

	.date-picker-day.is-outside {
		color: #68717a !important;
	}

	.date-picker-day.is-today {
		border-color: rgba(110,224,221,0.42);
	}

	.date-picker-day.is-selected {
		background: #6ddfe1;
		border-color: #6ddfe1;
		color: #10202a !important;
		font-weight: 700;
	}

	.date-picker-day:disabled {
		color: #555d65 !important;
		cursor: default;
		opacity: 0.5;
	}

	.date-picker-footer {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 0.7rem;
		margin-top: 0.7rem;
	}

	.date-picker-action {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: auto;
		height: auto;
		min-height: 0;
		padding: 0.35rem 0.2rem;
		border: 0;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
		color: #78e4e1 !important;
		font-size: 0.78rem;
		font-weight: 600;
		line-height: 1.2;
		text-transform: none;
	}

	.date-picker-action:hover,
	.date-picker-action:focus-visible {
		background: transparent;
		color: #ffffff !important;
		outline: 0;
	}

	.auth-modal .auth-header-row {
		align-items: center;
	}

	@media screen and (max-width: 520px) {
		.auth-modal .auth-header-row {
			align-items: center;
			flex-direction: row;
		}
	}

	html[data-theme='light'] .select-menu-toggle {
		background: #ffffff;
		border-color: #c3ccda;
		color: #151d29 !important;
	}

	html[data-theme='light'] .select-menu.is-placeholder .select-menu-toggle {
		color: #5d697a !important;
	}

	html[data-theme='light'] .select-menu.is-open .select-menu-toggle,
	html[data-theme='light'] .select-menu-toggle:focus-visible {
		background: #ffffff;
		border-color: #84a3c8;
		box-shadow: 0 0 0 1px rgba(58,111,143,0.22);
	}

	html[data-theme='light'] .select-menu-list {
		background: #ffffff;
		border-color: #c3ccda;
		box-shadow: 0 18px 38px rgba(25,40,61,0.16);
	}

	html[data-theme='light'] .select-menu-option {
		color: #1b2532 !important;
	}

	html[data-theme='light'] .select-menu-option:hover,
	html[data-theme='light'] .select-menu-option:focus-visible,
	html[data-theme='light'] .select-menu-option.is-selected {
		background: #eaf3ff;
		color: #101722 !important;
	}

	html[data-theme='light'] .date-picker-toggle {
		background: #ffffff;
		border-color: #c3ccda;
		color: #151d29 !important;
	}

	html[data-theme='light'] .date-picker.is-placeholder .date-picker-toggle {
		color: #5d697a !important;
	}

	html[data-theme='light'] .date-picker.is-open .date-picker-toggle,
	html[data-theme='light'] .date-picker-toggle:focus-visible {
		background: #ffffff;
		border-color: #84a3c8;
		box-shadow: 0 0 0 1px rgba(58,111,143,0.22);
	}

	html[data-theme='light'] .date-picker-panel {
		background: #ffffff;
		border-color: #c3ccda;
		box-shadow: 0 18px 38px rgba(25,40,61,0.16);
	}

	html[data-theme='light'] .date-picker-month,
	html[data-theme='light'] .date-picker-day {
		color: #1b2532 !important;
	}

	html[data-theme='light'] .date-picker-weekdays span,
	html[data-theme='light'] .date-picker-day.is-outside {
		color: #6a7583 !important;
	}

	html[data-theme='light'] .date-picker-nav {
		color: #2b3544 !important;
	}

	html[data-theme='light'] .date-picker-nav:hover,
	html[data-theme='light'] .date-picker-nav:focus-visible,
	html[data-theme='light'] .date-picker-day:hover,
	html[data-theme='light'] .date-picker-day:focus-visible {
		background: #eaf3ff;
		color: #101722 !important;
	}

	html[data-theme='light'] .date-picker-day.is-today {
		border-color: rgba(58,111,143,0.38);
	}

	html[data-theme='light'] .date-picker-day.is-selected {
		background: #6a9f93;
		border-color: #6a9f93;
		color: #ffffff !important;
	}

	html[data-theme='light'] .date-picker-action {
		color: #2f6f8a !important;
	}

	html[data-theme='light'] .date-picker-action:hover,
	html[data-theme='light'] .date-picker-action:focus-visible {
		color: #101722 !important;
	}

	html[data-theme='light'] #reviews-page .page-logout,
	html[data-theme='light'] #bucket-page .page-logout,
	html[data-theme='light'] .auth-modal .gallery-logout-pill {
		background: rgba(255,255,255,0.72);
		border-color: #b4bfd0 !important;
		color: #101722 !important;
	}

	html[data-theme='light'] .site-toast {
		background: rgba(255,255,255,0.94);
		border-color: #c8d3e2;
		box-shadow: 0 16px 38px rgba(40, 58, 84, 0.18);
		color: #101722;
	}

	html[data-theme='light'] .site-toast.is-error {
		background: rgba(255,242,242,0.96);
		border-color: #e1b3b3;
		color: #712d2d;
	}
