/**
 * Orbit 2026 – Core styles.
 * Base, layout, components, utilities. Single consolidated stylesheet.
 *
 * @package Orbit
 */

/* -------------------------------------------------------------------------
   Base – normalize and global defaults
   ------------------------------------------------------------------------- */

html {
	line-height: 1.1;
	-webkit-text-size-adjust: 100%;
	overflow-x: hidden;
	box-sizing: border-box;
}

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

input[type="search"] {
	box-sizing: border-box;
}

body {
	margin: 0;
	overflow-x: hidden;
}

#wpadminbar {
	top: auto;
	bottom: 0;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

img[data-lazyloaded] {
	opacity: 0;
}

img.litespeed-loaded {
	transition: opacity 0.5s linear 0.2s;
	opacity: 1;
}

img.emoji {
	max-width: 16px;
	display: inline-block;
}

a {
	background-color: transparent;
	color: inherit;
	word-break: break-word;
}

a:focus-visible {
	outline: 2px solid #000;
	outline-offset: 2px;
}

hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

blockquote {
	margin: 0;
}

pre, code, kbd, samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

small {
	font-size: 80%;
}

b, strong {
	font-weight: 700;
}

sub, sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub { bottom: -0.25em; }
sup { top: -0.5em; }

iframe {
	display: block;
}

figure {
	margin: 0;
}

template {
	display: none;
}

details { display: block; }
summary { display: list-item; }

button, input, optgroup, select, textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

button, input { overflow: visible; }

button, [type="button"], [type="reset"], [type="submit"] {
	-webkit-appearance: button;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

fieldset { padding: 0.35em 0.75em 0.625em; }

legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

progress { vertical-align: baseline; }
textarea { overflow: auto; }

[type="checkbox"], [type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

abbr[title] {
	border-bottom: none;
	text-decoration: underline dotted;
}

/* -------------------------------------------------------------------------
   Layout – wrap, content area, alignment, sidebar
   ------------------------------------------------------------------------- */

.wrap {
	margin-left: auto;
	margin-right: auto;
	max-width: var(--wp--style--global--wide-size);
	padding-left: var(--wp--preset--spacing--medium);
	padding-right: var(--wp--preset--spacing--medium);
}

.wp-block-group {
	margin: auto;
	background-size: cover;
	background-position: center center;
}

.is-layout-constrained {
	max-width: var(--wp--custom--layout--content);
}

div.alignwide {
	max-width: var(--wp--style--global--wide-size);
	padding-left: 0;
	padding-right: 0;
}

div.alignfull {
	max-width: 100%;
	padding-left: 0;
	padding-right: 0;
}

.wp-block-group.alignfull > div,
.wp-block-group.alignwide > div {
	padding-left: var(--wp--custom--layout--padding);
	padding-right: var(--wp--custom--layout--padding);
}

div.alignwide.is-layout-constrained,
div.alignfull.is-layout-constrained {
	padding-left: 0;
	padding-right: 0;
}

div.alignwide.is-layout-constrained > *,
div.alignfull.is-layout-constrained > * {
	padding-left: var(--wp--custom--layout--padding);
	padding-right: var(--wp--custom--layout--padding);
}

.wp-block-group.alignfull > .alignwide .wp-block-columns {
	padding-left: 0;
	padding-right: 0;
}

.has-3-columns,
.has-4-columns,
.has-5-columns,
.has-6-columns {
	flex-wrap: wrap !important;
}

.content-sidebar .entry-header:not(.not-found .entry-header):not(.has-thumbnail .entry-header) {
	margin: 0;
}

.content-sidebar .entry-content {
	display: grid;
	grid-template-columns: auto var(--wp--custom--layout--sidebar);
	margin: auto;
	max-width: calc(var(--wp--custom--layout--small-content) * 1.25);
	padding-top: var(--wp--preset--spacing--medium);
	column-gap: var(--wp--preset--spacing--medium);
}

.content-sidebar .sidebar-primary {
	width: 100%;
}

.content-sidebar .entry-content > *,
.content-sidebar .entry-content .wrap {
	padding: 0;
}

.entry-content > * {
	margin-left: auto;
	margin-right: auto;
	max-width: var(--wp--custom--layout--content);
	padding-left: var(--wp--custom--layout--padding);
	padding-right: var(--wp--custom--layout--padding);
}

/* -------------------------------------------------------------------------
   Typography and elements
   ------------------------------------------------------------------------- */

.screen-reader-text,
.screen-reader-text span,
.screen-reader-shortcut {
	position: absolute !important;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	width: 1px;
	border: 0;
	overflow: hidden;
	top: 10px;
	left: 10px;
}

.screen-reader-text:focus,
.screen-reader-shortcut:focus {
	clip: auto !important;
	height: auto;
	width: auto;
	display: block;
	font-size: 14px;
	font-weight: 700;
	padding: 10px 12px;
	color: #333;
	background: #fff;
	z-index: 100000;
	clip-path: none;
	text-decoration: none;
}

h1, h2, h3, h4, h5, h6 {
	margin: 0 0 var(--wp--preset--spacing--small) 0;
	text-wrap-style: balance;
}

p {
	margin: 0 0 var(--wp--preset--spacing--medium) 0;
}

ul li, ol li {
	margin-bottom: 5px;
}

em,
[style*="font-style: italic"],
.has-italic-font-style {
	font-family: var(--wp--preset--font-family--system-sans-serif-italic);
}

h1 mark {
	color: transparent;
	-webkit-text-fill-color: transparent;
	-webkit-text-stroke-width: 1.5px;
	-webkit-text-stroke-color: currentColor;
	margin: 0;
	padding: 0;
	background: none;
}

/* -------------------------------------------------------------------------
   Images and media
   ------------------------------------------------------------------------- */

figure.wp-block-image.aligncenter > figcaption {
	background: var(--wp--preset--color--senary);
	display: inline-block;
	padding: 5px 12px;
	border-radius: 50px;
	font-weight: 600;
	font-size: 16px;
}

.wp-block-image .aligncenter,
.wp-block-image .alignleft,
.wp-block-image .alignright,
.wp-block-image.aligncenter,
.wp-block-image.alignleft,
.wp-block-image.alignright {
	margin: auto;
}

img.alignleft {
	float: left;
	margin: 0 var(--wp--style--block-gap) var(--wp--style--block-gap) 0;
	max-width: calc(var(--wp--custom--layout--content) / 2);
}

img.alignright {
	float: right;
	margin: 0 0 var(--wp--style--block-gap) var(--wp--style--block-gap);
	max-width: calc(var(--wp--custom--layout--content) / 2);
}

img.aligncenter {
	margin-left: auto;
	margin-right: auto;
}

figure.wp-caption { max-width: 100%; }

.wp-block-image figcaption {
	font-size: var(--wp--preset--font-size--small);
	text-align: center;
}

.wp-block-gallery {
	--wp--style--unstable-gallery-gap: var(--wp--preset--spacing--medium);
	gap: var(--wp--preset--spacing--medium);
}

.wp-block-gallery.columns-2 > figure { width: calc(50% - var(--wp--style--unstable-gallery-gap, 16px) * 0.66667); }
.wp-block-gallery.columns-3 > figure { width: calc(33.33333% - var(--wp--style--unstable-gallery-gap, 16px) * 0.66667); }
.wp-block-gallery.columns-4 > figure { width: calc(25% - var(--wp--style--unstable-gallery-gap, 16px) * 0.66667); }

body .wp-block-separator {
	border: none;
	height: 6px;
	width: 200px;
	border-radius: 25px;
	margin-left: 0;
	margin-top: var(--wp--preset--spacing--medium);
	margin-bottom: var(--wp--preset--spacing--medium);
}

body .wp-block-separator.is-style-simple {
	border: none;
	height: 1px;
	width: 100%;
	border-radius: 25px;
}

.wp-block-separator.has-background { padding: 0; }

.wp-element-button.is-style-outline,
.wp-block-button.is-style-outline > .wp-block-button__link {
	padding: calc(var(--wp--custom--layout--small-padding) - 1px) calc(var(--wp--custom--layout--padding) - 1px);
}

.wp-element-button.is-style-outline.has-background,
.wp-block-button.is-style-outline > .wp-block-button__link.has-background {
	padding: 10px 15px;
}

.wp-element-button.is-style-outline:not(.has-text-color),
.wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color) {
	color: var(--wp--preset--color--primary);
}

.no-results {
	text-align: center;
	padding-top: var(--wp--preset--spacing--x-large);
	padding-bottom: var(--wp--preset--spacing--x-large);
	background-color: var(--wp--preset--color--senary);
}

.has-primary-background-color,
.has-secondary-background-color,
.has-tertiary-background-color,
.has-foreground-background-color {
	color: var(--wp--preset--color--white);
}

/* -------------------------------------------------------------------------
   Breadcrumb
   ------------------------------------------------------------------------- */

.breadcrumb {
	margin: 0 auto 16px;
	line-height: var(--wp--custom--line-height--small);
	font-size: var(--wp--preset--font-size--tiny);
	max-width: var(--wp--custom--layout--content);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.breadcrumb .sep { margin: 0 4px; }

.archive-header .breadcrumb,
.post-header .breadcrumb {
	max-width: 100%;
	grid-column: 1 / -1;
	margin-left: 0;
	margin-right: 0;
}

/* -------------------------------------------------------------------------
   Header and navigation
   ------------------------------------------------------------------------- */

.site-header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	padding: 15px 0;
	z-index: 8000;
	will-change: transform;
	transform: translateZ(0);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.site-header .wrap {
	display: grid;
	grid-template-columns: 250px 1fr;
	align-items: center;
	justify-content: space-between;
}

.custom-logo-link {
	position: relative;
	display: flex;
	text-decoration: none;
	min-height: 44px;
	align-items: center;
}

img.dots { width: 50px; }

.scrolled img.nebula { opacity: 0; }

img.nebula {
	display: none;
	width: 200px;
	transform: translate(3px, 0);
	transition: all 0.15s ease-in-out 0.15s;
}

.site-header .custom-logo {
	width: 265px;
	max-width: initial;
}

#nav-menu { display: none; }

#nav-menu .menu {
	display: flex;
	gap: 3px;
	background: rgba(255, 255, 255, 0.31);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-radius: 75px;
	padding: 8px;
	border: 1px solid rgba(255, 255, 255, 0.3);
	margin: 0;
	align-items: center;
}

#primary-menu > li {
	position: relative;
	list-style: none;
	border-radius: var(--wp--custom--border-radius--large);
	margin: 0;
}

