
/** ===========
    01. GENERAL
    =========== */
@import url("stg.css");
* {
  box-sizing: border-box;
  outline: none;
}
:root {
  --hatchery-border-mask: linear-gradient(#000, #000) content-box content-box, linear-gradient(#000, #000);
}
body, html {
  padding: 0;
  margin: 0;
  min-height: 100%;
  max-width: 100vw;
  height: 100%;
}
body {
  overflow-x: hidden;
  position: relative;
  -webkit-tap-highlight-color: transparent;
  font-family: var(--hatchery-t-content-ff);
  font-size: var(--hatchery-t-content-fs);
  line-height: var(--hatchery-t-content-lh);
  letter-spacing: var(--hatchery-t-content-ls);
  font-weight: var(--hatchery-t-content-fw);
  color: var(--hatchery-s-text);
  background: var(--hatchery-s-body-bg);

}
body.is-unloading {
  pointer-events: none;
}
body.hatchery-fullscreen-page {
  overflow: hidden;
}
body.hatchery-fullscreen-page {
  height: 100svh;
}
body.is-loaded {
  opacity: 1;
}
body.is-unloaded {
  mask-position: 175%;
  transition: mask-position 0.75s;
}
iframe {
  max-width: 100%;
  border-radius: var(--hatchery-default-br);
}
iframe.hatchery-google-map {
  border-radius: var(--hatchery-small-br);
}
.highlight {
  color: #db195e;
}
img, video {
  display: block;
  max-width: 100%;
  height: auto;
}
img, video {
  border-radius: var(--hatchery-default-br);
}
header img, header video, footer video, footer img, .hatchery-logo img {
  border-radius: unset;
}
.hatchery-parallax-media:not([class*='hatchery-grid']), .hatchery-parallax-media .st-lazy-wrapper, .hatchery-parallax-image {
  overflow: hidden;
  border-radius: var(--hatchery-default-br);
}
.pswp {
  display: none;
}
.pswp.pswp--open {
  display: block;
}
[data-bg-src] {
  background: var(--hatchery-s-container-bg) no-repeat center;
  background-size: cover;
  position: relative;
}
.hatchery-grid-item-link {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  z-index: 7;
  border-radius: inherit;
}
/* === BrickWall Styles === */
.brickwall-grid {
  position: relative;
}
.brickwall-grid > div {
  position: absolute;
  left: 0;
  top: 0;
}
.brickwall-grid > div.is-appended, .brickwall-grid > div.is-prepended {
  transform: scale(0);
}
.brickwall-grid:not(.animation--none) > div.brickwall-item {
  transition: transform 0.4s, opacity 0.4s;
  will-change: transform, opacity;
}
.brickwall-grid.animation--slow > div.brickwall-item {
  transition: transform 0.8s, opacity 0.8s;
  will-change: transform, opacity;
}
/* === Selection === */ ::selection {
  color: var(--hatchery-s-heading);
  background-color: var(--hatchery-s-accent);
}
img, a img, .hatchery-counter, header#hatchery-header, .swiper, .disable-selection {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
/** ==============
    02. TYPOGRAPHY
    ============== */
.hatchery-highlight {
  color: var(--hatchery-s-heading);
}
strong {
  font-weight: var(--hatchery-t-heading-fw);
  color: var(--hatchery-s-heading);
}
p {
  margin: 0 0 var(--hatchery-t-content-lh) 0;
}
.hatchery-large-text {
  font-size: var(--hatchery-t-large-fs);
  line-height: var(--hatchery-t-content-lh);
  color: var(--hatchery-s-heading);
}
p:last-child {
  margin: 0;
}
p:empty {
  display: none;
}
a {
  position: relative;
}
a, a:focus, a:visited {
  text-decoration: none;
  color: var(--hatchery-s-text-accent);
}
a {
  transition: color 0.3s;
}
address {
  margin: 0 0 28px 0;
}
ins, tt, kbd, code, pre {
  padding: 7px 15px 8px 15px;
  display: inline-block;
  margin: 10px 0;
  max-width: 100%;
}
tt, kbd, code {
  margin: 0 5px;
}
abbr {
  text-transform: uppercase;
}
ins, acronym, abbr {
  text-decoration: none;
}
kbd, code {
  margin: 10px 5px;
  font-family: monospace;
}
pre {
  white-space: pre-wrap;
  margin-bottom: 1.65em;
}
hr {
  border: none;
  width: 100%;
  height: 1px;
  background: var(--hatchery-c-border-gradient);
  margin: 1.65em 0;
}
hr:first-child {
  margin-top: 0;
}
hr:first-child {
  margin-bottom: 0;
}
label, blockquote cite, .hatchery-label {
  font-size: var(--hatchery-t-meta-fs);
  font-weight: var(--hatchery-t-meta-fw);
  letter-spacing: var(--hatchery-t-meta-ls);
  color: var(--hatchery-s-heading-fade);
  text-transform: uppercase;
  margin-bottom: 4px;
}
sup {
  font-size: 0.6em;
  margin-right: 2px;
  display: inline-block;
  transform: translateY(0.05em);
}
.hatchery-title-with-label h1 {
  margin-bottom: 0;
}
.hatchery-title-with-label .hatchery-label:first-child {
  display: block;
  margin-bottom: var(--stg-xs-gap);
}
.hatchery-title-with-label .hatchery-label:last-child {
  display: block;
  margin-top: 4px;
  margin-bottom: 0;
}
.is-dropcap::first-letter {
  font-family: var(--hatchery-t-heading-ff);
  font-weight: var(--hatchery-t-heading-fw);
  line-height: var(--hatchery-t-h2-lh);
  color: var(--hatchery-s-heading);
  font-size: var(--hatchery-t-h2-fs);
  letter-spacing: var(--hatchery-t-h2-ls);
  display: block;
  float: left;
  margin: -6px 16px -8px 0;
}
/* Blockquote */
blockquote cite {
  opacity: 1;
  position: relative;
}
blockquote cite::before {
  content: '';
  width: 8px;
  height: 2px;
  background-color: var(--hatchery-s-heading);
  display: inline-block;
  margin-right: 8px;
  vertical-align: middle;
  transform: translateY(-1px);
}
cite {
  text-align: right;
  display: block;
  font-style: normal;
}
/* === Lists === */
ol, ul {
  padding: 0;
  margin: 0;
}
ol:last-child, ul:last-child {
  margin: 0;
}
ol li, ul li {
  padding: 0;
  margin: 0;
  list-style: disc;
}
/* === Marked List === */
.hatchery-marked-list {
  padding: 0;
  margin: 0;
}
.hatchery-marked-list li {
  list-style: none;
  padding: 0 0 0 28px;
  margin: 0 0 1em 0;
  position: relative;
}
.hatchery-marked-list li:last-child {
  margin: 0;
}
.hatchery-marked-list:not(:last-child) {
  margin: 0 0 1.5em 0;
}
.hatchery-marked-list li::before {
  content: '';
  width: 16px;
  height: 12px;
  display: block;
  position: absolute;
  left: 0;
  top: 5px;
  background: var(--hatchery-s-heading);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-position: center;
  -webkit-mask-image: var(--icon-check);
  mask-image: var(--icon-check);
}
/* === Headings === */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--hatchery-t-heading-ff);
  font-weight: var(--hatchery-t-heading-fw);
  color: var(--hatchery-s-heading);
}
h1, h2, h3 {
  margin: 0 0 var(--stg-gap) 0;
}
h4, h5, h6 {
  margin: 0 0 var(--stg-small-gap) 0;
}
h1:last-child, h2:last-child, h3:last-child, h4:last-child, h5:last-child, h6:last-child {
  margin-bottom: 0;
}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
  color: var(--hatchery-s-heading);
}
h1 sup, h2 sup, h3 sup, h4 sup, h5 sup, h6 sup {
  opacity: 0.25;
}
.hatchery-accent {
  color: var(--hatchery-s-text-accent);
}
.is-accented .hatchery-accent {
  color: var(--hatchery-s-accented-text);
}
.hatchery-page-title {
  display: block;
  width: 100%;
}
.hatchery-post-title {
  margin-bottom: 0;
}
.hatchery-post-title:not(:last-child), .hatchery-page-title:not(:last-child) {
  margin-bottom: var(--stg-gap);
}
.hatchery-title-with-meta span:first-child {
  margin-bottom: 4px;
  display: block;
}
.hatchery-title-with-meta span:last-child {
  margin-top: 4px;
  display: block;
}
h1.hatchery-page-title {
  margin-bottom: calc(-1 * var(--stg-small-gap));
}
.hatchery-section-title {
  margin-bottom: var(--stg-large-gap);
}
.hatchery-section-title p.is-short {
  max-width: calc(0.5 * var(--stg-container-width));
  margin: 0 auto;
}
.hatchery-page-title.is-large {
  font-size: calc(1.2 * var(--hatchery-t-h1-fs));
  line-height: calc(1.2 * var(--hatchery-t-h1-lh));
}
h1 {
  font-size: var(--hatchery-t-h1-fs);
  letter-spacing: var(--hatchery-t-h1-ls);
  line-height: var(--hatchery-t-h1-lh);
  margin: var(--hatchery-t-h1-margin);
}
h2 {
  font-size: var(--hatchery-t-h2-fs);
  letter-spacing: var(--hatchery-t-h2-ls);
  line-height: var(--hatchery-t-h2-lh);
  margin: var(--hatchery-t-h2-margin);
}
h3 {
  font-size: var(--hatchery-t-h3-fs);
  letter-spacing: var(--hatchery-t-h3-ls);
  line-height: var(--hatchery-t-h3-lh);
  margin: var(--hatchery-t-h3-margin);
}
h4 {
  font-size: var(--hatchery-t-h4-fs);
  letter-spacing: var(--hatchery-t-h4-ls);
  line-height: var(--hatchery-t-h4-lh);
  margin: var(--hatchery-t-h4-margin);
}
.hatchery-block h4 {
  margin-bottom: var(--stg-gap);
}
h5 {
  font-size: var(--hatchery-t-h5-fs);
  letter-spacing: var(--hatchery-t-h5-ls);
  line-height: var(--hatchery-t-h5-lh);
  margin: var(--hatchery-t-h5-margin);
}
h6 {
  font-size: var(--hatchery-t-h6-fs);
  letter-spacing: var(--hatchery-t-h6-ls);
  line-height: var(--hatchery-t-h6-lh);
  margin: var(--hatchery-t-h6-margin);
}
.stg-vertical-space-between > h1, .stg-vertical-space-between > h2, .stg-vertical-space-between > h3, .stg-vertical-space-between > h4, .stg-vertical-space-between > h5, .stg-vertical-space-between > h6 {
  margin-bottom: 0;
}
.align-center h1, .align-center h2, .align-center h3, .align-center h4, .align-center h5, .align-center h6 {
  margin-left: auto;
  margin-right: auto;
}
.hatchery-meta {
  font-size: var(--hatchery-t-meta-fs);
  font-weight: var(--hatchery-t-heading-fw);
  font-family: var(--hatchery-t-heading-ff);
  letter-spacing: var(--hatchery-t-meta-ls);
  text-transform: uppercase;
  color: var(--hatchery-s-heading-fade);
  margin-bottom: calc(0.5 * var(--stg-xs-gap));
}
.hatchery-meta.hatchery-highlight {
  color: var(--hatchery-s-heading);
}
.hatchery-meta > a, .hatchery-meta > span {
  color: var(--hatchery-s-heading);
}
/* === Alignment === */
.align-left {
  text-align: left;
}
.align-center {
  text-align: center;
}
.align-right {
  text-align: right;
}
.align-center img {
  margin-left: auto;
  margin-right: auto;
}
.align-right img {
  margin-left: auto;
}
/** ====================
    03. FORMS AND FIELDS
    ==================== */
label {
  transition: opacity 0.2s;
  display: block;
  margin-bottom: 8px;
}
label.in-focus {
  opacity: 1;
}
input, textarea {
  width: 100%;
  display: block;
  font-family: var(--hatchery-t-content-ff);
  font-weight: var(--hatchery-t-content-fw);
  font-size: var(--hatchery-t-input-fs);
  line-height: 1em;
  letter-spacing: var(--hatchery-t-content-ls);
  border: 1px solid var(--hatchery-s-border);
  border-radius: var(--hatchery-input-br);
  background: var(--hatchery-s-container-bg);
  padding: var(--hatchery-input-spacing);
  color: var(--hatchery-s-text);
  transition: color 0.3s, border-color 0.3s, box-shadow 0.3s;
  box-shadow: 0 0 8px transparent;
}
input:focus, textarea:focus {
  border-color: var(--hatchery-s-accent);
  color: var(--hatchery-s-heading);
  box-shadow: 0 8px 16px var(--hatchery-s-box-shadow);
}
input:not(:last-child), textarea:not(:last-child) {
  margin-bottom: var(--hatchery-input-gap);
}
textarea {
  line-height: var(--hatchery-t-input-lh);
  height: 191px;
  resize: vertical;
}
input[type="button"], input[type="reset"], input[type="submit"], button:not([class*='pswp']), a.hatchery-button {
  font-family: var(--hatchery-t-content-ff);
  font-weight: var(--hatchery-t-content-fw);
  font-size: var(--hatchery-t-button-fs);
  line-height: 1;
  padding: var(--hatchery-button-spacing);
  display: inline-block;
  color: var(--hatchery-s-accented-text);
  background: var(--hatchery-s-accent);
  border-radius: var(--hatchery-button-br);
  border: 1px solid var(--hatchery-s-border-accent);
  transition: background-color 0.3s;
  cursor: pointer;
}
a.hatchery-button.is-secondary, .hatchery-square-button.is-secondary {
  background: transparent;
  transition: background-color 0.3s, border-color 0.3s;
  border-color: var(--hatchery-s-heading);
}
input[type="button"].is-fullwidth, input[type="reset"].is-fullwidth, input[type="submit"].is-fullwidth, button.is-fullwidth, .hatchery-button.is-fullwidth {
  width: 100%;
  display: block;
  text-align: center;
}
/* === Contact Form === */
form.hatchery-contact-form {
  box-shadow: 0 8px 16px var(--hatchery-s-box-shadow);
  width: 100%;
  transition: transform 0.3s;
  will-change: transform;
}
.hatchery-form-content {
  transition: opacity 0.3s;
}
form.hatchery-contact-form.is-busy .hatchery-form-content {
  opacity: 0.5;
}
.hatchery-contact-form:not(.is-short) [type="submit"] {
  margin-bottom: 0;
  width: 100%;
}
.hatchery-form-spinner {
  width: 48px;
  height: 48px;
  border: 2px solid var(--hatchery-s-border-mute);
  border-top-color: var(--hatchery-s-heading);
  border-radius: 50%;
  animation: sta_spin 1s infinite linear;
  pointer-events: none;
  position: absolute;
  z-index: 15;
  top: calc(50% - 24px);
  left: calc(50% - 24px);
  display: block;
  will-change: transform, opacity;
  opacity: 0;
  transition: opacity 0.3s;
}
.hatchery-contact-form.is-busy .hatchery-form-spinner {
  opacity: 1;
}
.hatchery-contact-form.is-busy {
  transform: scale(0.95);
  pointer-events: none;
}
.hatchery-contact-form.is-error {
  animation: sta_shake 0.3s linear;
}
.hatchery-contact-form__response {
  padding-top: var(--stg-gap);
  text-align: center;
  position: static;
  font-size: var(--hatchery-t-meta-fs);
  font-weight: var(--hatchery-t-meta-fw);
  letter-spacing: var(--hatchery-t-meta-ls);
  color: var(--hatchery-s-heading);
  text-transform: uppercase;
  width: 100%;
  display: none;
}
.is-short .hatchery-contact-form__response {
  position: absolute;
  top: 100%;
  left: 0;
}
.hatchery-masked-cta .hatchery-contact-form__response {
  top: auto;
  left: var(--stg-large-gap);
  bottom: calc(0.5 * (var(--stg-large-gap) - var(--hatchery-t-content-lh)));
}
/** ==========
    04. HEADER
    ========== */
