/* A bounded gateway composition; all text, links and media stay in Gutenberg. */
.vv-gateway-home {
  --vv-screen-height: 100vh;
  --vv-admin-height: 0px;
  position: relative;
  height: calc(var(--vv-screen-height) - var(--vv-admin-height));
  min-height: 0;
  overflow: hidden;
}
@supports (height: 100dvh) { .vv-gateway-home { --vv-screen-height: 100dvh; } }
.vv-gateway-home.admin-bar { --vv-admin-height: 32px; }
.vv-gateway-home #main-content, .vv-gateway-home .vv-document, .vv-gateway-home .vv-document-content { height: 100%; min-height: 0; margin: 0; }
.vv-gateway-home .vv-site-header--gateway { position: absolute; inset: 0 0 auto; padding-block: clamp(1rem, 3.5vh, 2rem); background: transparent; box-shadow: none; }
.vv-gateway-home .vv-header__inner { gap: 1.5rem; }
.vv-gateway-home .vv-header__actions:empty { display: none; }
.vv-gateway-home .vv-site-header .vv-primary-menu { gap: clamp(1.1rem, 2.5vw, 2.6rem); }
.vv-gateway-home .vv-site-header .vv-primary-menu > li > a { font-size: 0.75rem; }
.vv-variant--gateway-screen {
  width: 100%;
  height: 100%;
  min-height: 0;
  padding: clamp(6rem, 14vh, 9rem) var(--vv-gutter) clamp(2rem, 8vh, 5rem);
  display: grid;
  align-items: center;
  text-align: center;
  background: #233b32;
  color: #fff;
}
.vv-variant--gateway-screen > .vv-section__inner { display: flex; flex-direction: column; align-items: center; width: 100%; max-width: 78rem; min-height: 0; }
.vv-variant--gateway-screen > .vv-section__overlay { background: linear-gradient(180deg, rgb(6 25 19 / 0%) 7%, rgb(6 25 19 / 24%) 22%, rgb(6 25 19 / 47%) 52%, rgb(4 16 13 / 84%) 100%); }
.vv-variant--gateway-screen.vv-overlay--soft > .vv-section__overlay { background: linear-gradient(180deg, rgb(6 25 19 / 0%) 7%, rgb(6 25 19 / 23%) 22%, rgb(6 25 19 / 41%) 52%, rgb(4 16 13 / 78%) 100%); }
.vv-variant--gateway-screen.vv-overlay--strong > .vv-section__overlay { background: linear-gradient(180deg, rgb(6 25 19 / 0%) 7%, rgb(6 25 19 / 34%) 22%, rgb(6 25 19 / 58%) 52%, rgb(4 16 13 / 90%) 100%); }
.vv-variant--gateway-screen .vv-section__background-image { object-position: center 48%; }
.vv-variant--gateway-screen h1 { max-width: 15ch; margin: 0; font-size: clamp(3.75rem, 7.4vw, 7.25rem); font-weight: 400; line-height: 1.01; letter-spacing: -0.035em; text-wrap: balance; }
.vv-variant--gateway-screen h1 + p { max-width: 42ch; margin: clamp(1rem, 2.7vh, 1.8rem) 0 0; font-size: clamp(0.875rem, 1.2vw, 1.05rem); line-height: 1.55; }
.vv-variant--gateway-screen .vv-gateways { width: min(100%, 54rem); grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0.9rem; margin-top: clamp(2rem, 6vh, 4rem); text-align: center; }
.vv-variant--gateway-screen .vv-gateway { min-height: 0; padding: 1.1rem 2.8rem 1.15rem 1.3rem; border-color: rgb(255 255 255 / 48%); background: rgb(6 25 19 / 8%); }
.vv-variant--gateway-screen .vv-gateway h2 { margin: 0; font-size: clamp(1.6rem, 2.65vw, 2.75rem); line-height: 1.12; }
.vv-variant--gateway-screen .vv-gateway .wp-block-button__link::after { top: 50%; right: 1.25rem; bottom: auto; transform: translateY(-50%); font-size: 1.15rem; }
.vv-variant--gateway-screen .vv-gateway:hover { background: rgb(255 255 255 / 10%); border-color: rgb(255 255 255 / 85%); }
.vv-variant--gateway-screen.vv-background--video { padding-bottom: max(4.5rem, 8vh); }
.vv-variant--gateway-screen.vv-background--video > .vv-section__overlay { bottom: 4rem; }
.vv-editor-section.vv-variant--gateway-screen { min-height: 32rem; height: auto; padding: 4rem 1.5rem; overflow: visible; }
.vv-editor-section.vv-variant--gateway-screen > .vv-editor-section__label { width: 100%; }