#nav-menu .menu > li:hover > a:not(.button) {
	background: rgba(0, 0, 0, 0.06);
}

#nav-menu .menu > li > a:not(.button) {
	line-height: 1;
	border: none;
	display: block;
	border-radius: 25px;
	font-family: var(--wp--preset--font-family--system-sans-serif);
	font-weight: 400;
	position: relative;
	padding: 15px;
	text-decoration: none;
	transition: all 0.15s ease-in-out;
	cursor: pointer;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
}

#nav-menu .menu > li > a:not(.button):focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

#primary-menu > li.menu-item-has-children > a:after {
	content: '';
	position: absolute;
	width: 100%;
	height: 15px;
	left: 0;
	bottom: -15px;
}

#primary-menu > li > .sub-menu {
	background: var(--wp--custom--color--neutral-900);
	backdrop-filter: blur(25px);
	-webkit-backdrop-filter: blur(25px);
	color: var(--wp--preset--color--white);
	padding: calc(var(--wp--custom--layout--padding) - 10px) var(--wp--custom--layout--padding);
	opacity: 0;
	visibility: hidden;
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%) translateY(0);
	min-width: 350px;
	border-radius: var(--wp--custom--border-radius--medium);
	transition: all 0.15s ease-in-out;
	list-style: none;
}

#primary-menu > li.menu-item-has-children:hover > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) translateY(15px);
}

#primary-menu > li > .sub-menu > li { margin-bottom: 15px; }
#primary-menu > li > .sub-menu > li:last-of-type { margin-bottom: 0; }

#nav-menu .sub-menu li {
	position: relative;
	margin: 0;
	padding: 0;
}

#nav-menu .sub-menu a {
	display: block;
	padding: 8px 0;
	text-decoration: none;
	font-weight: 600;
	color: var(--wp--preset--color--white);
	font-size: var(--wp--preset--font-size--small);
}

#nav-menu .sub-menu a:hover { text-decoration: underline; }
#nav-menu .sub-menu a:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }

#nav-menu .sub-menu ul {
	padding: 0 0 0 30px;
	margin: 0;
	list-style: none;
}

#nav-menu .sub-menu ul li:after {
	content: '';
	width: 21px;
	height: 21px;
	display: block;
	border: 2px solid rgba(255, 255, 255, 0.5);
	border-radius: 50%;
	position: absolute;
	left: -28px;
	top: 8px;
}