#hatchery-header {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 111;
  background: var(--hatchery-s-nav);
}
#hatchery-header.is-sticky {
  position: fixed;
}
#hatchery-header.is-frosted {
  -webkit-backdrop-filter: saturate(150%) blur(12px);
  backdrop-filter: saturate(150%) blur(12px);
}
#hatchery-header::after {
  content: '';
  width: 100%;
  height: 1px;
  display: block;
  background: var(--hatchery-c-border-gradient);
  position: absolute;
  bottom: 0;
  left: 0;
}
#hatchery-header::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(0deg, transparent 25%, var(--hatchery-s-body-bg) 100%);
  display: block;
}
.no-header-border #hatchery-header::after {
  display: none;
}
.hatchery-header-inner {
  padding: var(--hatchery-header-spacing) 0;
  min-height: 44px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: var(--stg-container-width);
  margin: 0 auto;
  position: relative;
  z-index: 5;
}
.hatchery-mobile-header-inner {
  display: none;
}
/* === Main Menu === */
.hatchery-active-menu-ind {
  position: absolute;
  width: calc(var(--active-width) - 0.5 * var(--hatchery-menu-gap));
  height: 2px;
  background-color: var(--hatchery-c-menu-active);
  border-radius: 1px;
  left: calc(var(--active-left) + 0.25 * var(--hatchery-menu-gap));
  bottom: 0;
  z-index: 2;
}
.hatchery-active-menu-ind::before {
  content: '';
  height: var(--st-header-height);
  width: 200%;
  background: radial-gradient(ellipse at center bottom, var(--hatchery-c-menu-active) 10%, transparent 60%) no-repeat bottom center;
  display: block;
  position: absolute;
  bottom: 100%;
  left: -50%;
  opacity: 0.1;
}
nav.hatchery-nav ul.main-menu {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: calc(0.5 * var(--hatchery-menu-gap));
  --stea-move: var(--stg-small-gap);
}
ul.main-menu li {
  list-style: none;
  margin: 0;
  padding: 0;
  font-family: var(--hatchery-t-menu-ff);
  font-weight: var(--hatchery-t-menu-fw);
  font-size: var(--hatchery-t-menu-fs);
  line-height: var(--hatchery-t-menu-lh);
  position: relative;
}
ul.sub-menu li {
  font-family: var(--hatchery-t-submenu-ff);
  font-weight: var(--hatchery-t-submenu-fw);
  font-size: var(--hatchery-t-submenu-fs);
  line-height: var(--hatchery-t-submenu-lh);
}
ul.main-menu li.hatchery-menu-divider {
  position: relative;
  padding: 12px 0;
  height: 1px;
  pointer-events: none;
}
ul.main-menu li.hatchery-menu-divider::after {
  content: '';
  width: 100%;
  height: 1px;
  display: block;
  background: var(--hatchery-c-border-gradient);
  position: absolute;
  left: 0;
  top: 12px;
  opacity: 0.5;
}
nav.hatchery-nav ul.main-menu > li > a {
  padding: calc(0.25 * var(--hatchery-menu-gap));
}
ul.main-menu a {
  color: var(--hatchery-c-menu);
  display: block;
  transition: color 0.3s;
}
ul.main-menu li.current-menu-parent > a, ul.main-menu li.current-menu-item > a, ul.main-menu li.current-menu-ancestor > a {
  color: var(--hatchery-c-menu-active);
  font-weight: var(--hatchery-t-heading-fw);
}
#hatchery-header ul.sub-menu > li.current-menu-item a::after, #hatchery-header ul.sub-menu > li.current-menu-parent a::after {
  content: '';
  position: absolute;
  width: 2px;
  height: calc(100% - 16px);
  left: -8px;
  top: 8px;
  background: var(--hatchery-c-menu-active);
  border-radius: 1px;
}
ul.main-menu li.menu-item-has-children > a::after {
  content: '';
  width: var(--hatchery-t-menu-fs);
  height: var(--hatchery-t-menu-fs);
  background: var(--hatchery-c-menu);
  transition: background-color 0.3s;
  display: inline-block;
  margin-left: 8px;
  vertical-align: middle;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-position: center;
  -webkit-mask-image: var(--icon-chevron-down);
  mask-image: var(--icon-chevron-down);
  transform: scale(1.5) translateY(-1px);
}
ul.main-menu li.menu-item-has-children.current-menu-parent > a::after, ul.main-menu li.menu-item-has-children.current-menu-item > a::after, ul.main-menu li.menu-item-has-children.current-menu-ancestor > a::after {
  background-color: var(--hatchery-c-menu-active);
}
/* Sub-Menu */
nav.hatchery-nav ul.sub-menu {
  display: block;
  position: absolute;
  top: 100%;
  left: -16px;
  width: var(--hatchery-sub-menu-width);
  background: var(--hatchery-s-container-bg) radial-gradient(circle at center bottom, var(--hatchery-s-backlight) 0%, transparent) no-repeat;
  z-index: 222;
  border-radius: var(--hatchery-small-br);
  padding: 8px;
  transition: opacity 0.2s, transform 0.2s;
  will-change: opacity, transform;
  pointer-events: none;
  opacity: 0;
  transform: scale(1, 0);
  transform-origin: 50% 0%;
}
nav.hatchery-nav ul.sub-menu ul.sub-menu {
  top: -8px;
  left: calc(100% + 16px);
  z-index: 223;
  transform: scale(0, 1);
  transform-origin: 0% 50%;
}
nav.hatchery-nav ul.sub-menu::before, nav.hatchery-nav ul.sub-menu ul.sub-menu::after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  user-select: none;
}
nav.hatchery-nav ul.sub-menu::before {
  right: 0;
  bottom: 0;
  inset: 0px;
  padding: 1px;
  background: linear-gradient(0deg, var(--hatchery-s-border), var(--hatchery-s-backlight));
  mask: var(--hatchery-border-mask);
  -webkit-mask: var(--hatchery-border-mask);
  border-radius: var(--hatchery-small-br);
  mask-composite: exclude;
  -webkit-mask-composite: xor;
}
nav.hatchery-nav ul.sub-menu ul.sub-menu::after {
  width: 32px;
  height: 100%;
  top: 0;
  left: -24px;
  background: transparent;
}
nav.hatchery-nav ul.sub-menu li {
  position: relative;
  z-index: 3;
}
nav.hatchery-nav ul.sub-menu li::before {
  content: '';
  background: var(--hatchery-s-backlight);
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  border-radius: var(--hatchery-xs-br);
  transition: opacity 0.3s;
  will-change: opacity;
  opacity: 0;
}
nav.hatchery-nav ul.sub-menu li a {
  padding: 12px;
  position: relative;
  z-index: 4;
}
nav.hatchery-nav ul.sub-menu li.menu-item-has-children > a::after {
  position: absolute;
  right: 8px;
  top: calc(50% - calc(0.5 * var(--hatchery-t-menu-fs)));
  mask-image: var(--icon-menu-chevron);
  -webkit-mask-image: var(--icon-menu-chevron);
  transform: scale(1.5) translateX(0px);
}
/* Show Sub-Menu Event */
nav.hatchery-nav li.menu-item-has-children:hover > ul.sub-menu {
  opacity: 1;
  transform: scale(1);
  pointer-events: all;
}
/* Mobile Menu Container */
.hatchery-mobile-nav {
  position: fixed;
  right: 0;
  top: var(--st-header-height);
  width: 100%;
  height: calc(100% - var(--st-header-height));
  max-width: 390px;
  z-index: 88;
  background: var(--hatchery-s-nav);
  contain: paint;
  overflow-y: scroll;
  scrollbar-width: none;
  pointer-events: none;
  transform: translateX(100%);
  transition: transform 0.3s;
  will-change: transform;
  display: none;
}
.hatchery-mobile-nav.is-frosted {
  -webkit-backdrop-filter: saturate(150%) blur(12px);
  backdrop-filter: saturate(150%) blur(12px);
}
/** ==================
    05. MAIN CONTAINER
    ================== */
main#hatchery-main {
  position: relative;
  z-index: 5;
  contain: paint;
  padding-top: var(--st-header-height);
  transition: opacity 0.5s;
  will-change: opacity;
}
body:not(.is-loaded) main#hatchery-main {
  opacity: 0;
}
body.hatchery-fullscreen-page main#hatchery-main {
  transition: opacity 0.5s, transform 0.8s;
  will-change: transform, opacity;
}
body.hatchery-fullscreen-page:not(.is-loaded) main#hatchery-main {
  transform: scale(1.05);
}
#hatchery-main.hatchery-min-content {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  padding: 0 0 var(--st-footer-height) 0;
  min-height: calc(100svh - var(--st-footer-height));
}
body.hatchery-fullscreen-page main#hatchery-main {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  width: 100%;
  height: 100svh;
  padding-top: 0;
}
section {
  padding: var(--hatchery-section-gap) 0;
  position: relative;
}
section > div {
  position: relative;
  z-index: 5;
}
section[data-padding="none"] {
  padding-top: 0;
  padding-bottom: 0;
}
section[data-padding="top"] {
  padding-bottom: 0;
}
section[data-padding="bottom"] {
  padding-top: 0;
}
section[data-padding="small"] {
  padding: calc(0.5 * var(--hatchery-section-gap)) 0;
}
section.is-fullwidth {
  max-width: 100svw;
  --hatchery-fw-spacing: calc(0.5 * (100vw - var(--stg-container-width)));
  margin-left: calc(-1 * var(--hatchery-fw-spacing));
  margin-right: calc(-1 * var(--hatchery-fw-spacing));
  padding-left: var(--hatchery-fw-spacing);
  padding-right: var(--hatchery-fw-spacing);
}
section.is-fullwidth.is-stretched {
  padding-left: 0;
  padding-right: 0;
}
section.is-fullwidth.is-stretched > .is-boxed {
  --hatchery-fw-spacing: calc(0.5 * (100vw - var(--stg-container-width)));
  padding-left: var(--hatchery-fw-spacing);
  padding-right: var(--hatchery-fw-spacing);
}
section.backlight-top::before, section.backlight-bottom::after, section.backlight-both::before, section.backlight-both::after, section.divider-both::before, section.divider-both::after, section.divider-top::before, section.divider-bottom::after {
  content: '';
  position: absolute;
  z-index: 1;
  left: calc(-0.5 * (100vw - var(--stg-container-width)));
  pointer-events: none;
}
.stg-container.is-fullwidth section.backlight-top::before, .stg-container.is-fullwidth section.backlight-bottom::after, .stg-container.is-fullwidth section.backlight-both::before, .stg-container.is-fullwidth section.backlight-both::after, .stg-container.is-fullwidth section.divider-both::before, .stg-container.is-fullwidth section.divider-both::after, .stg-container.is-fullwidth section.divider-top::before, .stg-container.is-fullwidth section.divider-bottom::after, section.is-fullwidth.backlight-top::before, section.is-fullwidth.backlight-bottom::after, section.is-fullwidth.backlight-both::before, section.is-fullwidth.backlight-both::after, section.is-fullwidth.divider-both::before, section.is-fullwidth.divider-both::after, section.is-fullwidth.divider-top::before, section.is-fullwidth.divider-bottom::after {
  left: 0;
}
section.backlight-top::before, section.backlight-bottom::after, section.backlight-both::before, section.backlight-both::after {
  width: 100vw;
  height: 50vw;
}
section.backlight-top::before, section.backlight-both::before {
  background: radial-gradient(100vw circle at 50vw 0%, var(--hatchery-s-backlight), transparent 50%);
}
section.backlight-bottom::after, section.backlight-both::after {
  background: radial-gradient(100vw circle at 50vw 100%, var(--hatchery-s-backlight), transparent 50%);
}
section.backlight-top::before, section.backlight-both::before {
  top: 0;
}
section.backlight-bottom::after, section.backlight-both::after {
  bottom: 0;
}
section.divider-both::before, section.divider-both::after, section.divider-top::before, section.divider-bottom::after {
  width: 100vw;
  height: 1px;
  display: block;
  background: var(--hatchery-c-border-gradient);
}
section.divider-both::before, section.divider-top::before {
  top: 0;
}
section.divider-both::after, section.divider-bottom::after {
  bottom: 0;
}
section.backlight-top:last-child::before {
  height: 100%;
}
/* Mouse Cursor Backlight */
.hatchery-backlight {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: radial-gradient(50vw circle at var(--mouse-x) var(--mouse-y), var(--hatchery-s-cursor-light), transparent 50%);
  opacity: 0.75;
  z-index: 1;
}
/** ==========
    06. FOOTER
    ========== */