@media (max-width: 1040px) {
  .vv-gateway-home .vv-header__inner { gap: 0.6rem 1rem; }
  .vv-gateway-home .vv-site-header:not(.is-enhanced) .vv-header__nav { margin: 0; }
  .vv-gateway-home .vv-site-header:not(.is-enhanced) .vv-primary-menu { justify-content: flex-start; gap: 0.2rem 1.15rem; }
  .vv-gateway-home .vv-site-header:not(.is-enhanced) .vv-primary-menu > li > a { font-size: 0.7rem; padding-block: 0.3rem; }
  .vv-gateway-home .vv-site-header.is-menu-open { position: absolute; inset: 0; height: 100%; overflow: hidden; background: var(--vv-cream); }
  .vv-gateway-home .vv-site-header.is-menu-open .vv-header__nav { padding-block: clamp(1rem, 5vh, 3rem); }
  .vv-gateway-home .vv-site-header.is-menu-open .vv-primary-menu { gap: 0.25rem; }
  .vv-gateway-home .vv-site-header.is-menu-open .vv-primary-menu > li > a { font-size: clamp(2rem, 7vh, 3.75rem); line-height: 1.12; padding-block: 0.35rem; }
}
@media (max-width: 782px) { .vv-gateway-home.admin-bar { --vv-admin-height: 46px; } }
@media (max-width: 767px) {
  .vv-gateway-home .vv-site-name { font-size: 1.6rem; }
  .vv-gateway-home .vv-site-header:not(.is-enhanced) .vv-header__inner { row-gap: 0.8rem; }
  .vv-variant--gateway-screen { padding-top: clamp(7rem, 18vh, 10rem); padding-bottom: clamp(2rem, 7vh, 4rem); }
  .vv-variant--gateway-screen h1 { max-width: 13ch; font-size: clamp(3.25rem, 13.5vw, 5.5rem); line-height: 1.03; }
  .vv-variant--gateway-screen h1 + p { max-width: 30ch; font-size: 0.9rem; margin-top: 1.4rem; }
  .vv-variant--gateway-screen .vv-gateways { gap: 0.45rem; margin-top: 2.5rem; }
  .vv-variant--gateway-screen .vv-gateway { padding: 0.95rem 0.3rem; }
  .vv-variant--gateway-screen .vv-gateway h2 { font-size: clamp(1.35rem, 5.6vw, 2.25rem); }
  .vv-variant--gateway-screen .vv-gateway .wp-block-button__link::after { display: none; }
}
@media (max-height: 540px) {
  .vv-gateway-home .vv-site-header--gateway { padding-block: 0.65rem; }
  .vv-gateway-home .vv-site-name { font-size: 1.4rem; }
  .vv-gateway-home .vv-menu-toggle { height: 38px; }
  .vv-gateway-home .vv-site-header.is-menu-open .vv-header__nav { padding-block: 0.4rem; }
  .vv-gateway-home .vv-site-header.is-menu-open .vv-primary-menu > li > a { font-size: clamp(1.3rem, 7vh, 2rem); padding-block: 0.2rem; }
  .vv-variant--gateway-screen { padding-top: 5.7rem; padding-bottom: 1.15rem; }
  .vv-variant--gateway-screen h1 { max-width: 23ch; font-size: clamp(2rem, 9.5vh, 3.2rem); line-height: 1.03; }
  .vv-variant--gateway-screen h1 + p { max-width: 48ch; margin-top: 0.7rem; font-size: 0.875rem; }
  .vv-variant--gateway-screen .vv-gateways { width: min(100%, 43rem); margin-top: 1.2rem; }
  .vv-variant--gateway-screen .vv-gateway { padding: 0.55rem 0.8rem; }
  .vv-variant--gateway-screen .vv-gateway h2 { font-size: clamp(1.35rem, 6vh, 1.8rem); }
  .vv-variant--gateway-screen.vv-background--video { padding-bottom: 4rem; }
}
@media (max-height: 360px) {
  .vv-variant--gateway-screen { padding-top: 4rem; padding-bottom: 0.5rem; }
  .vv-variant--gateway-screen h1 { font-size: clamp(1.7rem, 8.5vh, 2rem); }
  .vv-variant--gateway-screen h1 + p { margin-top: 0.5rem; font-size: 0.8rem; line-height: 1.45; }
  .vv-variant--gateway-screen .vv-gateways { margin-top: 1rem; }
  .vv-variant--gateway-screen .vv-gateway { min-height: 46px; padding: 0.5rem 0.35rem; }
  .vv-variant--gateway-screen .vv-gateway h2 { font-size: 1.25rem; }
  .vv-site-header--gateway:not(.is-enhanced) + #main-content .vv-variant--gateway-screen { padding-top: 7rem; }
  .admin-bar .vv-site-header--gateway:not(.is-enhanced) + #main-content .vv-variant--gateway-screen { padding-top: 6.5rem; padding-bottom: 0.25rem; }
}
@media (prefers-reduced-motion: no-preference) {
  .vv-variant--gateway-screen[data-vv-animation="rise"] h1 { animation: vv-gateway-arrive 750ms cubic-bezier(0.2,0.65,0.3,1) both; }
  .vv-variant--gateway-screen[data-vv-animation="fade"] > .vv-section__inner { animation: vv-gateway-fade 480ms ease-out both; }
}
@keyframes vv-gateway-arrive { from { transform: translateY(0.35rem); } to { transform: translateY(0); } }
@keyframes vv-gateway-fade { from { opacity: 0.88; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .vv-variant--gateway-screen .vv-gateway { transition: none; } }