#nav-menu .sub-menu ul li:before {
	content: '';
	width: 5px;
	height: 5px;
	display: block;
	background: #fff;
	border-radius: 50%;
	position: absolute;
	left: -20px;
	top: 16px;
}

#nav-menu .sub-menu ul li a {
	font-size: var(--wp--preset--font-size--normal);
	font-weight: 400;
	color: var(--wp--custom--color--neutral-300);
}

#nav-menu .contact-us {
	color: #fff;
	padding: 12px 15px;
}

#nav-menu .contact-us:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 25px rgba(102, 126, 234, 0.3);
	background: linear-gradient(135deg, #5a6fd8 0%, #6a4190 100%);
}

.is-dark-mode #primary-menu {
	background: rgba(0, 0, 0, 0.15);
	border: 1px solid rgba(0, 0, 0, 0.05);
	color: var(--wp--preset--color--white);
}

/* Mobile toggle */
#toggle-wrap {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	z-index: 9999;
}

#toggle {
	height: 65px;
	width: 65px;
	min-width: 44px;
	min-height: 44px;
	position: relative;
	display: flex;
	background: transparent;
	border: 5px solid transparent;
	border-radius: 100%;
	transition: 0.3s;
	cursor: pointer;
	align-items: center;
	justify-content: center;
	margin-right: -15px;
}

#toggle:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

#toggle .bar {
	height: 4px;
	width: 35px;
	display: block;
	margin: 0 auto;
	position: absolute;
	background-color: #000;
	border-radius: 10px;
}

#toggle .bar:nth-of-type(1) { top: 15px; }
#toggle .bar:nth-of-type(2) { top: 25px; }
#toggle .bar:nth-of-type(3) { top: 35px; }

.active #toggle .bar:nth-of-type(1) {
	top: 25px;
	transform: rotate(45deg);
}

.active #toggle .bar:nth-of-type(2) { opacity: 0; }

.active #toggle .bar:nth-of-type(3) {
	top: 25px;
	transform: rotate(-45deg);
}

#mobile-nav-menu {
	height: 100vh;
	opacity: 0;
	visibility: hidden;
	position: fixed;
	top: 0;
	padding-top: 75px;
	width: 100%;
	background: var(--wp--preset--color--white);
	transition: all 0.3s ease-in-out;
	transform: translate(0, -10px);
	z-index: 500;
}

.active #mobile-nav-menu {
	opacity: 1;
	visibility: visible;
	transform: translate(0, 0);
}

.menu-mobile-container {
	overflow: auto;
	overflow-x: hidden;
	height: 100%;
	width: 100vw;
}

#mobile-menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

#mobile-menu a,
#mobile-menu span {
	display: flex;
	align-items: center;
	padding: 15px;
	min-height: 44px;
	box-sizing: border-box;
	font-weight: 500;
	text-decoration: none;
	color: #000;
	cursor: pointer;
}

#mobile-menu li {
	position: relative;
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--wp--preset--color--senary);
}

#mobile-menu > li:first-child { border-top: 0; }

#mobile-menu li.menu-item-has-children {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}

#mobile-menu li ul {
	display: none;
	width: 100%;
	background: var(--wp--preset--color--senary);
	margin: 0;
	padding: 0;
}

#mobile-menu li ul li { border-top: 1px solid #fff; }
#mobile-menu li ul li a {
	font-size: var(--wp--preset--font-size--tiny);
	font-weight: 400;
}

#mobile-menu button {
	background: transparent;
	border: 0;
	width: 50px;
	height: 50px;
	min-width: 44px;
	min-height: 44px;
	padding: 5px 20px 5px 0;
	cursor: pointer;
}

#mobile-menu button svg {
	transition: transform 0.3s ease-out;
}

#mobile-menu .menu-item.active button svg {
	transform: rotateX(180deg);
}

.site-header.is-dark-mode img { filter: brightness(0) saturate(100%) invert(1); }
.site-header.is-dark-mode #toggle .bar { background-color: #fff; }
.active .site-header.is-dark-mode #toggle .bar { background-color: #000; }
.active .site-header.is-dark-mode img { filter: initial; }

/* -------------------------------------------------------------------------
   Notice and cookie consent
   ------------------------------------------------------------------------- */

a.notification {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	animation: bellshake 5.5s cubic-bezier(0.36, 0.07, 0.19, 0.97) infinite;
	backface-visibility: hidden;
	transform-origin: top center;
}

@keyframes bellshake {
	0%, 9.1%, 100% { transform: rotate(0); }
	1.4% { transform: rotate(5deg); }
	2.7% { transform: rotate(-5deg); }
	4.1% { transform: rotate(4deg); }
	5.5% { transform: rotate(-4deg); }
	6.8% { transform: rotate(2deg); }
	7.7% { transform: rotate(-2deg); }
	8.4% { transform: rotate(1deg); }
}

.notice {
	position: fixed;
	bottom: 25px;
	z-index: 9999;
	width: 100%;
	display: flex;
	padding: 0 15px;
}

.notice button {
	border: none;
	font-size: 16px;
	padding: 0;
	display: inline-flex;
	cursor: pointer;
	color: #fff;
	background: rgb(106 92 154);
	border-radius: 50%;
	width: 30px;
	height: 30px;
	min-width: 30px;
	min-height: 30px;
	fill: #fff;
	font-weight: bold;
	align-items: center;
	justify-content: center;
}

.notice button:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

.notice.hidden { display: none; }

#notice-block {
	background: var(--wp--preset--color--septenary);
	color: #fff;
	margin: auto;
	display: flex;
	align-items: center;
	position: relative;
	padding: 10px 20px;
	justify-content: center;
	border-radius: var(--wp--custom--border-radius--medium);
	flex-wrap: wrap;
	gap: 10px;
}

#notice-block > div {
	display: flex;
	align-items: center;
	border-right: 1px solid #6a5c9a;
}

#notice-block p {
	margin: 0 5px;
	text-align: center;
	font-weight: 600;
}

#notice-block a {
	display: inline-block;
	background: var(--wp--preset--color--quaternary);
	color: var(--wp--preset--color--septenary);
	padding: 10px 20px;
	border-radius: 12px;
	margin: 5px 10px;
}