#hatchery-footer {
  position: relative;
  z-index: 22;
}
#hatchery-footer.is-sticky, .hatchery-fullscreen-page #hatchery-footer {
  position: fixed;
  width: 100%;
  bottom: 0;
  left: 0;
  background: var(--hatchery-s-nav);
}
#hatchery-footer.is-frosted, .hatchery-fullscreen-page #hatchery-footer.is-frosted {
  -webkit-backdrop-filter: saturate(150%) blur(12px);
  backdrop-filter: saturate(150%) blur(12px);
}
#hatchery-footer a {
  color: var(--hatchery-s-heading);
}
/* === Footer Widgets === */
.hatchery-footer-line::before, .hatchery-footer-widgets::before {
  content: '';
  width: 100%;
  height: 1px;
  display: block;
  background: var(--hatchery-c-border-gradient);
  position: absolute;
  top: 0;
  left: 0;
}
.hatchery-footer-widgets::before {
  opacity: 0.5;
}
.hatchery-footer-widgets {
  padding: var(--stg-large-gap) 0;
  position: relative;
}
.hatchery-footer-widgets::after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  background: var(--hatchery-s-backlight) radial-gradient(100vw circle at 50vw 35vw, var(--hatchery-s-backlight), transparent 50%);
  opacity: 0.5;
  pointer-events: none;
}
.hatchery-footer-widgets .stg-container {
  position: relative;
  z-index: 3;
}
.hatchery-footer-widgets h6 {
  margin-bottom: var(--stg-gap);
}
.hatchery-widget ul {
  margin: 0;
  padding: 0;
}
.hatchery-widget ul li {
  padding: 0;
  margin: 0;
  list-style: none;
}
/* Widget: Info */
.hatchery-info-widget {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
}
.hatchery-info-widget .hatchery-logo {
  margin: 0 0 var(--stg-gap) 0;
}
.hatchery-info-description {
  margin-bottom: 28px;
}
.hatchery-info-widget .hatchery-label {
  margin-bottom: var(--stg-xs-gap);
  color: var(--hatchery-s-heading);
}
/* Widget: Contacts */
.hatchery-contacts-widget ul li:not(:last-child) {
  margin-bottom: 16px;
}
.hatchery-contacts-widget .hatchery-label {
  display: block;
}
/* Widget: Menu */
.hatchery-menu-widget ul li {
  margin: 0 -8px;
  position: relative;
}
.hatchery-menu-widget a {
  display: block;
  padding: 8px;
  position: relative;
  z-index: 3;
  opacity: 0.7;
  transition: opacity 0.3s;
}
.hatchery-menu-widget ul {
  margin: -8px 0;
}
.hatchery-menu-widget ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  border-radius: var(--hatchery-xs-br);
  background: var(--hatchery-s-backlight);
  z-index: 1;
  opacity: 0;
  transform-origin: 0 50%;
  will-change: opacity;
  transition: opacity 0.2s;
}
/* === Footer Line === */
.no-footer-border .hatchery-footer-line::before {
  display: none;
}
.hatchery-footer-line {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--stg-gap) 0;
  position: relative;
  font-size: var(--hatchery-t-footer-fs);
  line-height: var(--hatchery-t-footer-lh);
}
.hatchery-footer-line:has(.align-center) {
  justify-content: center;
}
.hatchery-footer-divider {
  margin: 0 8px;
}
/* === Socials List === */
ul.hatchery-socials-list {
  display: flex;
  gap: var(--hatchery-socials-gap);
}
ul.hatchery-socials-list.stg-xs-gap {
  gap: var(--stg-xs-gap);
}
ul.hatchery-socials-list.stg-small-gap {
  gap: var(--stg-small-gap);
}
ul.hatchery-socials-list.stg-large-gap {
  gap: var(--stg-large-gap);
}
ul.hatchery-socials-list.stg-xl-gap {
  gap: var(--stg-xl-gap);
}
.hatchery-footer-line ul.hatchery-socials-list {
  margin: -8px 0;
}
.hatchery-socials-list li {
  list-style: none;
  padding: 0;
  display: block;
}
.hatchery-socials-list a {
  position: relative;
  width: calc(var(--hatchery-socials-size) + 24px);
  height: calc(var(--hatchery-socials-size) + 24px);
  padding: 8px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: var(--hatchery-xs-br);
  transition: transform 0.1s, background-color 0.3s;
  will-change: transform;
}
.hatchery-socials-list a::before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  right: 0;
  top: 0;
  border-radius: inherit;
  border: 1px solid var(--hatchery-s-heading);
  transition: opacity 0.3s;
  will-change: opacity;
}
.hatchery-socials-list i {
  width: var(--hatchery-socials-size);
  height: var(--hatchery-socials-size);
  background-color: var(--hatchery-s-heading);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-position: center;
  display: block;
  z-index: 3;
  transition: background-color 0.3s;
}
.hatchery-socials-500px i {
  -webkit-mask-image: var(--icon-social-500px);
  mask-image: var(--icon-social-500px);
}
.hatchery-socials-behance i {
  -webkit-mask-image: var(--icon-social-behance);
  mask-image: var(--icon-social-behance);
}
.hatchery-socials-dribbble i {
  -webkit-mask-image: var(--icon-social-dribbble);
  mask-image: var(--icon-social-dribbble);
}
.hatchery-socials-facebook i {
  -webkit-mask-image: var(--icon-social-facebook);
  mask-image: var(--icon-social-facebook);
}
.hatchery-socials-flickr i {
  -webkit-mask-image: var(--icon-social-flickr);
  mask-image: var(--icon-social-flickr);
}
.hatchery-socials-instagram i {
  -webkit-mask-image: var(--icon-social-instagram);
  mask-image: var(--icon-social-instagram);
}
.hatchery-socials-linkedin i {
  -webkit-mask-image: var(--icon-social-linkedin);
  mask-image: var(--icon-social-linkedin);
}
.hatchery-socials-patreon i {
  -webkit-mask-image: var(--icon-social-patreon);
  mask-image: var(--icon-social-patreon);
}
.hatchery-socials-pinterest i {
  -webkit-mask-image: var(--icon-social-pinterest);
  mask-image: var(--icon-social-pinterest);
}
.hatchery-socials-tiktok i {
  -webkit-mask-image: var(--icon-social-tiktok);
  mask-image: var(--icon-social-tiktok);
}
.hatchery-socials-tumblr i {
  -webkit-mask-image: var(--icon-social-tumblr);
  mask-image: var(--icon-social-tumblr);
}
.hatchery-socials-vimeo i {
  -webkit-mask-image: var(--icon-social-vimeo);
  mask-image: var(--icon-social-vimeo);
}
.hatchery-socials-x i {
  -webkit-mask-image: var(--icon-social-x);
  mask-image: var(--icon-social-x);
}
.hatchery-socials-xing i {
  -webkit-mask-image: var(--icon-social-xing);
  mask-image: var(--icon-social-xing);
}
.hatchery-socials-youtube i {
  -webkit-mask-image: var(--icon-social-youtube);
  mask-image: var(--icon-social-youtube);
}
/* Framed Socials */
.hatchery-socials-list.hatchery-framed-socials {
  flex-wrap: wrap;
  gap: var(--stg-small-gap);
}
/** =================
    07. HERO SECTIONS
    ================= */
.hatchery-hero-block .hatchery-page-title {
  margin-bottom: 0;
}
/* Info Line */
.hatchery-hero-info-line {
  display: flex;
  justify-content: space-between;
  --stea-move: var(--stg-gap);
}
.hatchery-hero-info-line .hatchery-meta {
  margin: 0;
}
.hatchery-hero-info-line > div {
  width: 33.33%;
}
.hatchery-hero-info-line > div:nth-child(2) {
  text-align: center;
}
.hatchery-hero-info-line > div:nth-child(3) {
  text-align: right;
}
/* === Layout 01 === */
.hatchery-hero-type01 .hatchery-masked-block {
  --masked-inner-radius: var(--hatchery-large-br);
}
.hatchery-hero-type01 .hatchery-masked-content {
  width: 128px;
  height: 128px;
  position: absolute;
  bottom: 0;
  right: 0;
}
.hatchery-hero-type01 .hatchery-masked-content a.hatchery-square-button {
  width: 112px;
  height: 112px;
  border-radius: var(--hatchery-default-br);
}
.hatchery-hero-type01 .hatchery-masked-content a span {
  width: 32px;
  height: 32px;
}
/* Social Proof */
.hatchery-hero-type01 .hatchery-hero-social-proof {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  padding-top: var(--stg-small-gap);
}
.hatchery-hero-type01 .hatchery-hero-social-proof > div {
  display: flex;
  justify-content: flex-end;
  margin-right: -4px;
  margin-bottom: 20px;
}
.hatchery-hero-type01 .hatchery-hero-social-proof p {
  text-align: right;
  text-transform: uppercase;
  color: var(--hatchery-s-heading);
  max-width: 110px;
}
.hatchery-hero-type01 .hatchery-hero-social-proof img, .hatchery-hero-type01 .hatchery-hero-social-proof a {
  display: flex;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  margin-left: -32px;
  border: 4px solid var(--hatchery-s-body-bg);
}
.hatchery-hero-type01 .hatchery-hero-social-proof a {
  justify-content: center;
  align-items: center;
  text-align: center;
  color: var(--hatchery-s-accented-text);
  background: var(--hatchery-s-accent);
}
/* === Layout 02 === */
.hatchery-hero-type02 .hatchery-page-title {
  padding-right: var(--stg-gap);
  margin-bottom: var(--stg-large-gap);
  padding-bottom: 0;
}
.stg-row.hatchery-hero02-row {
  padding-bottom: var(--stg-large-gap);
  width: calc(var(--stg-container-width) + var(--stg-gap));
}
/* === Layout 03 === */
.hatchery-hero-type03 .hatchery-hero-title-wrap {
  display: flex;
  width: 100%;
  justify-content: space-between;
  margin-bottom: var(--stg-gap);
}
.hatchery-hero-type03 .hatchery-hero-title-wrap h1 {
  max-width: 70%;
  margin-bottom: 0;
}
.hatchery-hero-type03 .hatchery-hero-title-wrap > div {
  max-width: 25%;
  height: auto;
  border-radius: var(--hatchery-default-br);
}
.hatchery-hero-type03 .hatchery-hero-media {
  aspect-ratio: 2/1;
}
.hatchery-hero-type03 .hatchery-hero-media video, .hatchery-hero-type03 .hatchery-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.hatchery-hero-type03 .hatchery-hero-media-content {
  max-width: 25%;
  width: max-content;
  text-align: right;
}
.hatchery-hero-type03 .hatchery-hero-media-content-inner {
  padding: 0 0 calc(var(--stg-small-gap) + 4px) var(--stg-small-gap);
}
.hatchery-hero-type03 svg {
  position: absolute;
  pointer-events: none;
  left: 0;
  top: 0;
  opacity: 0;
}
.hatchery-hero-type03 .hatchery-tags-list {
  position: absolute;
  left: var(--stg-small-gap);
  bottom: var(--stg-small-gap);
  max-width: 33%;
}
.hatchery-tags-list li[data-appear] {
  --stea-move: var(--stg-small-gap);
}
/* === Layout 04 === */
.hatchery-hero-type04 .hatchery-large-text {
  max-width: 50%;
  margin: 0 auto;
}
.hatchery-hero-type04 .hatchery-hero-info-line {
  margin-bottom: var(--stg-gap);
}
/* === Layout 05 === */
.hatchery-hero-type05 .hatchery-title-block {
  aspect-ratio: 1/1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: var(--stg-gap);
  border-radius: var(--hatchery-default-br);
}
.hatchery-hero-type05 .hatchery-title-block .hatchery-large-text {
  max-width: 425px;
}
.hatchery-hero-type05 .hatchery-hero-media-wrap {
  position: relative;
  border-radius: var(--hatchery-default-br);
}
.hatchery-hero-type05 .hatchery-hero-media-wrap img {
  position: absolute;
  width: calc(100% - 2 * var(--stg-large-gap));
  height: auto;
  top: var(--stg-large-gap);
  left: var(--stg-large-gap);
  display: block;
  box-shadow: 0 8px 16px var(--hatchery-s-box-shadow);
}
.hatchery-hero-type05 .hatchery-square-button {
  width: 100%;
  height: 100%;
  display: flex;
  border-radius: var(--hatchery-default-br);
}
.hatchery-hero-type05 a.hatchery-square-button span.hatchery-icon {
  width: 64px;
  height: 64px;
}
/* === Layout 06 === */
.hatchery-hero-type06 .is-large .hatchery-bento-hero-media p {
  max-width: 320px;
}
.hatchery-bento-hero-media {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  padding: var(--stg-gap);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-radius: inherit;
}
.hatchery-bento-hero-media .hatchery-page-title, .hatchery-bento-hero-media .hatchery-highlight {
  color: var(--hatchery-s-accented-text);
}
.hatchery-hero-type06 .hatchery-masked-block {
  --masked-inner-radius: var(--hatchery-large-br);
}
.hatchery-hero-type06 .hatchery-masked-content.at-bottom-right {
  width: 128px;
  height: 128px;
}
.hatchery-hero-type06 .hatchery-masked-content.at-bottom-right a.hatchery-square-button {
  margin: calc(1.5 * var(--stg-small-gap)) 0 0 calc(1.5 * var(--stg-small-gap));
}
.hatchery-hero-type06 .hatchery-square-button {
  width: calc(100% - 1.5 * var(--stg-small-gap));
  height: calc(100% - 1.5 * var(--stg-small-gap));
  border-radius: var(--hatchery-default-br);
}
.hatchery-hero-type06 .hatchery-square-button span.hatchery-icon {
  width: 32px;
  height: 32px;
}
/* === Layout 07 === */
.hatchery-hero-type07 .hatchery-hero-info-line {
  margin: var(--stg-gap) 0 var(--stg-large-gap) 0;
}
/* Social Proof */
.hatchery-hero-type07 .hatchery-hero-social-proof {
  margin-top: calc(-1 * var(--stg-xs-gap));
}
.hatchery-hero-type07 .hatchery-hero-social-proof > div {
  display: flex;
  justify-content: flex-end;
  gap: var(--stg-xs-gap);
}
.hatchery-hero-type07 .hatchery-hero-social-proof a, .hatchery-hero-type07 .hatchery-hero-social-proof img {
  width: 128px;
  height: 128px;
  display: block;
  border-radius: var(--hatchery-small-br);
}
.hatchery-hero-type07 .hatchery-hero-social-proof a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.hatchery-hero-type07 .hatchery-hero-social-proof a span {
  font-size: var(--hatchery-t-meta-fs);
  font-weight: var(--hatchery-t-meta-fw);
  letter-spacing: var(--hatchery-t-meta-ls);
  color: var(--hatchery-s-accented-text);
  text-transform: uppercase;
  display: block;
  height: auto;
  width: 100%;
}
.hatchery-hero-type07 .hatchery-hero-social-proof a h5 {
  margin: 0 0 4px 0;
  color: var(--hatchery-s-accented-text);
}
/* === Layout 08 === */
.hatchery-hero-form {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: var(--stg-small-gap);
  width: 100%;
  padding-bottom: var(--stg-xs-gap);
}
.hatchery-hero-form input {
  width: 100%;
}
.hatchery-hero-form button {
  padding-right: var(--stg-gap);
  padding-left: var(--stg-gap);
}
.hatchery-hero-form input, .hatchery-hero-form button {
  margin: 0;
}
.hatchery-hero-form button .hatchery-icon {
  background: var(--hatchery-s-accented-text);
}
.hatchery-partners span {
  display: block;
}
.hatchery-partners .hatchery-block {
  padding: 0;
  border-radius: var(--hatchery-xs-br);
}
/** ======================
    08. SCROLLING ELEMENTS
    ====================== */
