:root {
	--clr-bg-dark-light: hsl(0 0% 0% / .1);
	--clr-bg-dark: hsl(0 0% 0% / .2);
	--clr-bg-darker: hsl(0 0% 0% / .4);
	--bs-lighter: hsl(210 16.7% 100% / .9);

	--transition-style: cubic-bezier(0,0,0.3,1);
	--transition-speed: .3s;

	--font-family-body: 'Roboto Condensed', serif;
	--font-family-headline: 'Playfair Display', serif;
}
:root p:empty { margin: 0 !important; }
:focus { outline: none; }
.backdrop {
	background: var(--clr-bg-darker);
	color: var(--bs-white);
}
@supports (backdrop-filter: blur(.5rem)) or (-webkit-backdrop-filter: blur(.5rem)) {
	.backdrop {
		background: var(--clr-bg-dark-light);
		-webkit-backdrop-filter: blur(.5rem);
		backdrop-filter: blur(.5rem);
	}
}
body {
	position: relative;
	z-index: 1;

	font-size: 10vw;
	line-height: 1.6rem;
	font-family: var(--font-family-body);
	font-weight: 300;
	letter-spacing: -0.01rem;

	color: var(--bs-gray-700);

	text-rendering: optimizeLegibility !important;
	-moz-osx-font-smoothing: grayscale !important;
	-webkit-font-smoothing: antialiased !important;

	overflow-wrap: break-word;
	word-wrap: break-word;
	-webkit-hyphens: auto;
	hyphens: auto;
}
@media (min-width: 768px) {
	body {
		font-size: 1rem;
	}
}
body::after {
	content: '';
	position: fixed;
	inset: 0;
	z-index: -2;
	width: 100vw;
	height: 100vh;
	background: #ddd url(/i/sumu.jpg) no-repeat 50% 0;
	background-size: cover;
	filter: invert(0.17) saturate(2.6) sepia(0.5) blur(30px);
	transform: translateZ(0);
}

.no-hyphen,
header,
.wp-block-cover,
.email,
button,
.btn,
input[type="submit"],
a {
	overflow-wrap: normal;
	word-wrap: normal;
	-webkit-hyphens: none;
	hyphens: none;
}
h1, .h1 { font-size: min(1.2rem + 1vw, 3rem); }
h2, .h2 { font-size: min(1.2rem + 1vw, 2rem); }
h3, .h3 { font-size: min(1.2rem + 1vw, 1.6rem); }
h4, .h4 { font-size: min(1.2rem + 1vw, 1.4rem); }
h5, .h5, h6, .h6 { font-size: min(1rem + 1vw, 1.2rem); }

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4 {
	font-family: var(--font-family-headline);
	font-weight: 600;
	text-transform: uppercase;

	overflow-wrap: normal;
	word-wrap: normal;
	-webkit-hyphens: none;
	hyphens: none;
}
h4, .h4 {
	font-weight: 400;
	text-transform: none;
}

@media (max-width: 575.98px) {
	h1, .h1,
	h2, .h2,
	h3, .h3,
	h4, .h4,
	.sm-hyphen {
		overflow-wrap: break-word;
		word-wrap: break-word;
		-webkit-hyphens: auto;
		hyphens: auto;
	}
}
h5, .h5,
h6, .h6,
.amp {
	font-family: var(--font-family-headline);
	font-weight: 400;
	text-transform: none;
}

blockquote {
	position: relative;
	padding: 1rem 0 0;
	font-size: inherit;
}

blockquote p {
	margin-bottom: .5rem;
}
blockquote cite {
	margin-top: -1rem;
	font-size: inherit;
}
blockquote>:last-child { margin-bottom: 0; }

.small, small {
	line-height: 1.3;
}
a:link,
a:visited,
a:hover,
a:focus,
a:active {
	position: relative;
	color: currentColor;
	text-decoration: none;
	transition: color var(--transition-speed) var(--transition-style), border var(--transition-speed) var(--transition-style);
}
a:not(.wp-block-button__link)::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: -0.1rem;
	width: 100%;
	height: .1rem;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: right;
	transition: transform var(--transition-speed) var(--transition-style);
}
a:hover::after,
a:focus::after,
a:active::after {
	transform: scaleX(1);
	transform-origin: left;
}
a.img-link { background: transparent !important; }
a.visually-hidden { position: absolute; }
a[href="#0"] { cursor: default; }

.screen-reader-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* Main elements */
header div {
	margin: 3rem auto 0;
	font-family: var(--font-family-nav);
	font-size: min(.75rem + 1vw, .9rem);
	font-weight: 300;
	white-space: nowrap;
	text-transform: uppercase;
	border-radius: 100%;
}
header p {
	margin: .25rem auto;
}

@media (min-width: 992px) {
	header p {
		margin: .5rem auto;
	}
}

.bg {
	position: fixed;
	z-index: -1;
	inset: 0;
	width: 100%;
	height 100%;
	box-shadow: 0 0 100px rgba(0,0,0,0.7) inset;
}


/* Main */
span[id] { display: block; }
.skip-link:focus {
	display: block;
	position: relative !important;
	width: auto!important;
	height: auto!important;
	padding: 1rem !important;
	clip: auto;
	text-align: center;
	color: currentColor;
	background: rgba(255,255,255,.1);
	transition: background var(--transition-speed) var(--transition-style);
}
.skip-link:hover {
	background: rgba(255,255,255,.3);
}
@media (max-width: 767.98px) {
	:root.no-js .skip-link {
		display: block;
		position: relative !important;
		width: auto!important;
		height: auto!important;
		padding: 1rem !important;
		clip: auto;
	}
	.no-js header,
	.no-js .navbar {
		display: block;
		position: relative;
		height: auto;
		box-shadow: none;
	}
}