#cookie-notice-consent .cookie-notice-consent__container {
	position: fixed;
	bottom: 15px;
	right: 15px;
	backdrop-filter: blur(25px);
	text-align: left;
	padding: var(--wp--custom--layout--small-padding);
	max-width: 350px;
	border-radius: var(--wp--custom--border-radius--medium);
	background-color: rgb(255 255 255 / 65%);
	box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.04);
	z-index: 9999;
}

.cookie-notice-consent__text {
	color: #000;
	font-size: 16px;
}

.cookie-notice-consent__buttons {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-start;
	gap: 8px;
	margin-top: 16px;
}

.cookie-notice-consent__buttons a {
	padding: 6px 12px;
	background-color: rgb(0 0 0 / 10%);
	color: #000;
	border: none;
	font-size: 14px;
	margin: 0;
	cursor: pointer;
	font-weight: 500;
	border-radius: var(--wp--custom--border-radius--large);
	transition: all 0.25s ease-in-out;
	min-height: 44px;
	align-items: center;
	display: inline-flex;
}

.cookie-notice-consent__buttons a:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

.cookie-notice-consent__buttons a.cookie-notice-consent__accept-button {
	background-color: var(--wp--preset--color--primary);
	color: #fff;
}

.cookie-notice-consent__categories div { margin-top: 8px; }

.cookie-notice-consent__category input {
	position: absolute;
	opacity: 0;
	height: 0;
	width: 0;
}

.cookie-notice-consent__category label {
	position: relative;
	display: block;
	padding-left: 30px;
	cursor: pointer;
}

.cookie-notice-consent__category label:before {
	content: '';
	position: absolute;
	top: 50%;
	margin-top: -12px;
	left: 0;
	height: 22px;
	width: 22px;
	border: 1px solid rgb(0 0 0 / 35%);
	border-radius: 5px;
}

.cookie-notice-consent__category label:hover:before {
	background-color: rgba(0, 0, 0, 0.05);
}