.st-expandable-wrap {
  overflow: hidden;
}
/* === Smooth Scroll === */
.stss-wrap {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 4;
  overflow: hidden;
}
.stss-wrap.is-ready {
  position: fixed;
}
.stss-container {
  width: 100%;
  min-height: 100%;
  height: auto;
  will-change: transform;
}
/* === Mask Fill Text === */
.hatchery-text-fill-mask {
  background: linear-gradient(var(--hatchery-s-heading), var(--hatchery-s-heading)) left top no-repeat;
  -webkit-background-clip: text;
  -webkit-text-fill-color: var(--hatchery-s-heading-fade);
}
/* === Expanded Section === */
.hatchery-expand-on-scroll {
  --st-eos-init-scale: 1.25;
  --st-eos-init-clip: 0.5;
  --st-eos-br: var(--hatchery-default-br);
  transform-origin: 50% 0;
}
.hatchery-expand-on-scroll img, .hatchery-expand-on-scroll video {
  border-radius: 0;
}
.hatchery-expand-on-scroll > * {
  width: 100%;
  height: auto;
  display: block;
}
.hatchery-expand-on-scroll iframe {
  aspect-ratio: 16/9;
}
/** ============
    09. ELEMENTS
    ============ */
[class*='hatchery-grid'] {
  display: grid;
  grid-column-gap: var(--stg-gap);
  grid-row-gap: var(--stg-gap);
}
.hatchery-grid-1col {
  grid-template-columns: repeat(1, 1fr);
}
.hatchery-grid-2cols {
  grid-template-columns: repeat(2, 1fr);
}
.hatchery-grid-3cols {
  grid-template-columns: repeat(3, 1fr);
}
.hatchery-grid-4cols {
  grid-template-columns: repeat(4, 1fr);
}
.hatchery-grid-5cols {
  grid-template-columns: repeat(5, 1fr);
}
.hatchery-grid-6cols {
  grid-template-columns: repeat(6, 1fr);
}
.hatchery-subgrid-item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
}
/* === Lazy Loader === */
.st-lazy-wrapper {
  position: relative;
  display: block;
  border-radius: inherit;
}
.st-lazy-wrapper:has(img[data-speed]) {
  border-radius: var(--hatchery-default-br);
}
.st-lazy-wrapper::before, .st-lazy-wrapper::after {
  content: '';
  position: absolute;
  display: block;
  transition: opacity 0.3s;
  will-change: opacity;
  transition-delay: 0.05s;
}
.st-lazy-wrapper::before {
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: var(--hatchery-s-container-bg);
  z-index: 4;
  border-radius: var(--hatchery-default-br);
}
.st-lazy-wrapper.is-loaded::before {
  opacity: 0;
}
.st-lazy-wrapper::after {
  z-index: 5;
  width: 40px;
  height: 40px;
  border: 2px solid var(--hatchery-s-border);
  border-top-color: var(--hatchery-s-heading);
  animation: sta_spin 1s linear infinite;
  border-radius: 50%;
  left: calc(50% - 22px);
  top: calc(50% - 22px);
}
.st-lazy-wrapper.is-loaded::after {
  opacity: 0;
}
.st-lazy-wrapper.stop-anim::after {
  opacity: 0;
  animation: unset;
}
/* === Masked Block === */
.hatchery-masked-block {
  position: relative;
  --masked-border-radius: var(--hatchery-default-br);
}
.hatchery-masked-content, .hatchery-masked-content.at-top-left {
  position: absolute;
  top: 0;
  left: 0;
  bottom: auto;
  right: auto;
}
.hatchery-masked-content.at-top-right {
  top: 0;
  left: auto;
  bottom: auto;
  right: 0;
}
.hatchery-masked-content.at-bottom-left {
  top: auto;
  left: 0;
  bottom: 0;
  right: auto;
}
.hatchery-masked-content.at-bottom-right {
  top: auto;
  left: auto;
  bottom: 0;
  right: 0;
}
.hatchery-masked-content.at-middle-right, .hatchery-masked-content.at-middle-left {
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
}
.hatchery-masked-content.at-middle-right {
  right: 0;
  left: auto;
}
.hatchery-masked-content.at-middle-left {
  left: 0;
  right: auto;
}
.hatchery-masked-content.at-top-center, .hatchery-masked-content.at-bottom-center {
  left: 50%;
  right: auto;
  transform: translateX(-50%);
}
.hatchery-masked-content.at-top-center {
  top: 0;
  bottom: auto;
}
.hatchery-masked-content.at-bottom-center {
  bottom: 0;
  top: auto;
}
/* Square Button */
.hatchery-masked-content .hatchery-square-button, .hatchery-masked-content.at-top-left .hatchery-square-button {
  margin: 0 var(--stg-small-gap) var(--stg-small-gap) 0;
}
.hatchery-masked-content.at-top-right .hatchery-square-button {
  margin: 0 0 var(--stg-small-gap) var(--stg-small-gap);
}
.hatchery-masked-content.at-bottom-left .hatchery-square-button {
  margin: var(--stg-small-gap) var(--stg-small-gap) 0 0;
}
.hatchery-masked-content.at-bottom-right .hatchery-square-button {
  margin: var(--stg-small-gap) 0 0 var(--stg-small-gap);
}
.hatchery-masked-content.at-top-center .hatchery-square-button {
  margin: 0 var(--stg-small-gap) var(--stg-small-gap) var(--stg-small-gap);
}
.hatchery-masked-content.at-bottom-center .hatchery-square-button {
  margin: var(--stg-small-gap) var(--stg-small-gap) 0 var(--stg-small-gap);
}
.hatchery-masked-content.at-middle-left .hatchery-square-button {
  margin: var(--stg-small-gap) var(--stg-small-gap) var(--stg-small-gap) 0;
}
.hatchery-masked-content.at-middle-right .hatchery-square-button {
  margin: var(--stg-small-gap) 0 var(--stg-small-gap) var(--stg-small-gap);
}
/* Content Padding */
.hatchery-masked-content > div, .hatchery-masked-content.at-top-left > div {
  padding: 0 var(--stg-small-gap) var(--stg-small-gap) 0;
}
.hatchery-masked-content.at-top-right > div {
  padding: 0 0 var(--stg-small-gap) var(--stg-small-gap);
}
.hatchery-masked-content.at-bottom-left > div {
  padding: var(--stg-small-gap) var(--stg-small-gap) 0 0;
}
.hatchery-masked-content.at-bottom-right > div {
  padding: var(--stg-small-gap) 0 0 var(--stg-small-gap);
}
.hatchery-masked-content.at-top-center > div {
  padding: 0 var(--stg-small-gap) var(--stg-small-gap) var(--stg-small-gap);
}
.hatchery-masked-content.at-bottom-center > div {
  padding: var(--stg-small-gap) var(--stg-small-gap) 0 var(--stg-small-gap);
}
.hatchery-masked-content.at-middle-left > div {
  padding: var(--stg-small-gap) var(--stg-small-gap) var(--stg-small-gap) 0;
}
.hatchery-masked-content.at-middle-right > div {
  padding: var(--stg-small-gap) 0 var(--stg-small-gap) var(--stg-small-gap);
}
/* === Icons === */
.hatchery-icon {
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-position: center;
  background: var(--hatchery-s-heading);
  display: block;
  width: 24px;
  height: 24px;
}
.hatchery-button .hatchery-icon, .hatchery-square-button:not(.is-secondary) .hatchery-icon, .is-accented .hatchery-icon {
  background: var(--hatchery-s-accented-text);
}
.hatchery-icon-explore {
  -webkit-mask-image: var(--icon-arrow-explore);
  mask-image: var(--icon-arrow-explore);
}
.hatchery-icon-arrow-down {
  -webkit-mask-image: var(--icon-arrow-down);
  mask-image: var(--icon-arrow-down);
}
.hatchery-icon-arrow-left {
  -webkit-mask-image: var(--icon-arrow-left);
  mask-image: var(--icon-arrow-left);
}
.hatchery-icon-arrow-right {
  -webkit-mask-image: var(--icon-arrow-right);
  mask-image: var(--icon-arrow-right);
}
.hatchery-icon-arrow-submit {
  -webkit-mask-image: var(--icon-arrow-submit);
  mask-image: var(--icon-arrow-submit);
}
.hatchery-icon-creativity {
  -webkit-mask-image: var(--icon-creativity);
  mask-image: var(--icon-creativity);
}
.hatchery-icon-collab {
  -webkit-mask-image: var(--icon-collab);
  mask-image: var(--icon-collab);
}
.hatchery-icon-impact {
  -webkit-mask-image: var(--icon-impact);
  mask-image: var(--icon-impact);
}
.hatchery-icon-innovation {
  -webkit-mask-image: var(--icon-innovation);
  mask-image: var(--icon-innovation);
}
.hatchery-icon-chevron-left {
  -webkit-mask-image: var(--icon-chevron-left);
  mask-image: var(--icon-chevron-left);
}
.hatchery-icon-chevron-right {
  -webkit-mask-image: var(--icon-chevron-right);
  mask-image: var(--icon-chevron-right);
}
/* === Block Item === */
.hatchery-block {
  border-radius: var(--hatchery-small-br);
  background-color: var(--hatchery-s-container-bg);
  padding: var(--stg-gap);
  padding-bottom: calc(var(--stg-gap) - 3px);
  position: relative;
  --mouse-x: 50%;
  --mouse-y: 0;
}
.hatchery-block.stg-valign-middle {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.hatchery-block.is-frosted {
  background: var(--hatchery-s-container-frosted);
  -webkit-backdrop-filter: saturate(150%) blur(12px);
  backdrop-filter: saturate(150%) blur(12px);
}
[class*='stg-col'].hatchery-block {
  border-radius: var(--hatchery-default-br);
}
.hatchery-block::before, .hatchery-block::after {
  content: '';
  border-radius: inherit;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
}
.hatchery-block::before {
  inset: 0px;
  padding: 1px;
  background: radial-gradient(800px circle at var(--mouse-x) var(--mouse-y), var(--hatchery-s-border-highlight), var(--hatchery-s-border-mute) 40%);
  mask: var(--hatchery-border-mask);
  -webkit-mask: var(--hatchery-border-mask);
  mask-composite: exclude;
  -webkit-mask-composite: xor;
  transition: opacity 0.4s;
  will-change: opacity;
  opacity: 0.75;
}
.hatchery-block.is-accented {
  background: var(--hatchery-s-accent) bottom right no-repeat;
  color: var(--hatchery-s-accented-text);
}
.is-accented p, .is-accented h1, .is-accented h2, .is-accented h3, .is-accented h4, .is-accented h5, .is-accented h6, .is-accented span, .is-accented .hatchery-counter-number, .is-accented p.hatchery-large-text {
  color: var(--hatchery-s-accented-text);
}
.hatchery-block.is-accented::before {
  background: radial-gradient(800px circle at var(--mouse-x) var(--mouse-y), var(--hatchery-s-text-accent), var(--hatchery-s-border-accent) 40%);
}
.hatchery-block::after {
  opacity: 0;
  transition: opacity 0.4s;
  will-change: opacity;
  width: 100%;
  background: radial-gradient(800px circle at var(--mouse-x) var(--mouse-y), var(--hatchery-s-backlight), transparent 40%);
  z-index: 5;
}
/* === Tags List === */
.hatchery-tags-list {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: var(--stg-xs-gap);
  padding: 0;
  margin: 0;
}
.hatchery-tags-list li {
  margin: 0;
  padding: 0;
  list-style: none;
  display: block;
}
.hatchery-tags-list li a {
  border-radius: var(--hatchery-xs-br);
  font-size: var(--hatchery-t-meta-fs);
  font-weight: var(--hatchery-t-meta-fw);
  letter-spacing: var(--hatchery-t-meta-ls);
  color: var(--hatchery-s-heading);
  text-transform: uppercase;
  padding: calc(0.75 * var(--stg-xs-gap)) calc(1.5 * var(--stg-xs-gap));
  background: var(--hatchery-s-nav);
  -webkit-backdrop-filter: saturate(150%) blur(12px);
  backdrop-filter: saturate(150%) blur(12px);
  display: block;
  border: 1px solid var(--hatchery-s-border);
  transition: background-color 0.3s, border-color 0.3s, color 0.3s;
}
/* === Link with Arrow === */
.hatchery-arrow-link, a.hatchery-arrow-link {
  display: inline-block;
  position: relative;
  font-size: var(--hatchery-t-meta-fs);
  font-weight: var(--hatchery-t-meta-fw);
  letter-spacing: var(--hatchery-t-meta-ls);
  color: var(--hatchery-s-heading);
  text-transform: uppercase;
  padding: 0 24px 2px 0;
  margin-top: -5px;
}
.hatchery-arrow-link::before, .hatchery-arrow-link::after {
  content: '';
  position: absolute;
  background: var(--hatchery-s-heading);
  transition: transform 0.3s;
}
.hatchery-arrow-link::before {
  width: calc(100% - 24px);
  height: 2px;
  bottom: 0;
  transform-origin: 0 50%;
}
.hatchery-arrow-link::after {
  content: '';
  width: 16px;
  height: 16px;
  background: var(--hatchery-s-heading);
  display: block;
  right: 0;
  top: 6px;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-position: center;
  -webkit-mask-image: var(--icon-arrow-explore);
  mask-image: var(--icon-arrow-explore);
  transform-origin: 0% 100%;
}
/* === Icon Link === */
.hatchery-icon-link {
  display: inline-flex;
  align-items: center;
  gap: 16px;
}
.hatchery-icon-link .hatchery-icon-link-content {
  transition: transform 0.3s;
  will-change: transform;
  margin-top: 4px;
  text-align: left;
}
.hatchery-icon-link .hatchery-icon-link-content:first-child {
  text-align: right;
}
.hatchery-icon-link h6 {
  margin: 0;
}
.hatchery-icon-link .hatchery-label {
  margin: 6px 0 0 0;
  display: block;
}
.hatchery-icon-link .hatchery-icon-wrap {
  width: 80px;
  height: 80px;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: background-color 0.3s;
  background-color: transparent;
  border-radius: var(--hatchery-small-br);
}
.hatchery-icon-wrap::before {
  content: '';
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  border: 2px solid var(--hatchery-s-heading);
  border-radius: inherit;
  position: absolute;
  display: block;
  transition: opacity 0.3s;
  will-change: opacity;
}
.hatchery-icon-link i {
  transition: transform 0.3s, background-color 0.3s;
}
/* === Square Button === */
.hatchery-square-button {
  aspect-ratio: 1/1;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  color: var(--hatchery-s-accented-text);
  background: var(--hatchery-s-accent);
  border-radius: var(--hatchery-small-br);
  border: 1px solid var(--hatchery-s-border-accent);
  transition: background-color 0.3s;
  cursor: pointer;
  width: 80px;
  height: 80px;
}
.hatchery-square-button span.hatchery-icon {
  width: 24px;
  height: 24px;
  transition: transform 0.2s, background-color 0.3s;
  will-change: transform;
}
/* === Price Card === */
.hatchery-price-card-item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  row-gap: var(--stg-large-gap);
  position: relative;
}
.hatchery-price {
  font-family: var(--hatchery-t-heading-ff);
  font-weight: var(--hatchery-t-heading-fw);
  color: var(--hatchery-s-heading);
  font-size: var(--hatchery-t-h3-fs);
  font-size: var(--hatchery-t-h3-fs);
  letter-spacing: var(--hatchery-t-h3-ls);
  line-height: var(--hatchery-t-h3-lh);
  margin: -10px 0 26px -3px;
}
/* === Marquee === */
.hatchery-marquee {
  background: var(--hatchery-s-accent);
  min-width: 100%;
  overflow: hidden;
  max-width: max-content;
}
.hatchery-marquee a, .hatchery-marquee p, .hatchery-marquee h1, .hatchery-marquee h2, .hatchery-marquee h3, .hatchery-marquee h4, .hatchery-marquee h5, .hatchery-marquee h6, .hatchery-marquee span {
  color: var(--hatchery-s-accented-text);
}
.hatchery-marquee-inner {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: nowrap;
  width: max-content;
  will-change: transform;
}
.hatchery-marquee.is-init .hatchery-marquee-inner {
  animation: marquee_scroll 5s infinite linear;
}
.hatchery-marquee-inner-wrap {
  display: flex;
  justify-content: flex-start;
  flex-wrap: nowrap;
  width: max-content;
}
.hatchery-marquee-list {
  padding: 0;
  margin: 0;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: nowrap;
  width: max-content;
}
.hatchery-marquee-list li {
  list-style: none;
  margin: 0;
  padding: 0;
  white-space: nowrap;
  display: flex;
  align-items: center;
}
.hatchery-marquee-list li::before {
  content: '';
  width: 8px;
  height: 8px;
  display: block;
  margin: var(--stg-large-gap);
  border-radius: 2px;
  outline: 4px solid var(--hatchery-s-accented-text);
  ;
  transform: translateY(-2px) rotate(45deg);
}
/* === Counter Block === */
.hatchery-counter {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  row-gap: var(--stg-small-gap);
  position: relative;
  text-align: center;
  padding: var(--stg-large-gap) var(--stg-small-gap);
}
.hatchery-counter-number {
  font-family: var(--hatchery-t-heading-ff);
  font-weight: var(--hatchery-t-heading-fw);
  font-size: var(--hatchery-t-h1-fs);
  letter-spacing: var(--hatchery-t-h1-ls);
  line-height: var(--hatchery-t-h1-lh);
  color: var(--hatchery-s-heading);
}
.hatchery-counter-number::before {
  content: attr(data-prefix);
}
.hatchery-counter-number::after {
  content: attr(data-suffix);
}
/* Small Style */
.hatchery-counter.hatchery-small-counter {
  padding: 0;
  text-align: left;
  row-gap: 2px;
}
.hatchery-small-counter .hatchery-counter-number {
  font-size: var(--hatchery-t-h3-fs);
  font-size: var(--hatchery-t-h3-fs);
  letter-spacing: var(--hatchery-t-h3-ls);
  line-height: var(--hatchery-t-h3-lh);
}
/* === Porftolio Grid Card === */
.hatchery-portfolio-card {
  padding: var(--stg-small-gap);
  border-radius: var(--hatchery-default-br);
}
.hatchery-portfolio-card-image {
  transition: transform 0.3s;
  will-change: transform;
  contain: paint;
  aspect-ratio: 1/1;
  border-radius: var(--hatchery-small-br);
}
.hatchery-portfolio-card-image .st-lazy-wrapper {
  border-radius: var(--hatchery-small-br);
}
.hatchery-portfolio-card-image img, .hatchery-portfolio-card-image video {
  border-radius: unset;
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.hatchery-portfolio-card-footer {
  display: flex;
  width: 100%;
  justify-content: space-between;
  align-items: center;
  padding: var(--stg-small-gap) 0 9px 0;
}
.hatchery-portfolio-card-title {
  min-height: 24px;
  align-self: flex-end;
}
.hatchery-portfolio-card-title h6 {
  margin: 0;
}
.hatchery-portfolio-card .hatchery-icon {
  transform-origin: 0% 100%;
  width: 24px;
  height: 24px;
  transition: transform 0.3s;
  margin-right: var(--stg-xs-gap);
  margin-top: var(--stg-xs-gap);
}
.hatchery-portfolio-card > a {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  display: block;
  border-radius: var(--hatchery-small-br);
}
/* === Portfolio Short List === */
.hatchery-portfolio-short-item {
  position: relative;
  padding: var(--stg-xs-gap);
  border-radius: var(--hatchery-small-br);
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.hatchery-portfolio-thmb {
  width: 88px;
  height: 88px;
  border-radius: var(--hatchery-xs-br);
  overflow: hidden;
  margin-right: var(--stg-gap);
  box-shadow: 0 4px 8px var(--hatchery-s-box-shadow);
}
.hatchery-portfolio-thmb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 0;
}
.hatchery-portfolio-short-item .hatchery-icon {
  position: absolute;
  top: calc(50% - 12px);
  right: var(--stg-gap);
  width: 24px;
  height: 24px;
  transform-origin: 0 100%;
  transition: transform 0.3s;
  will-change: transform;
}
.hatchery-portfolio-short-item a {
  position: absolute;
  border-radius: inherit;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
}
.hatchery-portfolio-short-more {
  position: relative;
  padding: var(--stg-gap);
  border-radius: var(--hatchery-small-br);
  color: var(--hatchery-s-accented-text);
  background: var(--hatchery-s-accent);
  border: 1px solid var(--hatchery-s-border-accent);
}
.hatchery-portfolio-short-item span.hatchery-meta, .hatchery-portfolio-short-more .hatchery-label {
  display: block;
  margin-bottom: 4px;
  margin-top: -4px;
}
.hatchery-portfolio-short-more {
  --hatchery-s-heading-fade: var(--hatchery-s-accented-text);
  --hatchery-s-heading: var(--hatchery-s-accented-text);
}
.hatchery-portfolio-short-more .hatchery-label {
  opacity: 0.75;
}
/* === Testimonials Grid Card === */
.hatchery-tetimonials-card {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  row-gap: var(--stg-gap);
}
.hatchery-tetimonials-card-descr {
  margin-top: -4px;
}
.hatchery-tetimonials-card-footer {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: -4px;
}
.hatchery-tetimonials-card-name h6 {
  margin: 0;
}
[class*='hatchery-tetimonials-stars'] {
  display: block;
  position: relative;
  width: 76px;
  height: 12px;
  opacity: 0.5;
  margin-bottom: 8px;
}
[class*='hatchery-tetimonials-stars']::before, [class*='hatchery-tetimonials-stars']::after {
  content: '';
  height: 12px;
  background: var(--hatchery-s-heading);
  -webkit-mask-repeat: repeat-x;
  -webkit-mask-size: contain;
  -webkit-mask-position: left;
  mask-repeat: repeat-x;
  mask-size: contain;
  mask-position: left;
  position: absolute;
  left: 0;
  top: 0;
}
[class*='hatchery-tetimonials-stars']::before {
  -webkit-mask-image: var(--icon-star-empty);
  mask-image: var(--icon-star-empty);
  z-index: 1;
  width: 100%;
}
[class*='hatchery-tetimonials-stars']::after {
  -webkit-mask-image: var(--icon-star-full);
  mask-image: var(--icon-star-full);
  z-index: 3;
}
.hatchery-tetimonials-stars1::after {
  width: 20%;
}
.hatchery-tetimonials-stars2::after {
  width: 40%;
}
.hatchery-tetimonials-stars3::after {
  width: 60%;
}
.hatchery-tetimonials-stars4::after {
  width: 80%;
}
.hatchery-tetimonials-stars5::after {
  width: 100%;
}
/* === Carousel Card === */
.hatchery-carousel {
  border-radius: var(--hatchery-xs-br);
}
.hatchery-fullscreen-page .hatchery-carousel-wrapper {
  position: relative;
  height: calc(100svh - var(--st-header-height) - var(--st-footer-height));
}
.hatchery-fullscreen-page .hatchery-carousel {
  top: 50%;
  transform: translateY(-50%);
}
.hatchery-fullscreen-page .hatchery-carousel.swiper {
  overflow: visible;
}
.hatchery-carousel-card {
  padding: var(--stg-small-gap);
}
.hatchery-carousel-card-image {
  transition: transform 0.3s;
  will-change: transform;
  contain: paint;
  border-radius: var(--hatchery-xs-br);
}
.hatchery-carousel-card-image img, .hatchery-carousel-card-image video {
  border-radius: unset
}
.hatchery-carousel-card-footer {
  display: flex;
  width: 100%;
  justify-content: space-between;
  align-items: center;
  padding: var(--stg-small-gap) 0 9px 0;
}
.hatchery-carousel-card-title {
  min-height: 24px;
  align-self: flex-end;
}
.hatchery-carousel-card-title h6 {
  margin: 0;
}
.hatchery-carousel-card .hatchery-icon {
  transform-origin: 0% 100%;
  width: 24px;
  height: 24px;
  transition: transform 0.3s;
  margin-right: var(--stg-xs-gap);
  margin-top: var(--stg-xs-gap);
}
.hatchery-carousel-card > a {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  display: block;
  border-radius: var(--hatchery-small-br);
}
/* === List with Preview === */
.hatchery-list-with-preview {
  display: flex;
  justify-content: space-between;
  gap: var(--stg-gap);
}
.hatchery-list-with-preview[data-preview-position="right"] {
  flex-direction: row-reverse;
}
.hatchery-list-with-preview > div {
  width: 50%;
}
.hatchery-lwp-media {
  position: relative;
  overflow: hidden;
  border-radius: var(--hatchery-default-br);
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  width: 100%;
}
.hatchery-lwp-media img, .hatchery-lwp-media video {
  width: 100%;
  height: auto;
  min-width: 100%;
  object-position: center;
}
.hatchery-lwp-media img, .hatchery-lwp-media video {
  transition: clip-path 0.3s;
  position: relative;
  border-radius: unset;
}
.hatchery-lwp-media img.is-active, .hatchery-lwp-media video.is-active {
  animation: lwp_active 0.3s ease-in-out;
}
.hatchery-lwp-roster {
  display: flex;
  flex-direction: column;
  gap: var(--stg-gap);
}
.hatchery-lwp-item {
  transition: background-color 0.2s, border-color 0.2s;
  position: relative;
  border-radius: var(--hatchery-default-br);
}
.hatchery-lwp-item .hatchery-accent {
  transition: color 0.2s;
}
.hatchery-lwp-item a {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  border-radius: inherit;
}
.hatchery-lwp-roster img {
  display: none;
}
.hatchery-list-with-preview[data-preview-position="right"] .hatchery-lwp-media img.is-active, .hatchery-list-with-preview[data-preview-position="right"] .hatchery-lwp-media video.is-active {
  animation: lwp_active_r 0.3s ease-in-out;
}
/* === Carousel (Swiper) === */
.hatchery-carousel {
  --swiper-gap: var(--stg-gap);
}
.hatchery-dots .swiper-pagination-bullet {
  background: var(--hatchery-s-heading);
}
.hatchery-dots .swiper-pagination-bullet-active {
  background: var(--hatchery-s-heading);
}
.hatchery-dots.swiper-pagination {
  position: static;
  bottom: auto;
  left: auto;
  margin: var(--stg-gap) auto 0 auto;
  transform: none !important;
  height: 12px;
}
.hatchery-dots .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
}
/* === Detailed List === */
.hatchery-detailed-list {
  margin: 0;
  padding: 0;
  position: relative;
}
.hatchery-detailed-list li {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: space-between;
  padding: var(--stg-gap) 0 calc(1px + var(--stg-gap)) 0;
  position: relative;
  margin: 0 calc(-0.5 * var(--stg-gap));
}
.hatchery-detailed-list::before, .hatchery-detailed-list li::before, .hatchery-detailed-list li::after {
  content: '';
  position: absolute;
  width: 100%;
  display: block;
}
.hatchery-detailed-list::before, .hatchery-detailed-list li::after {
  left: calc(-0.5 * (100vw - var(--stg-container-width)));
  bottom: 0;
  height: 1px;
  background: var(--hatchery-c-border-gradient);
  width: 100vw;
}
.hatchery-detailed-list::before {
  bottom: auto;
  top: 0;
}
.hatchery-detailed-list li::before {
  height: 100%;
  background: radial-gradient(ellipse, var(--hatchery-s-heading) 0%, transparent 75%) no-repeat bottom center;
  background-size: 100% 200%;
  top: 0;
  left: 0;
  opacity: 0;
  transition: opacity 0.3s;
  will-change: opacity;
}
.hatchery-detailed-list li > div {
  margin: 0 calc(0.5 * var(--stg-gap));
}
.hatchery-detailed-list li a {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  display: block;
}
.hatchery-detailed-list-title {
  min-width: calc(33.333% - var(--stg-gap));
  max-width: calc(33.333% - var(--stg-gap));
}
.hatchery-detailed-list-title > * {
  margin-top: 0;
}
.hatchery-detailed-list-description {
  min-width: calc(66.666% - 2 * var(--stg-gap) - 80px);
  max-width: calc(66.666% - 2 * var(--stg-gap) - 80px);
}
.hatchery-detailed-list-button {
  width: 80px;
  height: 80px;
  border: 2px solid var(--hatchery-s-heading);
  border-radius: var(--hatchery-small-br);
  display: flex;
  justify-content: center;
  align-items: center;
  transition: background-color 0.3s, border-color 0.3s;
}
.hatchery-detailed-list-button span.hatchery-icon {
  width: 24px;
  height: 24px;
  transition: background-color 0.3s;
}
/* === Image Box === */
.hatchery-image-box:not(:last-child) {
  margin-bottom: var(--stg-large-gap);
}
.hatchery-image-box-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--stg-small-gap);
}
.hatchery-image-box-head img {
  max-width: 80px;
  height: auto;
  display: block;
  border-radius: var(--hatchery-xs-br);
}
/* === Icon Box === */
.hatchery-icon-box {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  row-gap: var(--stg-xl-gap);
  position: relative;
}
.hatchery-icon-box .hatchery-box-icon {
  width: 64px;
  height: 64px;
  border-radius: var(--hatchery-small-br);
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  right: var(--stg-gap);
  top: var(--stg-gap);
}
.hatchery-icon-box i {
  width: 32px;
  height: 32px;
}
.hatchery-icon-box .hatchery-box-icon::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  border: 2px solid var(--hatchery-s-heading);
  border-radius: inherit;
  background-color: transparent;
}
.hatchery-icon-box h4 {
  padding-right: calc(64px + var(--stg-gap));
  margin: 0;
}
.hatchery-icon-box .hatchery-large-text {
  margin: 0;
}
/* === Grid More Masked === */
.hatchery-grid-more-masked {
  --masked-border-radius: var(--hatchery-small-br);
  --masked-inner-radius: var(--hatchery-default-br);
  position: relative;
}
.hatchery-grid-more-masked a {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  border-radius: var(--hatchery-small-br);
}
.hatchery-grid-more-masked .hatchery-masked-media p {
  padding-right: 96px;
}
/* === Price Table Card === */
.hatchery-price-table h6, .hatchery-price-table > p {
  margin-bottom: var(--stg-gap);
}
.hatchery-price-wrapper {
  background: radial-gradient(ellipse at center top, var(--hatchery-s-backlight) 0%, transparent) no-repeat;
  margin: 0 calc(-1 * var(--stg-gap)) var(--stg-gap) calc(-1 * var(--stg-gap));
  padding: var(--stg-gap);
  width: calc(100% + 2 * var(--stg-gap));
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.hatchery-price-wrapper::before, .hatchery-price-table ul.hatchery-marked-list::after, .hatchery-price-wrapper::after {
  content: '';
  width: 100%;
  height: 1px;
  background: var(--hatchery-c-border-gradient);
  position: absolute;
  left: 0;
}
.hatchery-price-wrapper::before {
  top: 0;
}
.hatchery-price-table ul.hatchery-marked-list::after, .hatchery-price-wrapper::after {
  bottom: 0;
}
.hatchery-price-wrapper > .hatchery-label {
  margin-bottom: 5px;
}
.hatchery-price-wrapper > h2 {
  margin-bottom: -4px;
}
.hatchery-price-table > .hatchery-label {
  color: var(--hatchery-s-heading);
  opacity: 1;
  margin-bottom: var(--stg-small-gap);
}
.hatchery-price-table ul.hatchery-marked-list {
  margin-bottom: var(--stg-gap);
  padding-bottom: var(--stg-gap);
  position: relative;
}
.hatchery-price-table ul.hatchery-marked-list li:last-child {
  margin: 0;
}
/* === FAQ List === */
.hatchery-faq-list {
  display: flex;
  flex-direction: column;
  gap: var(--stg-gap);
}
.hatchery-faq-list hr {
  margin-top: 0;
  margin-bottom: 0;
}
/* === Toggles === */
.hatchery-toggles-item {
  cursor: pointer;
}
.hatchery-toggles-item--title {
  display: block;
  position: relative;
}
.hatchery-toggles-item--title .hatchery-label {
  margin: -4px 0 8px 0;
  display: block;
}
.hatchery-toggles-item--title sup {
  display: inline-block;
  margin: 0 2px;
  transform: translateY(-6px);
}
.hatchery-toggles-item--title h4 {
  margin-bottom: 4px;
  padding-right: 64px;
  display: flex;
  justify-content: flex-start;
  gap: 8px;
  align-items: flex-start;
}
.hatchery-toggles-item--title i.hatchery-icon {
  position: absolute;
  right: 0;
  top: calc(50% - 16px);
  margin: 0;
  width: 32px;
  height: 32px;
  transform: rotate(-90deg);
  transition: transform 0.3s;
  will-change: transform;
}
.is-active .hatchery-toggles-item--title .hatchery-icon {
  transform: rotate(0deg) translate(0, 12px);
}
.hatchery-toggles-item--content {
  padding-top: calc(2 * var(--stg-gap));
  position: relative;
  cursor: default;
}
.hatchery-toggles-item--content::after {
  content: '';
  width: 100%;
  height: 1px;
  background: var(--hatchery-c-border-gradient);
  position: absolute;
  left: 0;
  top: var(--stg-gap);
}
.hatchery-toggles-item--content span {
  margin-bottom: var(--stg-small-gap);
  display: block;
}
/* === Swiper Slider === */
.hatchery-slider-wrapper {
  position: relative;
}
.hatchery-slider-wrapper svg {
  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  height: 0;
  pointer-events: none;
  opacity: 0;
}
.hatchery-slider {
  border-radius: var(--hatchery-default-br);
  position: relative;
}
.hatchery-slider-wrapper .hatchery-slider {
  border-radius: 0;
}
.hatchery-slider:not([data-effect="coverflow"]) img, .hatchery-slider:not([data-effect="coverflow"]) video {
  border-radius: 0;
}
.hatchery-slider-nav {
  position: absolute;
  z-index: 22;
}
/* Masked Block Navigation */
.hatchery-slider-nav.hatchery-masked-content {
  display: flex;
  width: 160px;
  height: 80px;
}
.hatchery-slider-nav.hatchery-masked-content a {
  width: 64px;
  height: 64px;
  margin: 16px 0 0 16px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  border-radius: var(--hatchery-small-br);
  transition: background-color 0.3s;
}
.hatchery-slider-nav.hatchery-masked-content a::before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  border-radius: inherit;
  border: 2px solid var(--hatchery-s-heading);
  z-index: 3;
  transition: opacity 0.3s;
  will-change: opacity;
}
.hatchery-slider-nav.hatchery-masked-content span.hatchery-icon {
  width: 16px;
  height: 16px;
  position: relative;
  z-index: 5;
  transition: transform 0.3s, background-color 0.3s;
  will-change: transform;
}
/* Side by Side Navigation */
.hatchery-slider-nav.on-sides {
  pointer-events: none;
  left: 0;
  width: 100%;
  top: calc(50% - 48px);
  display: flex;
  justify-content: space-between;
  --masked-border-radius: var(--hatchery-default-br);
  --masked-inner-radius: var(--hatchery-xl-br);
}
.hatchery-slider-nav.on-sides a {
  pointer-events: all;
  width: 64px;
  height: 96px;
  display: block;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.hatchery-slider-nav.on-sides a span.hatchery-icon {
  width: 24px;
  height: 24px;
  background: var(--hatchery-s-heading);
  transition: transform 0.3s;
  will-change: transform;
}
/* Content */
.hatchery-slider .swiper-slide.has-content {
  --masked-border-radius: var(--hatchery-default-br);
  --masked-inner-radius: var(--hatchery-large-br);
}
.hatchery-slider .hatchery-slide-content {
  position: absolute;
  bottom: 0;
}
.hatchery-slider .hatchery-slide-content-inner {
  padding: var(--stg-gap) var(--stg-large-gap);
  transition: transform 0.3s;
  will-change: transform;
}
.hatchery-slide-content > a {
  position: absolute;
  display: block;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
}
.hatchery-slide-post-title {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.hatchery-slide-post-title .hatchery-meta {
  opacity: 0.5;
  margin-bottom: var(--stg-xs-gap);
}
/* === Fullscreen Slider === */
.hatchery-fullscreen-page .hatchery-slider-wrapper {
  top: var(--st-header-height);
  width: calc(100% - 2 * var(--stg-small-gap));
  height: calc(100svh - var(--st-header-height) - var(--st-footer-height));
  margin: 0 var(--stg-small-gap);
  overflow: hidden;
}
.hatchery-fullscreen-page .hatchery-slider-media .st-lazy-wrapper {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
}
.hatchery-fullscreen-page .hatchery-slider {
  width: 100%;
  height: inherit
}
.hatchery-fullscreen-page .hatchery-slider img, .hatchery-fullscreen-page .hatchery-slider video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  border-radius: 0;
}
.hatchery-fullscreen-page .hatchery-slider .swiper-slide {
  height: 100%;
  position: relative;
}
.hatchery-fullscreen-page .hatchery-slider-media {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
}
/* === Portfolio Next Post === */
.hatchery-next-post.hatchery-icon-link {
  gap: var(--stg-gap);
}
.hatchery-next-post h2 {
  font-size: var(--hatchery-t-h1-fs);
  letter-spacing: var(--hatchery-t-h1-ls);
  line-height: var(--hatchery-t-h1-lh);
  margin: var(--hatchery-t-h1-margin);
  margin-bottom: 0;
}
.hatchery-next-post h6 {
  opacity: 0.75;
  margin: 0 0 var(--stg-xs-gap) 0;
}
.hatchery-next-post .hatchery-icon-link-content {
  text-align: right;
}
.hatchery-next-post.hatchery-icon-link .hatchery-icon-wrap {
  width: 160px;
  height: 160px;
  border-radius: var(--hatchery-large-br);
}
.hatchery-next-post .hatchery-icon {
  width: 48px;
  height: 48px;
}
.hatchery-next-post .hatchery-icon-wrap::before {
  border: 4px solid var(--hatchery-s-heading);
}
/* === Bento Grid Block === */
.hatchery-bento-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(2, 1fr);
  grid-gap: var(--stg-gap);
  grid-auto-columns: 1fr;
  grid-auto-rows: 1fr;
  grid-auto-flow: column;
  max-width: 100%;
}
.hatchery-bento-grid img {
  max-width: 100%;
  height: auto;
}
.hatchery-bento-grid .is-medium {
  overflow: hidden;
}
.hatchery-bento-grid .is-small {
  aspect-ratio: 1;
}
/* Type 01 */
.hatchery-bento-grid .is-large:first-child {
  grid-area: 1 / 1 / 3 / 3;
}
.hatchery-bento-grid .is-medium:nth-child(2) {
  grid-area: 1 / 3 / 1 / 5;
}
/* Type 02 */
.hatchery-bento-grid .is-medium:last-child {
  grid-area: 2 / 3 / 2 / 5;
}
/* Type 03 */
.hatchery-bento-grid .is-medium:first-child {
  grid-area: 1 / 1 / 2 / 3;
}
.hatchery-bento-grid .is-large:last-child {
  grid-area: 1 / 3 / 3 / 5;
}
/* Type 04 */
.hatchery-bento-grid .is-medium:nth-child(3) {
  grid-area: 2 / 1 / 3 / 3;
}
/* Inner Elements */
.hatchery-bento-grid > div {
  position: relative;
}
.hatchery-bento-grid > div, .hatchery-bento-grid .hatchery-block {
  border-radius: var(--hatchery-default-br);
}
.hatchery-bento-grid div:has(img) {
  padding: 0;
  contain: paint;
}
.hatchery-bento-grid img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
}
.hatchery-bento-grid h1, .hatchery-bento-grid h2 {
  margin-bottom: 0;
}
.hatchery-bento-grid > div > ul {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
}
.hatchery-bento-grid .hatchery-marked-list {
  margin: 0
}
/* === Meta List === */
.hatchery-meta-list {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  justify-content: space-between;
  align-items: flex-start;
  padding: 0;
  margin: 0;
}
.hatchery-meta-list li {
  padding: 0;
  margin: 0;
  list-style: none;
}
.hatchery-meta-list li span {
  display: block;
}
/* Hack for Safari */
@supports (-webkit-appearance:none) and (stroke-color:transparent) {
  .hatchery-meta-list {
    min-height: calc(100% - 2 * var(--stg-gap));
  }
}
/* === Masked CTA === */
.hatchery-masked-cta .hatchery-cta-form {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: var(--stg-gap);
  padding: var(--stg-large-gap);
  background: var(--hatchery-s-accent);
}
.hatchery-masked-cta .hatchery-cta-form {
  --hatchery-s-heading: var(--hatchery-s-accented-text);
}
.hatchery-masked-cta button {
  background: var(--hatchery-s-heading);
  border-color: var(--hatchery-s-heading);
  border-radius: var(--hatchery-default-br);
  padding: calc(1.5 * var(--stg-gap)) calc(1.5 * var(--stg-large-gap));
}
.hatchery-masked-cta button span {
  background: var(--hatchery-s-accent);
  width: 32px;
  height: 32px;
}
.hatchery-cta-title {
  font-family: var(--hatchery-t-heading-ff);
  font-weight: var(--hatchery-t-heading-fw);
  font-size: var(--hatchery-t-h1-fs);
  letter-spacing: var(--hatchery-t-h1-ls);
  line-height: var(--hatchery-t-h1-lh);
  color: var(--hatchery-s-heading);
  margin-bottom: var(--stg-large-gap);
}
.hatchery-masked-cta input {
  background: var(--hatchery-s-border);
  color: var(--hatchery-s-heading);
  font-family: var(--hatchery-t-heading-ff);
  font-weight: var(--hatchery-t-heading-fw);
  font-size: var(--hatchery-t-h2-fs);
  letter-spacing: var(--hatchery-t-h2-ls);
  line-height: 1;
  border-radius: var(--hatchery-default-br);
  padding: var(--stg-gap);
  padding-top: calc(var(--stg-gap) - 4px);
}
.hatchery-masked-cta input:focus {
  border-color: var(--hatchery-s-border);
}
.hatchery-masked-cta input::-webkit-input-placeholder {
  opacity: 1;
  color: var(--hatchery-s-heading);
}
.hatchery-masked-cta input::-moz-placeholder {
  opacity: 1;
  color: var(--hatchery-s-heading);
}
.hatchery-masked-cta input::-ms-input-placeholder {
  opacity: 1;
  color: var(--hatchery-s-heading);
}
.hatchery-masked-cta-content {
  text-align: right;
  width: 350px;
}
.hatchery-masked-cta-content p {
  display: block;
  padding: 0 0 var(--stg-d-gap) var(--stg-d-gap);
}
/* === Member Contacts === */
.hatchery-member-contacts-list {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: var(--stg-small-gap);
}
.hatchery-member-contacts-list a {
  font-family: var(--hatchery-t-heading-ff);
  font-weight: var(--hatchery-t-heading-fw);
  color: var(--hatchery-s-heading);
  font-size: var(--hatchery-t-h6-fs);
  letter-spacing: var(--hatchery-t-h6-ls);
  line-height: var(--hatchery-t-h6-lh);
}
.hatchery-member-contacts .hatchery-socials-list {
  margin-top: var(--stg-gap);
}
.hatchery-member-contacts .hatchery-socials-list a {
  width: 80px;
  height: 80px;
  border-radius: var(--hatchery-small-br);
}
.hatchery-member-contacts .hatchery-socials-list a::before {
  border: 2px solid var(--hatchery-s-heading);
}
.hatchery-member-contacts .hatchery-socials-list a i {
  width: 40px;
  height: 40px;
}
/* === Infinite List === */
body:has(.hatchery-infinite-list) .hatchery-backlight {
  display: none;
}
.hatchery-infinite-list-wrap {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 11;
  width: 100%;
  height: 100%;
  overflow: hidden;
  cursor: grab;
}
.hatchery-infinite-list-wrap.is-grabbed {
  cursor: grabbing;
}
.hatchery-infinite-list {
  opacity: 0;
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
}
.hatchery-infinite-scroll {
  width: var(--stg-container-width);
  margin: 0 auto;
  position: relative;
  z-index: 15;
}
.hatchery-infinite-list-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  padding: 30px 0 35px 0;
  transition: opacity 0.3s;
}
.hatchery-infinite-list-item::before {
  content: '';
  position: absolute;
  width: 100%;
  display: block;
  height: 100%;
  background: radial-gradient(ellipse, var(--hatchery-s-heading) 0%, transparent 75%) no-repeat bottom center;
  background-size: 100% 200%;
  top: 0;
  left: 0;
  opacity: 0;
  transition: opacity 0.3s;
  will-change: opacity;
}
.hatchery-infinite-list-item::after {
  content: '';
  width: 100vw;
  height: 1px;
  display: block;
  background: var(--hatchery-c-border-gradient);
  position: absolute;
  bottom: 0;
  left: calc(-0.5 * (100vw - var(--stg-container-width)));
}
.hatchery-infinite-list-item a {
  position: absolute;
  left: -65px;
  top: 0;
  width: calc(100% + 130px);
  height: 100%;
  z-index: 5;
  display: block;
}
.hatchery-infinite-list-title {
  transition: transform 0.3s;
  will-change: transform;
}
.hatchery-infinite-list-item .hatchery-meta {
  display: block;
  margin-bottom: 7px;
}
.hatchery-infinite-list-preview {
  position: absolute;
  width: 96px;
  height: 96px;
  border-radius: var(--hatchery-small-br);
  right: calc(100% + 28px);
  top: calc(50% - 48px);
  background: no-repeat center;
  background-size: cover;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.3s;
}
.hatchery-infinite-list-preview video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 50%;
}
.hatchery-infinite-list-icon {
  width: 80px;
  height: 80px;
  display: block;
  border-radius: var(--hatchery-small-br);
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
.hatchery-infinite-list-icon span {
  position: relative;
  z-index: 5;
  transition: transform 0.3s, background-color 0.3s;
}
.hatchery-infinite-list-icon::before, .hatchery-infinite-list-icon::after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  border-radius: inherit;
  will-change: opacity;
  transition: opacity 0.3s;
}
.hatchery-infinite-list-icon::before {
  z-index: 3;
  border: 2px solid var(--hatchery-s-heading);
  opacity: 1;
}
.hatchery-infinite-list-icon::after {
  background: var(--hatchery-s-accent);
  opacity: 0;
}
.hatchery-infinite-list-bgs {
  pointer-events: none;
  opacity: 0.15;
}
.hatchery-infinite-list-bgs, .hatchery-infinite-list-bgs > div {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  overflow: hidden;
}
.hatchery-infinite-list-bgs > div {
  background: no-repeat center;
  background-size: cover;
  will-change: opacity, transform;
  transition: opacity 0.5s, transform 0.5s;
  transform: scale(1.05);
  opacity: 0;
  z-index: 1;
}
.hatchery-infinite-list-bgs > div.is-active {
  opacity: 1;
  transform: scale(1);
  z-index: 2;
}
.hatchery-infinite-list-bgs > div video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
/* === Column Listing Item === */
.hatchery-column-item:not(:last-child) {
  margin-bottom: var(--stg-large-gap);
}
.hatchery-column-item.hatchery-masked-block {
  --masked-inner-radius: var(--hatchery-large-br);
}
.hatchery-column-item-content {
  padding: var(--stg-gap) var(--stg-gap) 0 0;
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-width: calc(0.33 * var(--stg-container-width));
}
.hatchery-column-item-title {
  padding-left: var(--stg-small-gap);
  margin-right: var(--stg-gap);
  transform: translateY(-4px);
  transition: transform 0.3s;
}
.hatchery-column-item-title span {
  margin-bottom: 8px;
  display: block;
  transition: transform 0.3s;
}
.hatchery-column-item-title h4 {
  margin-bottom: 0;
  transition: transform 0.3s;
}
.hatchery-column-item-content .hatchery-icon-wrap {
  position: relative;
  width: 80px;
  height: 80px;
  border-radius: var(--hatchery-small-br);
  display: flex;
  justify-content: center;
  align-items: center;
  transition: background-color 0.3s;
}
.hatchery-column-item-content .hatchery-icon-wrap::before {
  transition: opacity 0.3s;
  will-change: opacity;
}
.hatchery-column-item a {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  border-radius: var(--hatchery-default-br);
  z-index: 7;
}
/* === Grid CTA === */
.hatchery-masked-content {
  max-width: 35%;
  position: absolute;
  bottom: 0;
  right: 0;
}
.hatchery-masked-content:has(.hatchery-square-button) {
  max-width: 50%;
}
.hatchery-grid-cta-media {
  padding: var(--stg-large-gap);
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
}
.hatchery-masked-cta-content p {
  padding: 0 0 var(--stg-d-gap) var(--stg-d-gap);
  display: block;
  text-align: right;
}
.hatchery-bento-grid .hatchery-masked-content p {
  padding: var(--stg-d-gap) 0 0 var(--stg-d-gap);
}
.hatchery-bento-grid div[data-bg-src] p, .hatchery-bento-grid div[data-bg-src] h1, .hatchery-bento-grid div[data-bg-src] h2, .hatchery-bento-grid div[data-bg-src] h3, .hatchery-bento-grid div[data-bg-src] h4, .hatchery-bento-grid div[data-bg-src] h5, .hatchery-bento-grid div[data-bg-src] h6, .hatchery-bento-grid div[data-bg-src] p.hatchery-large-text {
  color: var(--hatchery-s-accented-text);
}
.hatchery-grid-cta .is-medium {
  display: flex;
  align-items: center;
  text-align: center;
  justify-content: center;
}
.hatchery-grid-cta .hatchery-square-button {
  width: 100%;
  height: 100%;
  border-radius: var(--hatchery-default-br);
}
.hatchery-grid-cta .hatchery-square-button span {
  width: 80px;
  height: 80px;
}
.hatchery-grid-cta-heading {
  font-family: var(--hatchery-t-heading-ff);
  font-weight: var(--hatchery-t-heading-fw);
  color: var(--hatchery-s-accented-text);
  font-size: var(--hatchery-t-h1-fs);
  letter-spacing: var(--hatchery-t-h1-ls);
  line-height: var(--hatchery-t-h1-lh);
  margin: var(--hatchery-t-h1-margin);
}
/* === CTA with Image === */
.stg-cta-with-image {
  --this-spacing: var(--hatchery-section-gap);
  padding: var(--this-spacing) 0;
}
.stg-cta-with-image > div {
  position: relative;
}
[class*='stg-col-'] > div.hatchery-offset-image {
  --this-offset: calc(-0.5 * (100vw - var(--stg-container-width)));
  width: calc(50% - var(--this-offset));
  top: calc(-1 * var(--this-spacing));
  bottom: calc(-1 * var(--this-spacing));
  position: absolute;
  background-position: right;
}
[class*='stg-col-']:first-child > div.hatchery-offset-image {
  left: var(--this-offset);
  border-radius: 0 var(--hatchery-default-br) var(--hatchery-default-br) 0;
}
[class*='stg-col-']:last-child > div.hatchery-offset-image {
  right: var(--this-offset);
  border-radius: var(--hatchery-default-br) 0 0 var(--hatchery-default-br);
}
.hatchery-cta-form-title {
  font-family: var(--hatchery-t-heading-ff);
  font-weight: var(--hatchery-t-heading-fw);
  color: var(--hatchery-s-heading);
  font-size: var(--hatchery-t-h1-fs);
  letter-spacing: var(--hatchery-t-h1-ls);
  line-height: var(--hatchery-t-h1-lh);
}
.hatchery-cta-text {
  padding: calc(var(--stg-gap) + var(--stg-large-gap)) 0;
}
.hatchery-cta-icon {
  position: relative;
}
.hatchery-cta-icon, .hatchery-cta-icon::before, .hatchery-cta-icon::after {
  background-color: var(--hatchery-s-text-accent);
  border-radius: 4px;
  width: 8px;
  height: 64px;
  display: block;
}
.hatchery-cta-icon::before, .hatchery-cta-icon::after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
}
.hatchery-cta-icon::before {
  transform: rotate(120deg);
}
.hatchery-cta-icon::after {
  transform: rotate(240deg);
}
/* === Right Click Protection === */
.hatchery-rcp-wrap, .hatchery-rcp-overlay {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 333;
}
.hatchery-rcp-wrap {
  transition: opacity 0.3s;
  will-change: opacity;
  pointer-events: none;
  opacity: 0;
}
.rcp-show .hatchery-rcp-wrap {
  pointer-events: all;
  opacity: 1;
}
.hatchery-rcp-overlay {
  z-index: 3;
  background-color: var(--hatchery-s-body-bg);
  opacity: 0.9;
}
.hatchery-rcp-container {
  z-index: 5;
  position: absolute;
  left: calc(50% - 0.5 * var(--stg-container-width));
  top: 50%;
  width: var(--stg-container-width);
  text-align: center;
  transition: transform 0.3s;
  will-change: transform;
  transform: translateY(0%);
  pointer-events: none;
}
.rcp-show .hatchery-rcp-container {
  transform: translateY(-50%);
}
/** ==============
    10. PHOTOSWIPE
    ============== */
.pswp__img {
  border-radius: var(--hatchery-default-br);
}
.pswp__ui {
  width: 100%;
  height: 100%;
  position: relative;
  pointer-events: none;
}
.pswp--open .pswp__ui button {
  pointer-events: all;
}
.pswp__button, .pswp__ui--fit .pswp__top-bar button.pswp__button {
  width: 60px;
  height: 60px;
  border-radius: var(--hatchery-small-br);
  background: var(--hatchery-s-nav);
  display: flex;
  justify-content: center;
  align-items: center;
  transition: background-color 0.3s;
}
.pswp__button::before, .pswp__ui--fit .pswp__top-bar button.pswp__button::before, .pswp__button::after, .pswp__ui--fit .pswp__top-bar button.pswp__button::after {
  content: '';
  position: absolute;
  display: block;
}
.pswp__button::before, .pswp__ui--fit .pswp__top-bar button.pswp__button::before {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  border: 2px solid var(--hatchery-s-heading);
  border-radius: inherit;
  transition: opacity 0.3s;
}
.pswp__button::after, .pswp__ui--fit .pswp__top-bar button.pswp__button::after {
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-position: center;
  background: var(--hatchery-s-heading);
  width: 16px;
  height: 16px;
  transition: transform 0.3s;
}
button.pswp__button.pswp__button--close, .pswp__top-bar button.pswp__button, .pswp__ui--fit .pswp__top-bar button.pswp__button {
  right: 64px;
  top: 48px;
  position: absolute;
}
button.pswp__button.pswp__button--close::after, .pswp__ui--fit .pswp__top-bar button.pswp__button::after {
  -webkit-mask-image: var(--icon-cross);
  mask-image: var(--icon-cross);
  width: 14px;
  height: 14px;
}
.hatchery-pswp-prev, .hatchery-pswp-next {
  position: absolute;
  top: calc(50% - 20px);
}
.hatchery-pswp-prev {
  left: 64px;
}
button.pswp__button.hatchery-pswp-prev::after {
  -webkit-mask-image: var(--icon-chevron-left);
  mask-image: var(--icon-chevron-left);
}
button.pswp__button.hatchery-pswp-next::after {
  -webkit-mask-image: var(--icon-chevron-right);
  mask-image: var(--icon-chevron-right);
}
.hatchery-pswp-next {
  right: 64px;
}
.pswp__preloader {
  top: calc(50% - 22px);
}
.hatchery-pswp-media--video {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  pointer-events: all;
}
.hatchery-pswp-media--video video {
  width: 100%;
  height: auto;
  border-radius: var(--hatchery-default-br);
}
/** ================
    11. HOVER STATES
    ================ */