.cookie-notice-consent__category label:after {
	content: '';
	opacity: 0;
	position: absolute;
	left: 8px;
	top: 5px;
	width: 5px;
	height: 9px;
	border: solid #000;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}

.cookie-notice-consent__category input:checked + label:after { opacity: 1; }

.cookie-notice-consent__categories input + label {
	color: #000;
	font-size: 16px;
	padding-left: 30px;
}

/* -------------------------------------------------------------------------
   Block styles – background, cover, banner, shapes, numbered
   ------------------------------------------------------------------------- */

.is-style-background-auto {
	background-size: contain !important;
	background-repeat: no-repeat;
	background-position: left center;
}
.is-style-background-auto > * { padding: 0; }

.is-style-background-cover { background-position: center center; }
.is-style-background-cover > * { padding: 0; }

.orbital-img img { width: 1390px; }

.is-style-banner { overflow: visible; }
.is-style-banner .is-style-expand { overflow: visible; }
.is-style-banner .is-style-expand img {
	max-width: 70%;
	padding: 0;
	transform: scale(1.25);
}
.is-style-banner.wp-block-cover .is-style-expand .wp-block-cover__inner-container {
	width: 100% !important;
	max-width: 100%;
}
.is-style-banner.wp-block-cover .is-style-expand .wp-block-cover__inner-container div > * { padding: 0; }

.back a {
	text-decoration: none;
	font-size: var(--wp--preset--font-size--medium);
	position: relative;
}

.back a:before {
	content: '';
	position: absolute;
	left: -35px;
	top: 1px;
	width: 30px;
	height: 30px;
	background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23FFFFFF"><path fill-rule="evenodd" d="M15.293 3.293a1 1 0 011.497 1.32l-.083.094L9.415 12l7.292 7.293a1 1 0 01.083 1.32l-.083.094a1 1 0 01-1.32.083l-.094-.083-8-8a1 1 0 01-.083-1.32l.083-.094 8-8z"/></svg>');
	background-size: 30px;
	transition: 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.back a:hover:before { left: -40px; }

.grid.blocks { padding: 0 !important; }

#code-container {
	background: #1d244e;
	color: #fff;
	padding: 30px;
	margin: 20px 0;
	border-radius: 15px;
}

.codingtest { display: none; }
.codingtest.active { display: block; }

/* RankMath */
#rank-math-faq { padding: 0; }
#rank-math-faq .rank-math-list-item { padding-bottom: var(--wp--preset--spacing--medium); }
#rank-math-faq .rank-math-answer p:last-child { margin: 0; }
.wp-block-rank-math-toc-block ul ul { margin: 0; }
.wp-block-rank-math-toc-block ul li { margin: 5px 0; }

/* Gradients and blocks */
.green-gradient { background: linear-gradient(0deg, #382678 0%, #30a267 100%); }
.blue-gradient { background: linear-gradient(0deg, #382678 0%, #009fe3 100%); }
.yellow-gradient { background: linear-gradient(0deg, #382678 0%, #fdc41f 100%); }
.pink-gradient { background: linear-gradient(0deg, #382678 0%, #d01255 100%); }
.purple-gradient { background: linear-gradient(0deg, #382678 0%, #462575 100%); }

h1.has-background,
p.has-background {
	display: inline-block;
	line-height: 1;
}

h1#error span {
	background: linear-gradient(0deg, var(--wp--preset--color--primary) 0%, var(--wp--preset--color--septenary) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	display: block;
	font-size: calc(3.25 * var(--wp--preset--font-size--gargantuan));
}

.is-style-numbered { counter-reset: clickable-counter; }

.is-style-numbered .clickable-content:before {
	content: counter(clickable-counter);
	counter-increment: clickable-counter;
	background: var(--wp--preset--gradient--purple-to-dark-blue);
	color: #fff;
	border-radius: 50%;
	height: 50px;
	width: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	margin-left: -70px;
}

.is-style-numbered .clickable-content {
	margin-left: 70px !important;
	margin-bottom: 10px !important;
}

.is-style-equal {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.is-style-skew {
	perspective: 1020px;
	-webkit-text-fill-color: inherit;
	mix-blend-mode: normal;
	background-clip: border-box;
	justify-content: center;
}

.is-style-skew video {
	z-index: 1;
	border: 3px solid #fff;
	transform-style: preserve-3d;
	border-radius: var(--wp--custom--border-radius--medium);
	transform: rotateX(15deg);
}

/* Shape styles – paths relative to assets/css/ */
figure[class*="is-style-shape-"] { position: relative; }

figure[class*="is-style-shape-"]:after {
	position: absolute;
	content: '';
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-size: 100%;
	background-position: center center;
	transform: scale(1.2) rotate(0);
}

figure[class*="is-style-shape-1"]:after {
	transform: scale(2) rotate(0);
	animation: spin 150s linear infinite;
	z-index: 50;
}

.is-style-shape-1:after { background-image: url("../shapes/shape-1.svg"); }
.is-style-shape-2:after { background-image: url("../shapes/shape-2.svg"); }
.is-style-shape-3:after { background-image: url("../shapes/shape-3.svg"); }
.is-style-shape-4:after { background-image: url("../shapes/shape-4.svg"); }
.is-style-shape-5:after { background-image: url("../shapes/shape-5.svg"); }
.is-style-shape-6:after { background-image: url("../shapes/shape-6.svg"); }

@keyframes spin {
	100% { transform: scale(2) rotate(-360deg); }
}

/* -------------------------------------------------------------------------
   Buttons
   ------------------------------------------------------------------------- */

.button,
.wp-block-button__link,
.wp-element-button {
	padding: var(--wp--custom--layout--small-padding) var(--wp--custom--layout--padding);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	font-weight: 400;
	cursor: pointer;
	outline: 2px solid transparent;
	outline-offset: 2px;
	text-align: center;
	position: relative;
	border-radius: 50px;
	transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
	min-height: 44px;
	box-sizing: border-box;
}

.button:focus-visible,
.wp-block-button__link:focus-visible,
.wp-element-button:focus-visible {
	outline: 2px solid #000;
}

.button:after,
.wp-block-button__link:after {
	content: '';
	position: absolute;
	background-size: inherit;
	background-image: inherit;
	background-color: inherit;
	animation: inherit;
	left: 0;
	right: 0;
	top: 2px;
	height: 100%;
	filter: blur(1rem);
	opacity: 0;
	transition: 0.5s cubic-bezier(0.4, 0, 0.2, 1);
	z-index: -1;
}

.button:hover,
.wp-element-button:hover,
.wp-block-button__link:hover { transform: scale(1); }

.button:hover:after,
.wp-block-button__link:hover:after { opacity: 1; }

.button:active,
.wp-element-button:active,
.wp-block-button__link:active { transform: translateY(3px); }

.button:active:after,
.wp-element-button:active:after,
.wp-block-button__link:active:after { transform: scale(0.85); }

/* -------------------------------------------------------------------------
   Archive and blocks (cards, grid)
   ------------------------------------------------------------------------- */

.archive .block:hover:after { background: var(--wp--preset--color--septenary); }

.archive .block img { border-radius: var(--wp--custom--border-radius--medium); }

.archive .block .button {
	padding: calc(var(--wp--custom--layout--small-padding) / 2) var(--wp--custom--layout--small-padding);
}

.archive .block.no-thumb { padding-top: 100%; }
.archive .block.no-thumb a { position: absolute; top: 0; bottom: 0; width: 100%; }
.archive .block.no-thumb .post-summary__title { font-size: var(--wp--preset--font-size--huge); }
.archive .no-thumb .block-header { display: flex; align-items: flex-end; }

.archive .block-header .entry-category {
	margin-bottom: var(--wp--preset--spacing--small);
	color: var(--wp--preset--color--quaternary);
	font-weight: 600;
	background: #fff;
	display: inline-block;
	border-radius: 12px;
}

#get-in-touch a { text-decoration: none; }

.cta img {
	display: inline-flex;
	animation: wave-animation 2.5s infinite;
	transform-origin: 70% 70%;
	justify-content: center;
	align-items: center;
	padding-right: 15px;
	vertical-align: middle;
}

.cta a { text-decoration: none; display: inline-block; }

.no-thumb {
	height: 100%;
	aspect-ratio: 3 / 2;
	border-radius: var(--wp--custom--border-radius--medium);
}

.no-thumb.has-blue-svg-fill { background: var(--wp--preset--gradient--blue-to-dark-blue); }
.no-thumb.has-yellow-svg-fill { background: var(--wp--preset--gradient--yellow-to-dark-yellow); }
.no-thumb.has-pink-svg-fill { background: var(--wp--preset--gradient--pink-to-dark-blue); }
.no-thumb.has-purple-svg-fill { background: var(--wp--preset--gradient--purple-to-dark-blue); }
.no-thumb.has-green-svg-fill { background: var(--wp--preset--gradient--green-to-dark-blue); }

.grid a {
	text-decoration: none;
	display: flex;
	flex-direction: column;
	gap: var(--wp--custom--layout--block-gap);
}

.block {
	border-radius: var(--wp--custom--border-radius--medium);
	height: 100%;
	width: 100%;
	display: flex;
	flex-direction: column;
	position: relative;
	justify-content: space-between;
	padding: var(--wp--custom--layout--padding);
}

.block-content .wp-block-separator { max-width: 150px; }

.archive .block {
	padding: var(--wp--custom--layout--small-padding);
	border: 2px solid var(--wp--preset--color--senary);
}

.block-header p { margin: 0; color: var(--wp--custom--color--neutral-600); }

.grid h3 { margin: 0; }
.grid svg { fill: #fff; }

.grid.blocks .block-meta-cta {
	position: static;
	padding-top: 0;
}

/* Card component: see assets/css/cards.css */

/* -------------------------------------------------------------------------
   Footer
   ------------------------------------------------------------------------- */

footer.site-footer {
	background: var(--wp--preset--gradient--pink-to-dark-blue);
	color: var(--wp--preset--color--white);
	padding: var(--wp--preset--spacing--x-large) 0;
}

footer p {
	font-weight: 300;
	font-size: var(--wp--preset--font-size--normal);
	margin-top: 0;
}

footer .wp-block-separator {
	max-width: 100%;
	width: 100%;
	margin-top: var(--wp--preset--spacing--medium);
	margin-bottom: var(--wp--preset--spacing--medium);
}

footer > div > .flex { column-gap: var(--wp--preset--spacing--xx-large); }
footer .flex .col-auto .flex .col-auto { min-width: 225px; }

footer nav ul { margin: 0; padding: 0 0 25px 40px; }
footer nav ul li {
	position: relative;
	list-style: none;
	margin-bottom: 10px;
}

footer a:focus,
footer a:focus-visible {
	outline-color: #fff;
	outline: 2px solid #fff;
	outline-offset: 2px;
}

footer nav ul li:not(.sub-menu li):before {
	content: '';
	position: absolute;
	left: -36px;
	top: 0;
	border: 2px solid rgb(255 255 255 / 50%);
	width: 26px;
	height: 26px;
	border-radius: 50%;
}

footer nav ul li:not(.sub-menu li):after {
	content: '';
	position: absolute;
	left: -27px;
	top: 9px;
	background: #fff;
	width: 8px;
	height: 8px;
	border-radius: 50%;
}

footer nav ul li a,
footer nav ul li span {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
	color: #fff;
	text-decoration: none;
}

footer nav ul li ul { margin: 0 0 25px 0; padding: 0; }
footer nav ul li ul li { margin: 0; padding: 0; }
footer nav ul li ul li a {
	font-size: var(--wp--preset--font-size--tiny);
	font-weight: 300;
}

footer nav ul li a:hover {
	color: #fff;
	border-bottom: 1px solid #fff;
}

footer .social_media { display: inline-flex; height: 26px; margin: 0 15px; }
footer #social-container { display: flex; gap: 20px; align-items: center; }
footer #social-container .social_media a { margin: 0 5px; }
footer #social-container .social_media svg { fill: #fff; }
footer #social-container .social_media .facebook svg:hover { fill: #1877F2; transition: 0.2s ease-in; }
footer #social-container .social_media .linkedin svg:hover { fill: #0077B5; transition: 0.2s ease-in; }
footer #social-container .social_media .messenger svg:hover { fill: #00B2FF; transition: 0.2s ease-in; }

#certification-logos { display: inline-flex; }
#certification-logos img { max-height: 75px; min-width: 60px; }

footer .slogan { margin: 25px 0; font-size: var(--wp--preset--font-size--big); font-weight: 700; }

/* Modal / dialog */
dialog {
	padding: 50px;
	border-radius: 5px;
	border: 0;
	max-width: 1200px;
	max-height: 600px;
}

dialog::backdrop { background: rgba(0, 0, 0, 0.4); }
dialog[open],
dialog::backdrop { animation: show 500ms ease; }

@keyframes show {
	0% { opacity: 0; }
}

dialog img {
	max-width: 150px;
	border-radius: 50%;
	height: 150px;
	object-fit: cover;
}

.model-wrapper { display: flex; gap: 30px; }
.model-wrapper h4 { margin-bottom: 10px; }
.model-wrapper svg { margin-bottom: 10px; }

/* -------------------------------------------------------------------------
   Archive header and content layouts
   ------------------------------------------------------------------------- */

.archive-header {
	padding: 0 0 var(--wp--preset--spacing--xxx-large) 0;
	background-size: cover;
	margin-top: 0;
	background-position: 0 100%;
	min-height: 600px;
	height: 75vh;
	width: 100%;
	display: flex;
	align-items: center;
}

.archive-header .wrap {
	width: 100%;
	max-width: var(--wp--style--global--content-size);
}

.archive-inner-header { max-width: 800px; }

.archive-description > *:first-child { margin-top: 0; }
.archive-description > *:last-child { margin-bottom: 0; }
.archive-header .breadcrumb { margin-bottom: var(--wp--custom--layout--block-gap-large); }

.archive .site-inner { padding: 0; }

.archive .site-main {
	max-width: var(--wp--style--global--content-size);
	margin: 0 auto;
	padding: var(--wp--custom--layout--padding);
	display: flex;
	flex-direction: column;
	gap: var(--wp--custom--layout--block-gap);
}

.post.content .site-inner { padding: 0; }

.post.content .site-main {
	padding-left: var(--wp--custom--layout--padding);
	padding-right: var(--wp--custom--layout--padding);
	max-width: var(--wp--custom--layout--content);
	margin: auto;
}

.post .entry-content .wrap p,
.post .entry-content .wrap ul,
.post .entry-content .wrap ol {
	margin-top: 0;
	font-size: var(--wp--preset--font-size--small);
	line-height: var(--wp--custom--line-height--normal);
}

.post .wp-block-image.aligncenter { width: 100%; }
.post .wp-block-image.aligncenter img { margin: auto; }

.full-width-content .entry-content .wrap {
	padding-top: var(--wp--preset--spacing--medium);
}

.full-width-content .site-inner { padding: 0; }

.full-width-content article header > *,
.full-width-content .entry-content > * {
	padding-left: var(--wp--preset--spacing--medium);
	padding-right: var(--wp--preset--spacing--medium);
}

.full-width-content .entry-content > *.alignfull {
	margin: 0;
	padding: 0;
}

.post .entry-header .wrap,
.post .entry-content .wrap {
	max-width: var(--wp--custom--layout--small-content);
}

.post .entry-content .wrap { background: #fff; }

.post article .entry-image .wrap {
	max-width: calc(var(--wp--custom--layout--small-content) * 1.25);
}

.post ul { margin: var(--wp--preset--spacing--medium) 0; }

.post-summary__content {
	display: grid;
	gap: 8px;
	padding-top: 12px;
}

.post-summary__content > * { margin: 0; }
.post-summary .entry-category { font-size: var(--wp--preset--font-size--tiny); }
.post-summary .entry-category a { text-decoration: none; }
.post-summary__title { font-size: var(--wp--preset--font-size--large); }
.post-summary__title a { text-decoration: none; }
.post-summary__title a:hover { color: var(--wp--preset--color--primary); }

/* Pagination */
.pagination {
	margin: 32px auto;
	max-width: var(--wp--custom--layout--content);
	grid-column: 1 / -1;
}

.pagination ul {
	margin: 0;
	padding: 0;
	display: flex;
	gap: 8px;
	align-items: center;
}

.pagination ul li { list-style-type: none; display: inline-block; }

.pagination ul li a {
	background: var(--wp--preset--color--background);
	border: var(--wp--custom--border-width--tiny) solid var(--wp--preset--color--septenary);
	border-radius: 50%;
	color: var(--wp--preset--color--septenary);
	fill: var(--wp--preset--color--septenary);
	width: 54px;
	height: 54px;
	min-width: 44px;
	min-height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	transition: 0.5s ease-in-out;
}

.pagination ul li a:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

.pagination ul li svg { fill: inherit; }

.pagination ul li.active > a {
	background: var(--wp--preset--color--quaternary);
	color: var(--wp--preset--color--septenary);
	fill: var(--wp--preset--color--septenary);
	border: var(--wp--custom--border-width--tiny) solid var(--wp--preset--color--quaternary);
}

.pagination ul li > a:hover {
	background: var(--wp--preset--color--septenary);
	color: var(--wp--preset--color--quaternary);
	fill: var(--wp--preset--color--quaternary);
	border: var(--wp--custom--border-width--tiny) solid var(--wp--preset--color--septenary);
}

/* -------------------------------------------------------------------------
   Single post, entry, category filter, iframe
   ------------------------------------------------------------------------- */

iframe {
	border-radius: var(--wp--custom--border-radius--medium);
	overflow: hidden;
}

.type-case_study {
	padding-top: calc(var(--wp--preset--spacing--xxx-large) * 2);
}

.cat-filter-list-wrapper .cat-filter-list {
	display: flex;
	list-style: none;
	padding: 0;
	margin: 0;
	flex-wrap: wrap;
}

.cat-filter-list li {
	padding-right: var(--wp--preset--spacing--large);
	position: relative;
	margin: 0;
}

.cat-filter-list li a {
	text-decoration: none;
	color: #b2b0bb;
	font-weight: 600;
	text-transform: uppercase;
	transition: 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.cat-filter-list li:after {
	content: '\2022';
	position: absolute;
	top: 3px;
	left: calc(var(--wp--preset--spacing--medium) * -1);
	font-size: 26px;
	line-height: 26px;
	color: rgb(142 121 153 / 0.2);
}

.cat-filter-list li:first-child:after { display: none; }
.cat-filter-list a:hover,
.cat-filter-list .current,
.cat-filter-list a:active { color: var(--wp--preset--color--quinary); }
.cat-filter-list-wrapper { grid-column: 1 / -1; }

.entry-header:not(.not-found .entry-header) {
	background: var(--wp--preset--color--senary);
	min-height: 550px;
	display: flex;
	padding: var(--wp--preset--spacing--xxx-large) 0;
	margin-bottom: calc(var(--wp--preset--spacing--large) * -1);
	align-items: center;
}

.single h1, .single h2, .single h3, .single h4 { text-wrap-style: auto; }

.single .entry-category a {
	color: var(--wp--preset--color--septenary);
	text-decoration: none;
	background: lch(21.61 52.09 300.32 / 0.2);
	padding: 5px 10px;
	font-size: 16px;
	font-weight: 600;
	border-radius: 12px;
	display: inline-block;
	transition: 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.single .entry-category a:hover {
	color: #fff;
	background: var(--wp--preset--color--septenary);
}

.entry-title { font-size: var(--wp--preset--font-size--colossal); }

.entry-image img {
	border-radius: var(--wp--custom--border-radius--medium);
	margin: auto;
}

#entry-meta { display: flex; justify-content: space-between; }
#entry-meta .last-updated { margin: 0; }

.wp-block-code code {
	background-color: #35373a;
	color: var(--wp--preset--color--white);
	font-size: var(--wp--preset--font-size--normal);
	font-weight: 400;
	line-height: var(--wp--preset--font-size--medium);
	overflow-x: auto;
	padding: var(--wp--preset--spacing--medium);
	border-radius: var(--wp--custom--border-radius--medium);
	max-height: 900px;
	width: 100%;
}

.wp-block-latest-posts li {
	position: relative;
	padding: 3px 0 0 23px;
}

.wp-block-latest-posts li:before {
	content: '';
	position: absolute;
	left: -10px;
	top: 5px;
	border: 2px solid rgb(56 38 120 / 25%);
	width: 22px;
	height: 22px;
	border-radius: 50%;
}

.wp-block-latest-posts li:after {
	content: '';
	position: absolute;
	left: -2px;
	top: 13px;
	background: var(--wp--preset--color--septenary);
	width: 6px;
	height: 6px;
	border-radius: 50%;
}

.single .mfp-bg {
	z-index: 9999;
	overflow: hidden;
	position: fixed;
	background: transparent;
	opacity: 1;
}

/* -------------------------------------------------------------------------
   Utilities – flex, grid
   ------------------------------------------------------------------------- */

.flex {
	display: flex;
	flex-wrap: wrap;
	margin-right: calc(-1 * var(--wp--custom--layout--small-padding));
	margin-left: calc(-1 * var(--wp--custom--layout--small-padding));
}

.flex > div { padding: var(--wp--custom--layout--small-padding); }

.v-align { align-items: center; height: 100%; }
.h-align { justify-content: center; }

.col-100 { flex: 0 0 100%; }
.col-75 { flex: 0 0 75%; }
.col-66 { flex: 0 0 66.6666%; }
.col-50 { flex: 0 0 50%; }
.col-33 { flex: 0 0 33.3333%; }
.col-25 { flex: 0 0 25%; }
.col-20,
.has-5-columns > div { flex: 0 0 20%; }
.col-10 { flex: 0 0 10%; }
.col-auto { flex: 1; min-width: 325px; }

.grid {
	display: grid;
	grid-column-gap: var(--wp--custom--layout--block-gap);
	grid-row-gap: var(--wp--custom--layout--block-gap);
}

.grid-2 { grid-template-columns: repeat(2, 1fr); }
.grid-3 { grid-template-columns: repeat(3, 1fr); }
.grid-4 { grid-template-columns: repeat(4, 1fr); }
.grid-5 { grid-template-columns: repeat(5, 1fr); }
.grid-23 { grid-column: 1 / 3; }

/* -------------------------------------------------------------------------
   Our Work – intro, filters, cards (from original core.css)
   ------------------------------------------------------------------------- */

.core-grid {
	display: grid;
	gap: var(--core-grid-gap, 1.5rem);
}

.core-grid--2 { grid-template-columns: 1fr 1fr; }
.core-grid--3 { grid-template-columns: repeat(3, 1fr); }

.core-flex { display: flex; flex-wrap: wrap; }
.core-flex--center { justify-content: center; text-align: center; }
.core-flex--align-center { align-items: center; }

.our-work-intro { padding: 2rem 1rem; }
.our-work-intro__inner { max-width: 42rem; margin: 0 auto; }
.our-work-intro__title { margin: 0 0 0.5em; font-size: clamp(1.75rem, 4vw, 2.5rem); }
.our-work-intro__summary { margin: 0 0 1em; }
.our-work-intro__subheading { margin: 0; font-size: 1.25rem; font-weight: 600; }

.our-work-filters { padding: 0 1rem 1.5rem; }
.our-work-filters__inner { width: 100%; max-width: 42rem; }
.our-work-filters__label { margin: 0 0 0.5rem; font-weight: 600; }
.our-work-filters__form { gap: 0.75rem; align-items: center; }
.our-work-filters__field { flex: 0 1 auto; }
.our-work-filters__select {
	min-width: 10rem;
	padding: 0.5rem 2rem 0.5rem 0.5rem;
	font-size: 1rem;
	border: 1px solid currentColor;
	border-radius: 0.25rem;
	background-color: transparent;
	appearance: auto;
}
.our-work-filters__clear { margin: 0.75rem 0 0; }
.our-work-filters__clear-link { text-decoration: underline; }

.our-work-grid { --core-grid-gap: 2rem; }
.our-work-card { margin: 0; }
.our-work-card__link { display: block; text-decoration: none; color: inherit; }
.our-work-card__image-wrap {
	position: relative;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--wp--preset--color--neutral, #eee);
}
.our-work-card__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.our-work-card__image--placeholder { width: 100%; height: 100%; }
.our-work-card__logo {
	position: absolute;
	left: 1rem;
	bottom: 1rem;
	width: 4rem;
	height: 4rem;
	object-fit: contain;
	background: #fff;
	padding: 0.25rem;
	border-radius: 0.25rem;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
	z-index: 1;
}
.our-work-card__overlay {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0.6);
	opacity: 0;
	transition: opacity 0.25s ease;
	z-index: 2;
}
.our-work-card__link:hover .our-work-card__overlay,
.our-work-card__link:focus .our-work-card__overlay { opacity: 1; }
.our-work-card__meta { padding: 1rem; text-align: center; color: #fff; }
.our-work-card__title { margin: 0 0 0.5rem; font-size: 1.25rem; font-weight: 700; color: inherit; }
.our-work-card__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	margin: 0;
	padding: 0;
	list-style: none;
	justify-content: center;
}
.our-work-card__tag {
	padding: 0.2rem 0.5rem;
	font-size: 0.75rem;
	border-radius: 0.25rem;
	background: rgba(255, 255, 255, 0.25);
}

/* -------------------------------------------------------------------------
   Media queries – responsive
   ------------------------------------------------------------------------- */

@media (min-width: 601px) {
	.wp-block-image.alignleft {
		float: left;
		margin: var(--wp--style--block-gap) var(--wp--style--block-gap) var(--wp--style--block-gap) 0;
		max-width: 48vw;
	}
	.wp-block-image.alignright {
		float: right;
		margin: var(--wp--style--block-gap) 0 var(--wp--style--block-gap) var(--wp--style--block-gap);
		max-width: 48vw;
	}
}

@media (min-width: 768px) {
	.content .entry-content > .wp-block-image.alignleft,
	.content .block-area > .wp-block-image.alignleft {
		max-width: calc(var(--wp--custom--layout--content) / 2);
		margin-left: calc((100vw - var(--wp--custom--layout--content)) / 2);
	}
	.content .entry-content > .wp-block-image.alignright,
	.content .block-area > .wp-block-image.alignright {
		max-width: calc(var(--wp--custom--layout--content) / 2);
		margin-right: calc((100vw - var(--wp--custom--layout--content)) / 2);
	}
}

@media (min-width: 1050px) {
	img.nebula { display: block; }
	#nav-menu { display: flex; justify-content: flex-end; }
	#mobile-nav-menu { display: none; }
	#toggle-wrap { display: none; }
}

@media (min-width: 1200px) {
	.full-width-content .entry-content > .wp-block-image.alignleft,
	.full-width-content .block-area > .wp-block-image.alignleft {
		max-width: calc(var(--wp--custom--layout--wide) / 2);
		margin-left: calc((100vw - var(--wp--custom--layout--wide)) / 2);
	}
	.full-width-content .entry-content > .wp-block-image.alignright,
	.full-width-content .block-area > .wp-block-image.alignright {
		max-width: calc(var(--wp--custom--layout--wide) / 2);
		margin-right: calc((100vw - var(--wp--custom--layout--wide)) / 2);
	}
}

@media (max-width: 782px) {
	#wpadminbar { display: none !important; }
}

@media (max-width: 1049px) {
	.custom-logo-link:after { font-size: var(--wp--preset--font-size--tiny); bottom: -15px; }
	.site-header .wrap { grid-template-columns: 175px 1fr; }
	.is-style-reverse-mobile { flex-direction: column-reverse; }
}

@media (max-width: 900px) {
	.custom-logo-link:after { font-size: 12px; bottom: -12px; }
	.is-style-banner .is-style-expand img {
		max-width: 100%;
		padding: 0;
		transform: scale(1.15);
		object-position: 70% 100% !important;
	}
	.is-style-banner .is-style-expand > div { padding-right: 50px; }
	.notice { bottom: 15px; }
	#notice-block { display: flex; flex-direction: column; }
	#notice-block > div { flex-direction: column; border: 0; gap: 5px; }
	.notice button { position: absolute; top: -15px; right: -15px; }
}

@media (max-width: 780px) {
	.abs-coffee {
		position: absolute;
		top: 5vh;
		right: 2.5vw;
		width: 75vw;
		z-index: 0;
		opacity: 0.5;
	}
}

@media (max-width: 700px) {
	footer #social-container { flex-direction: column; }
	footer #footer-end { flex-direction: column; }
	.grid { grid-template-columns: 1fr; }
	.wp-block-columns.has-3-columns > .wp-block-column { flex-basis: 100%; }
	.wp-block-columns.has-6-columns > .wp-block-column {
		flex: 1 0 calc(50% - var(--wp--custom--layout--block-gap)) !important;
	}
}

@media (max-width: 550px) {
	.is-style-banner .is-style-expand img {
		max-width: 100%;
		padding: 0;
		transform: scale(1.15);
		object-position: 25% 100% !important;
	}
}

@media (max-width: 1100px) {
	.grid { grid-template-columns: repeat(2, 1fr); }
	.wp-block-columns.has-4-columns,
	.wp-block-columns.has-5-columns,
	.wp-block-columns.has-6-columns { flex-wrap: wrap !important; }
	.wp-block-columns.has-4-columns > .wp-block-column {
		flex: 1 0 calc(50% - var(--wp--custom--layout--block-gap)) !important;
	}
	.wp-block-columns.has-3-columns > .wp-block-column {
		flex-basis: calc(50% - var(--wp--custom--layout--block-gap));
	}
}

@media (max-width: 1000px) {
	.content-sidebar .entry-content { grid-template-columns: auto; }
}

@media (max-width: 800px) {
	.wp-block-columns.has-6-columns > .wp-block-column {
		flex: 1 0 calc(33.3333% - var(--wp--custom--layout--block-gap)) !important;
	}
}

@media (max-width: 781px) {
	.core-grid--2,
	.core-grid--3 {
		grid-template-columns: 1fr;
	}
}