@media (hover:hover) {
  a:hover {
    color: var(--hatchery-s-heading);
  }
  /* --- PSWP Lightbox --- */
  .pswp__button:hover::after {
    transform: scale(1.2);
  }
  .pswp__button:hover::before, .pswp__ui--fit .pswp__top-bar button.pswp__button:hover::before {
    opacity: 0.15;
  }
  .pswp__button:hover, .pswp__ui--fit .pswp__top-bar button.pswp__button:hover {
    background-color: var(--hatchery-s-accent);
  }
  .hatchery-lightbox-link > .st-lazy-wrapper, .hatchery-lightbox-link > img {
    transition: scale 0.3s;
  }
  .hatchery-lightbox-link:hover > .st-lazy-wrapper, .hatchery-lightbox-link:hover > img {
    scale: 1.02;
  }
  /* --- Forms and Fields --- */
  input[type="button"]:hover, input[type="reset"]:hover, input[type="submit"]:hover, button:not([class*='pswp']):hover, a.hatchery-button:hover {
    color: var(--hatchery-s-accented-text);
    background-color: var(--hatchery-button-hover-bg);
  }
  a.hatchery-button.is-secondary:hover, .hatchery-square-button.is-secondary:hover {
    background: var(--hatchery-s-accent);
    border-color: var(--hatchery-s-border-accent);
  }
  a.hatchery-button.is-secondary:hover {
    background: var(--hatchery-s-border);
  }
  /* --- Main Menu --- */
  ul.main-menu li:hover > a {
    color: var(--hatchery-c-menu-hover);
  }
  ul.main-menu li.menu-item-has-children:hover > a::after {
    background-color: var(--hatchery-c-menu-hover);
  }
  ul.sub-menu li:hover::before {
    opacity: 1;
  }
  nav.hatchery-nav ul.sub-menu li:hover::before {
    opacity: 1;
  }
  /* --- Footer --- */
  #hatchery-footer .hatchery-menu-widget a:hover, .hatchery-menu-widget ul li:hover::before {
    opacity: 1;
  }
  .hatchery-socials-list a:hover {
    background-color: var(--hatchery-s-accent);
  }
  .hatchery-socials-list a:hover i {
    background-color: var(--hatchery-s-accented-text);
  }
  .hatchery-socials-list a:hover::before {
    opacity: 0.15;
  }
  /* --- Block --- */
  .hatchery-block:hover::after {
    opacity: 0.75;
  }
  .hatchery-block:hover::before {
    opacity: 1;
  }
  /* --- Links --- */
  .hatchery-tags-list li a:hover {
    background-color: var(--hatchery-s-accent);
    border-color: var(--hatchery-s-border-accent);
    color: var(--hatchery-s-accented-text);
  }
  .hatchery-arrow-link:hover::before {
    transform: scale(0, 1);
  }
  .hatchery-arrow-link:hover::after {
    transform: scale(1.2, 1.2);
  }
  /* --- Icon Link --- */
  .hatchery-icon-link:hover i {
    transform: scale(1.2);
    background-color: var(--hatchery-s-accented-text);
  }
  .hatchery-icon-link:hover .hatchery-icon-wrap {
    background-color: var(--hatchery-s-accent);
  }
  .hatchery-icon-link:hover .hatchery-icon-wrap::before {
    opacity: 0.15;
  }
  .hatchery-icon-link:hover .hatchery-icon-link-content:first-child {
    transform: translateX(calc(-1 * var(--stg-xs-gap)));
  }
  .hatchery-icon-link:hover .hatchery-icon-link-content:last-child {
    transform: translateX(var(--stg-xs-gap));
  }
  .hatchery-square-button:hover span.hatchery-icon {
    transform: scale(1.2);
    background-color: var(--hatchery-s-accented-text);
  }
  /* --- Portfolio --- */
  .hatchery-portfolio-card:hover .hatchery-icon {
    transform: scale(1.2, 1.2);
  }
  .hatchery-portfolio-card:hover .hatchery-portfolio-card-image {
    transform: scale(1.01);
  }
  .hatchery-portfolio-short-item:hover .hatchery-icon {
    transform: scale(1.2);
  }
  .hatchery-carousel-card:hover .hatchery-icon {
    transform: scale(1.2, 1.2);
  }
  .hatchery-carousel-card:hover .hatchery-carousel-card-image {
    transform: scale(1.01);
  }
  .hatchery-detailed-list li:hover::before {
    opacity: 0.05;
  }
  .hatchery-detailed-list li:has(a):hover .hatchery-detailed-list-button {
    background: var(--hatchery-s-accent);
    border-color: var(--hatchery-s-border-accent);
  }
  .hatchery-detailed-list li:has(a):hover .hatchery-detailed-list-button .hatchery-icon {
    background-color: var(--hatchery-s-accented-text);
  }
  .hatchery-grid-more-masked:hover .hatchery-square-button.is-secondary {
    background: var(--hatchery-s-accent);
    border-color: var(--hatchery-s-border-accent);
  }
  .hatchery-grid-more-masked:hover .hatchery-square-button span.hatchery-icon {
    transform: scale(1.2);
    background-color: var(--hatchery-s-accented-text);
  }
  /* --- Slider --- */
  .hatchery-slider-nav.hatchery-masked-content a:hover span.hatchery-icon {
    transform: scale(1.2);
    background-color: var(--hatchery-s-accented-text);
  }
  .hatchery-slider-nav.hatchery-masked-content a:hover {
    background-color: var(--hatchery-s-accent);
  }
  .hatchery-slider-nav.hatchery-masked-content a:hover::before {
    opacity: 0.15;
  }
  .hatchery-slider-nav.on-sides a.hatchery-slider-next:hover span.hatchery-icon {
    transform: translateX(10px)
  }
  .hatchery-slider-nav.on-sides a.hatchery-slider-prev:hover span.hatchery-icon {
    transform: translateX(-10px)
  }
  .hatchery-slide-content:has(a):hover .hatchery-slide-content-inner {
    transform: scale(1.1);
  }
  .hatchery-masked-cta button:hover {
    background: var(--hatchery-s-heading-fade);
  }
  /* --- Infinite List --- */
  .hatchery-infinite-list-item:hover::before {
    opacity: 0.05;
  }
  .hatchery-infinite-list-item:hover .hatchery-infinite-list-preview {
    opacity: 1;
  }
  .hatchery-infinite-list-item:hover .hatchery-infinite-list-icon::before {
    opacity: 0.15;
  }
  .hatchery-infinite-list-item:hover .hatchery-infinite-list-icon::after {
    opacity: 1;
  }
  .hatchery-infinite-list-item:hover .hatchery-infinite-list-icon span {
    transform: scale(1.1);
    background-color: var(--hatchery-s-accented-text);
  }
  /* --- Column List --- */
  .hatchery-column-item-content:hover .hatchery-icon-wrap {
    background-color: var(--hatchery-s-accent);
  }
  .hatchery-column-item-content:hover .hatchery-icon-wrap::before {
    opacity: 0.15;
  }
  .hatchery-column-item-content:hover .hatchery-icon-wrap span.hatchery-icon {
    transform: scale(1.2);
  }
  .hatchery-column-item-content:hover .hatchery-column-item-title span {
    transform: translateX(calc(-1 * var(--stg-xs-gap)));
  }
  .hatchery-column-item-content:hover .hatchery-column-item-title h4 {
    transform: translateX(var(--stg-xs-gap));
  }
}
@media (hover:none) {
  .hatchery-backlight {
    display: none;
  }
  .hatchery-block::before {
    opacity: 0.5;
  }
  .hatchery-block::after {
    opacity: 0.75;
  }
  .hatchery-toggles-item:not(.is-active)::after {
    opacity: 0;
  }
  .hatchery-infinite-list-bgs {
    display: none;
  }
  .hatchery-infinite-list-item {
    padding-left: calc(96px + var(--stg-gap));
  }
  .hatchery-infinite-list-preview {
    opacity: 1;
    right: auto;
    left: 0;
  }
}
/** ==============
    12. ANIMATIONS
    ============== */
@keyframes sta_spin {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes sta_shake {
  0% {
    transform: translateX(0);
  }
  10% {
    transform: translateX(-10px);
  }
  30% {
    transform: translateX(10px);
  }
  50% {
    transform: translateX(-10px);
  }
  70% {
    transform: translateX(10px);
  }
  90% {
    transform: translateX(-10px);
  }
  100% {
    transform: translateX(0);
  }
}
/* === Marquee === */
@keyframes marquee_scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
/* === List with Preview === */
@keyframes lwp_active {
  0% {
    clip-path: inset(0% 0% 0% 100% round var(--hatchery-default-br));
  }
  100% {
    clip-path: inset(0% 0% 0% 0% round var(--hatchery-default-br));
  }
}
@keyframes lwp_active_r {
  0% {
    clip-path: inset(0% 100% 0% 0% round var(--hatchery-default-br));
  }
  100% {
    clip-path: inset(0% 0% 0% 0% round var(--hatchery-default-br));
  }
}
/* === Entrance Animations === */ :root {
  --stea-move: var(--stg-gap);
  --stea-zoom-in: 0.9;
  --stea-zoom-out: 1.1;
  --stea-duration: 0.5s;
}
[data-split-appear] {
  --stea-move: 0.5cap;
}
[data-split-appear].hatchery-line-overflow:not(.is-done) .line {
  overflow: hidden;
}
[data-split-appear].setting-up [data-appear] {
  transition: unset !important;
}
[data-unload*='fade-'].is-unloading, [data-unload*='zoom-'].is-unloading, [data-appear*='fade-']:not(.setting-up), [data-appear*='zoom-']:not(.setting-up) {
  transition: opacity var(--stea-duration), transform var(--stea-duration);
  will-change: opacity, transform;
}
[data-unload*='fade-'].is-unloading, [data-unload*='zoom-'].is-unloading, [data-appear*='fade-'], [data-appear*='zoom-'] {
  opacity: 0;
}
[data-appear*="zoom-"].in-view, [data-appear*="fade-"].in-view {
  opacity: 1;
  transform: scale(1) translate(0, 0);
}
[data-unload="zoom-out"].is-unloading, [data-appear="zoom-in"], [data-appear="fade-zoom"] {
  transform: scale(var(--stea-zoom-in));
}
[data-unload="fade-down"].is-unloading, [data-appear="fade-up"] {
  transform: translateY(var(--stea-move));
}
[data-unload="fade-up"].is-unloading, [data-appear="fade-down"] {
  transform: translateY(calc(-1 * var(--stea-move)));
}
[data-unload="fade-right"].is-unloading, [data-appear="fade-left"] {
  transform: translateX(var(--stea-move));
}
[data-unload="fade-left"].is-unloading, [data-appear="fade-right"] {
  transform: translateX(calc(-1 * var(--stea-move)));
}
[data-unload="fade-down-right"].is-unloading, [data-appear="fade-up-left"] {
  transform: translate(var(--stea-move), var(--stea-move));
}
[data-unload="fade-down-left"].is-unloading, [data-appear="fade-up-right"] {
  transform: translate(calc(-1 * var(--stea-move)), var(--stea-move));
}
[data-unload="fade-up-right"].is-unloading, [data-appear="fade-down-left"] {
  transform: translate(var(--stea-move), calc(-1 * var(--stea-move)));
}
[data-unload="fade-up-left"].is-unloading, [data-appear="fade-down-right"] {
  transform: translate(calc(-1 * var(--stea-move)), calc(-1 * var(--stea-move)));
}
[data-unload="zoom-out-down"].is-unloading, [data-appear="zoom-in-up"] {
  transform: translateY(var(--stea-move)) scale(var(--stea-zoom-in));
}
[data-unload="zoom-out-up"].is-unloading, [data-appear="zoom-in-down"] {
  transform: translateY(calc(-1 * var(--stea-move))) scale(var(--stea-zoom-in));
}
[data-unload="zoom-out-right"].is-unloading, [data-appear="zoom-in-left"] {
  transform: translateX(var(--stea-move)) scale(var(--stea-zoom-in));
}
[data-unload="zoom-out-left"].is-unloading, [data-appear="zoom-in-right"] {
  transform: translateX(calc(-1 * var(--stea-move))) scale(var(--stea-zoom-in));
}
[data-unload="zoom-out-down-right"].is-unloading, [data-appear="zoom-in-up-left"] {
  transform: translate(var(--stea-move), var(--stea-move)) scale(var(--stea-zoom-in));
}
[data-unload="zoom-out-down-left"].is-unloading, [data-appear="zoom-in-up-right"] {
  transform: translate(calc(-1 * var(--stea-move)), var(--stea-move)) scale(var(--stea-zoom-in));
}
[data-unload="zoom-out-up-right"].is-unloading, [data-appear="zoom-in-down-left"] {
  transform: translate(var(--stea-move), calc(-1 * var(--stea-move))) scale(var(--stea-zoom-in));
}
[data-unload="zoom-out-up-left"].is-unloading, [data-appear="zoom-in-down-right"] {
  transform: translate(calc(-1 * var(--stea-move)), calc(-1 * var(--stea-move))) scale(var(--stea-zoom-in));
}
[data-unload="fade-zoom"].is-unloading, [data-unload="zoom-in"].is-unloading, [data-appear="zoom-out"] {
  transform: scale(var(--stea-zoom-out));
}
[data-unload="zoom-in-down"].is-unloading, [data-appear="zoom-out-up"] {
  transform: translateY(var(--stea-move)) scale(var(--stea-zoom-out));
}
[data-unload="zoom-in-up"].is-unloading, [data-appear="zoom-out-down"] {
  transform: translateY(calc(-1 * var(--stea-move))) scale(var(--stea-zoom-out));
}
[data-unload="zoom-in-right"].is-unloading, [data-appear="zoom-out-left"] {
  transform: translateX(var(--stea-move)) scale(var(--stea-zoom-out));
}
[data-unload="zoom-in-left"].is-unloading, [data-appear="zoom-out-right"] {
  transform: translateX(calc(-1 * var(--stea-move))) scale(var(--stea-zoom-out));
}
[data-unload="zoom-in-down-right"].is-unloading, [data-appear="zoom-out-up-left"] {
  transform: translate(var(--stea-move), var(--stea-move)) scale(var(--stea-zoom-out));
}
[data-unload="zoom-in-down-left"].is-unloading, [data-appear="zoom-out-up-right"] {
  transform: translate(calc(-1 * var(--stea-move)), var(--stea-move)) scale(var(--stea-zoom-out));
}
[data-unload="zoom-in-up-right"].is-unloading, [data-appear="zoom-out-down-left"] {
  transform: translate(var(--stea-move), calc(-1 * var(--stea-move))) scale(var(--stea-zoom-out));
}
[data-unload="zoom-in-up-left"].is-unloading, [data-appear="zoom-out-down-right"] {
  transform: translate(calc(-1 * var(--stea-move)), calc(-1 * var(--stea-move))) scale(var(--stea-zoom-out));
}
.mt-5 {
  padding-top: 50px;
}
.mt-4 {
  padding-top: 40px;
}
.mt-3 {
  padding-top: 30px;
}
.mt-2 {
  padding-top: 20px;
}
.mt-1 {
  padding-top: 10px;
}

/* Clean tooltip for hatchery portfolio cards (uses a child element to avoid ::before/::after conflicts) */
.hatchery-portfolio-card { 
  position: relative; 
  overflow: visible; 
}
.hatchery-portfolio-card .h-tooltip {
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(-8px);
  background: rgba(50, 50, 50, 0.92);
  color: #fff;
  padding: 6px 10px;
  border-radius: 6px;
  font-size: 12px;
  line-height: 1.2;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s ease, transform 0.15s ease;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
  z-index: 10000; /* above block effects */
}
.hatchery-portfolio-card .h-tooltip::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -6px;
  transform: translateX(-50%);
  border-width: 6px;
  border-style: solid;
  border-color: rgba(50, 50, 50, 0.92) transparent transparent transparent;
}
.hatchery-portfolio-card:hover .h-tooltip,
.hatchery-portfolio-card:focus-within .h-tooltip {
  opacity: 1;
  transform: translateX(-50%) translateY(-12px);
}
