@import url("/assets/pc-mobile-experience-v1.css?v=1");

@font-face {
  font-family: "Luckiest Guy";
  src: url("/assets/fonts/LuckiestGuy-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

:root {
  --mogoo-brand: #339cff;
  --mogoo-brand-hover: #218ff0;
}

/* Keep the desktop layout width stable while the profile overlay locks page scroll. */
@media (min-width: 801px) {
  html {
    scrollbar-gutter: stable;
  }
}

/* Keep mobile taps from painting the browser's default gray flash. */
html,
html *,
body,
body * {
  -webkit-tap-highlight-color: transparent;
}

/*
 * Keep the application shell visible while account and page data load.
 * Hiding #app delayed the first meaningful paint and produced a blank screen
 * on reload. Data-dependent areas now reserve their own space instead.
 */
#app {
  min-height: 100vh;
}

.party-list-loading {
  display: grid;
  gap: 14px;
  width: 100%;
}

.party-list-skeleton {
  min-height: 224px;
  padding: 22px;
  border: 1px solid #e6edf5;
  border-radius: 18px;
  background: #fbfdff;
}

.party-list-skeleton::before,
.party-list-skeleton::after {
  content: "";
  display: block;
  border-radius: 999px;
  background: #edf2f7;
}

.party-list-skeleton::before {
  width: min(42%, 180px);
  height: 20px;
}

.party-list-skeleton::after {
  width: min(70%, 320px);
  height: 13px;
  margin-top: 18px;
  box-shadow:
    0 34px 0 #edf2f7,
    0 68px 0 #edf2f7;
}

.party-data-shell {
  min-height: min(72vh, 680px);
  display: grid;
  place-items: center;
  grid-template-rows: auto auto;
  align-content: start;
  padding: 40px 20px 120px;
  background: #fff;
}

.party-data-loading-brand {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 29px;
  margin: 0 auto 30px;
  text-decoration: none;
}

.party-data-loading-brand .mogoo-type-logo {
  width: 132px;
  height: 29px;
}

.party-data-shell-card {
  width: min(100%, 720px);
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 18px;
  align-items: center;
  padding: 28px;
  border: 1px solid #e5edf6;
  border-radius: 22px;
  background: #fbfdff;
}

.party-data-shell-card > i {
  width: 72px;
  height: 72px;
  border-radius: 20px;
  background: #e8f3ff;
}

.party-data-shell-card > div::before,
.party-data-shell-card > div::after {
  content: "";
  display: block;
  border-radius: 999px;
  background: #e9eff6;
}

.party-data-shell-card > div::before {
  width: min(58%, 240px);
  height: 21px;
}

.party-data-shell-card > div::after {
  width: min(82%, 380px);
  height: 13px;
  margin-top: 14px;
}

.party-data-shell-card span {
  display: block;
  margin-top: 18px;
  color: #748297;
  font-size: 13px;
}

@media (max-width: 800px) {
  .party-list-skeleton {
    min-height: 208px;
    padding: 18px;
    border-radius: 16px;
  }

  .party-data-shell {
    min-height: 64vh;
    align-items: start;
    padding: 34px 20px 110px;
  }

  .party-data-loading-brand {
    min-height: 24px;
    margin-bottom: 26px;
  }

  .party-data-loading-brand .mogoo-type-logo {
    width: 111px;
    height: 24px;
  }

  .party-data-shell-card {
    grid-template-columns: 54px 1fr;
    gap: 14px;
    padding: 20px 18px;
    border-radius: 18px;
  }

  .party-data-shell-card > i {
    width: 54px;
    height: 54px;
    border-radius: 16px;
  }
}

.brand.mogoo-brand,
.brand.mogoo-brand:hover,
.brand.mogoo-brand:active,
.brand.mogoo-brand:focus,
.brand.mogoo-brand:focus-visible,
.auth-page-brand.mogoo-brand,
.auth-page-brand.mogoo-brand:hover,
.auth-page-brand.mogoo-brand:active,
.auth-page-brand.mogoo-brand:focus,
.auth-page-brand.mogoo-brand:focus-visible {
  border-color: transparent !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
  -webkit-tap-highlight-color: transparent;
}

/* Profile panel: circular close control and a 50KB photo upload affordance. */
.profile-close {
  display: grid !important;
  place-items: center;
  box-sizing: border-box;
  width: 36px !important;
  min-width: 36px !important;
  max-width: 36px !important;
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  aspect-ratio: 1;
  line-height: 1 !important;
}

.profile-close:focus,
.profile-close:focus-visible {
  outline: 0 !important;
  box-shadow: none !important;
}

.profile-head-copy {
  min-width: 0;
}

.profile-head-actions {
  display: grid;
  flex: 0 0 auto;
  justify-items: center;
  gap: 5px;
  margin-left: auto;
}

.profile-head-actions .profile-close {
  margin-left: 0;
}

.profile-head-actions > a {
  color: #397fbd;
  font-size: 9.5px;
  font-weight: 850;
  line-height: 1.2;
  white-space: nowrap;
}

.profile-avatar.profile-avatar-upload {
  position: relative;
  overflow: visible;
  padding: 0;
  border: 0;
  cursor: pointer;
}

.profile-avatar.profile-avatar-upload img {
  width: 100%;
  height: 100%;
  border-radius: inherit;
  object-fit: cover;
}

.profile-avatar.profile-avatar-upload > i {
  position: absolute;
  right: -4px;
  bottom: -4px;
  display: grid;
  place-items: center;
  width: 18px;
  height: 18px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: #1684e5;
  color: #fff;
  font-size: 13px;
  font-style: normal;
  line-height: 1;
}

.profile-avatar-result {
  display: none;
  margin: 0;
  padding: 8px 20px;
  background: #f1f8ff;
  color: #2874b7;
  font-size: 11px;
}

.profile-avatar-result.show,
.profile-avatar-result.error {
  display: block;
}

.profile-avatar-result.error {
  background: #fff2f3;
  color: #c44752;
}

/* Profile sheet subscription-wallet summary (shared by every page). */
.profile-action-needed {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) 12px;
  align-items: center;
  gap: 9px;
  margin: 0 18px 14px;
  padding: 12px;
  border-radius: 13px;
  background: #eef8ff;
  color: inherit;
}

.profile-action-needed > i {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border-radius: 9px;
  background: #339cff;
  color: #fff;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
}

.profile-action-needed.is-clear {
  grid-template-columns: 32px minmax(0, 1fr);
  background: #eefaf6;
}

.profile-action-needed.is-clear > i {
  background: #12aa75;
}

.profile-action-needed b,
.profile-action-needed small {
  display: block;
}

.profile-action-needed b {
  color: #182536;
  font-size: 12px;
}

.profile-action-needed small {
  margin-top: 2px;
  overflow: hidden;
  color: #778496;
  font-size: 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.profile-action-needed > em {
  color: #9aabba;
  font-size: 18px;
  font-style: normal;
}

.wallet-profile-summary b {
  font-size: 14px !important;
  white-space: nowrap;
}

@media (max-width: 800px) {
  .profile-panel .profile-head h2 {
    font-size: 17px;
  }

  .profile-panel .profile-subscriptions h3 {
    font-size: 15px;
  }

  .profile-panel .wallet-profile-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .profile-panel .wallet-profile-summary b {
    font-size: 11px !important;
  }

  .profile-panel .profile-close,
  .profile-panel .profile-close:focus,
  .profile-panel .profile-close:active {
    width: 36px;
    height: 36px;
    border: 0 !important;
    border-radius: 50% !important;
    outline: 0 !important;
    box-shadow: none !important;
  }
}

.profile-empty > b > span {
  display: block;
}

.protection-upload > span > em {
  display: inline-flex;
  margin-left: 4px;
  padding: 2px 6px;
  border-radius: 999px;
  background: #e9f4ff;
  color: #1684e5;
  font-size: 9px;
  font-style: normal;
  font-weight: 850;
  line-height: 1.3;
  vertical-align: 1px;
}

.profile-subscriptions > .profile-empty {
  display: block !important;
  width: 100%;
  max-width: none !important;
  overflow: visible !important;
  white-space: normal !important;
}

@media (max-width: 800px) {
  .mobile-bottom-nav a:focus,
  .mobile-bottom-nav a:focus-visible {
    outline: 0 !important;
    box-shadow: none !important;
  }

  .mobile-bottom-nav > a:first-child > b {
    font-size: 24px !important;
  }

  .mobile-bottom-nav > a:first-child.on,
  .mobile-bottom-nav > a:first-child.on > b {
    color: #1684e5 !important;
  }

  .mobile-bottom-nav #mobile-profile-link > b,
  .mobile-bottom-nav #mobile-profile-link.on > b {
    background: transparent !important;
    box-shadow: none !important;
  }

  .mobile-bottom-nav > a:first-child,
  .mobile-bottom-nav > a:nth-child(4),
  .mobile-bottom-nav #mobile-profile-link,
  .mobile-bottom-nav > a:first-child > b,
  .mobile-bottom-nav > a:nth-child(4) > b,
  .mobile-bottom-nav #mobile-profile-link > b {
    background: transparent !important;
    box-shadow: none !important;
  }

  .mobile-bottom-nav .mobile-party-create > b,
  .mobile-bottom-nav .mobile-party-create.on > b {
    background: #339cff !important;
    color: #fff !important;
    box-shadow: none !important;
  }
}

/* Compact clickable party cards: the whole card replaces the old CTA bar. */
body .party-card.recruitment-card,
body .list-card.recruitment-card {
  grid-template-rows: auto auto auto;
  align-content: start;
  gap: 18px;
  min-height: 248px;
}

body .party-card.recruitment-card .recruitment-price,
body .list-card.recruitment-card .recruitment-price {
  margin-top: 0;
}

body .party-card.recruitment-card .recruitment-seats,
body .list-card.recruitment-card .recruitment-seats {
  margin: 0;
}

@media (max-width: 800px) {
  body .list-card.recruitment-card {
    min-height: 222px;
    padding: 18px;
    gap: 15px;
  }
}

/* OTT service cards stay flat in every pointer state. */
.home .ott-service-loop .ott-service,
.home .ott-service-loop .ott-service:hover,
.home .ott-service-loop .ott-service:active,
.home .ott-service-loop .ott-service:focus {
  border-color: #e2eaf3 !important;
  background-color: var(--service-bg, #f2f8ff) !important;
  box-shadow: none !important;
  outline: 0;
  transform: none !important;
  -webkit-tap-highlight-color: transparent;
}

.home .ott-service-loop .ott-service:focus-visible {
  border-color: #9aa8b8 !important;
  outline: 2px solid #9aa8b8;
  outline-offset: 2px;
}

/* One account button system for every public page and auth state. */
.site-head .header-actions {
  min-height: 44px;
  align-items: center !important;
}

.site-head .header-actions #account-link,
.site-head .header-actions #account-link:hover,
.site-head .header-actions #account-link:active,
.site-head .header-actions #account-link:focus {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: auto;
  min-width: 72px !important;
  height: 42px !important;
  min-height: 42px !important;
  box-sizing: border-box;
  padding: 0 14px !important;
  border: 1px solid var(--mogoo-brand) !important;
  border-radius: 11px !important;
  background: var(--mogoo-brand) !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-align: center;
  white-space: nowrap;
  box-shadow: none !important;
  transform: none !important;
}

.site-head .header-actions #account-link:hover {
  background: var(--mogoo-brand-hover) !important;
}

.site-head .header-actions #account-link span {
  display: block !important;
  max-width: 92px;
  overflow: hidden;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.site-head .header-actions #account-link .profile-pictogram {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  overflow: visible;
  border: 0 !important;
  color: #fff;
  opacity: 1;
}

.site-head .header-actions #account-link .profile-pictogram circle,
.site-head .header-actions #account-link .profile-pictogram path {
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.profile-avatar {
  background: var(--mogoo-brand) !important;
}

.profile-head small,
.profile-summary b {
  color: #1684e5 !important;
}

@media (max-width: 800px) {
  body.profile-open {
    overflow: hidden !important;
  }

  .profile-backdrop {
    position: fixed !important;
    z-index: 10020 !important;
    inset: 0 !important;
    width: 100vw;
    height: 100dvh;
  }

  .profile-panel {
    position: fixed !important;
    z-index: 10021 !important;
    inset: auto 0 0 !important;
    width: 100vw !important;
    max-width: none !important;
    max-height: calc(100dvh - max(16px, env(safe-area-inset-top))) !important;
    box-sizing: border-box;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior-y: contain;
    padding-bottom: calc(14px + env(safe-area-inset-bottom)) !important;
    border-width: 1px 0 0 !important;
    border-radius: 24px 24px 0 0 !important;
    opacity: 1 !important;
    transform: translate3d(0, 100%, 0) !important;
    transform-origin: bottom;
    transition: transform 0.24s cubic-bezier(0.22, 1, 0.36, 1) !important;
    -webkit-overflow-scrolling: touch;
  }

  .profile-panel.open {
    transform: translate3d(0, 0, 0) !important;
  }

  .profile-panel-content {
    min-width: 0;
  }

  .profile-head {
    position: relative;
    padding: 20px 18px 17px !important;
  }

  .profile-head-copy {
    min-width: 0;
  }

  .profile-head-copy p {
    max-width: calc(100vw - 166px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .profile-head-actions {
    align-self: center;
  }

  .site-head .header-actions #account-link,
  .site-head .header-actions #account-link:hover,
  .site-head .header-actions #account-link:active,
  .site-head .header-actions #account-link:focus {
    min-width: 68px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 11px !important;
    font-size: 11px !important;
  }

  .site-head .header-actions #account-link span {
    max-width: 76px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .profile-panel {
    transition: none !important;
  }
}

/* Touch feedback stays color-only; remove iOS tap flashes and press shadows. */
a,
button,
label,
input,
select {
  -webkit-tap-highlight-color: transparent;
}

.home-section-nav a,
.home-section-nav a:hover,
.home-section-nav a:active,
.home-section-nav a:focus,
.home-section-nav a:focus-visible {
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
}

.home-section-nav a.on {
  background: transparent !important;
}

/* Party detail: compact, content-first typography and price guidance. */
.detail-page-label {
  font-size: 28px;
  line-height: 1.25;
}

.detail-layout .product-head h1 {
  font-size: 28px;
  line-height: 1.32;
}

.detail-layout .product-head > p,
.detail-layout .product-info > p {
  font-size: 15px;
  line-height: 1.6;
}

.detail-price-guide {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
}

.detail-price-guide .regular-price {
  color: #9aa5b4;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.45;
}

.detail-price-guide .regular-price s {
  color: #aeb7c3;
  text-decoration-thickness: 1.5px;
}

.detail-price-guide b {
  color: #147fd0;
  font-size: 18px;
  line-height: 1.35;
}

.detail-price-guide b em {
  margin-right: 5px;
  color: #22ad70;
  font-style: normal;
  font-weight: 900;
}

.detail-price-guide small {
  color: #7a8797;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.5;
}

.detail-layout .detail-person {
  width: 27px;
  height: 38px;
  flex-basis: 27px;
}

.detail-layout .detail-person::before {
  width: 11px;
  height: 11px;
}

.detail-layout .detail-person::after {
  top: 15px;
  width: 23px;
  height: 14px;
}

.detail-layout .capacity-summary span {
  padding: 6px 10px;
  font-weight: 750;
}

@media (max-width: 800px) {
  .detail-page-label {
    font-size: 22px;
    line-height: 1.3;
  }

  .detail-layout .product-head {
    padding-bottom: 20px;
  }

  .detail-layout .product-head h1 {
    margin: 7px 0;
    font-size: 24px;
    line-height: 1.35;
    letter-spacing: -.045em;
  }

  .detail-layout .product-head > p,
  .detail-layout .product-info > p {
    font-size: 14px;
    line-height: 1.55;
  }

  .detail-layout .host-proof {
    padding: 15px;
  }

  .detail-layout .host-proof strong {
    font-size: 15px;
    line-height: 1.45;
  }

  .detail-layout .host-proof p {
    font-size: 12px;
    line-height: 1.5;
  }

  .detail-layout .product-info {
    padding: 18px 0;
  }

  .detail-layout .product-info h2,
  .detail-layout .comment-box h2 {
    font-size: 20px;
    line-height: 1.4;
  }

  .detail-layout .info-row {
    grid-template-columns: 94px minmax(0, 1fr);
    padding: 13px 8px;
  }

  .detail-layout .info-row > span {
    font-size: 13px;
    line-height: 1.55;
  }

  .detail-layout .info-row > b {
    font-size: 15px;
    line-height: 1.5;
  }

  .detail-layout .capacity-row {
    align-items: center;
  }

  .detail-layout .detail-capacity {
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 10px;
  }

  .detail-layout .detail-people {
    gap: 6px;
  }

  .detail-layout .detail-person {
    width: 24px;
    height: 30px;
    flex-basis: 24px;
  }

  .detail-layout .detail-person::before {
    width: 11px;
    height: 11px;
  }

  .detail-layout .detail-person::after {
    top: 14px;
    width: 23px;
    height: 14px;
  }

  .detail-layout .capacity-summary span {
    padding: 5px 8px;
    font-size: 10px;
    line-height: 1.5;
  }

  .detail-layout .capacity-summary b {
    font-size: 13px;
  }

  .detail-price-guide b {
    font-size: 17px;
    line-height: 1.4;
  }

  .detail-price-guide small {
    font-size: 12px;
    line-height: 1.5;
  }

  .mobile-purchase-bar > .mobile-purchase-pricing {
    min-width: 126px;
    margin-left: 12px;
  }

  .mobile-purchase-pricing small,
  .mobile-purchase-pricing b,
  .mobile-purchase-pricing strong {
    display: block;
    white-space: nowrap;
  }

  .mobile-purchase-pricing small {
    color: #98a3b2;
    font-size: 10px;
    line-height: 1.3;
  }

  .mobile-purchase-pricing small s {
    color: #aab3bf;
    text-decoration-thickness: 1.2px;
  }

  .mobile-purchase-pricing b {
    margin-top: 1px;
    color: #546173;
    font-size: 12px;
    line-height: 1.35;
  }

  .mobile-purchase-pricing b em {
    margin-right: 3px;
    color: #20ae70;
    font-style: normal;
    font-weight: 900;
  }

  .mobile-purchase-pricing strong {
    margin-top: 0;
    color: #1d2938;
    font-size: 17px;
    line-height: 1.3;
  }

  .mobile-purchase-bar #mobile-purchase-open {
    min-width: 0;
    font-size: 14px;
    white-space: nowrap;
  }
}

.usage-reveal-access {
  width: 100%;
  min-height: 40px;
  margin-top: 14px;
  border: 1px solid #9dcbff;
  border-radius: 10px;
  background: #eef7ff;
  color: #147fd0;
  font-size: 12px;
  font-weight: 800;
  box-shadow: none;
  transform: none;
}

.usage-invite-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 42px;
  padding: 0 14px;
  border-radius: 12px;
  color: #fff;
  background: var(--brand, #339cff);
  font-weight: 700;
  text-decoration: none;
}

.usage-access-secret {
  margin-top: 9px;
  padding: 11px 12px;
  border: 1px solid #dce8f5;
  border-radius: 10px;
  background: #fff;
}

.usage-access-secret[hidden] {
  display: none;
}

.usage-access-secret dl {
  margin: 0;
}

.usage-access-secret dl > div {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 7px 0;
  border-top: 1px solid #edf1f5;
  font-size: 12px;
}

.usage-access-secret dl > div:first-child {
  border-top: 0;
}

.usage-access-secret dt {
  color: #788698;
}

.usage-access-secret dd {
  margin: 0;
  color: #1f2d3d;
  font-weight: 800;
  word-break: break-all;
}

/* Keep footer business details aligned with the policy-link text. */
.footer-business {
  color: #aebdce;
}

/* Shared public footer layout: brand and navigation sit above the separated
   business disclosure, matching the compact two-column reference pattern. */
.footer.footer {
  border-top: 1px solid rgba(32, 36, 51, .39) !important;
  background: #0e1018 !important;
  color: #a7adbe !important;
  padding: 56px 0 41px !important;
  font-size: 14px;
}

.footer.footer > .footer-wrap {
  width: min(1000px, calc(100% - 48px));
  margin-inline: auto;
}

.footer-main {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 40px;
}

.footer-brand {
  min-width: 0;
  max-width: 390px;
}

.footer.footer .footer-brand > .brand {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
}

.footer.footer .footer-brand .mogoo-type-logo {
  width: 132px;
  height: auto;
  filter: grayscale(1) brightness(0) invert(1);
}

.footer.footer .footer-tagline {
  max-width: 390px;
  min-height: 46px;
  margin: 16px 0 0;
  color: #a7adbe !important;
  font-size: 14px;
  line-height: 1.65;
}

.footer-links {
  display: flex;
  flex: 0 0 auto;
  gap: 56px;
  margin-left: auto;
}

.footer-link-group {
  min-width: 120px;
}

.footer-link-group:last-child {
  min-width: 170px;
}

.footer.footer .footer-link-label {
  margin: 0;
  color: #6c7388 !important;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
}

.footer-link-group ul {
  display: grid;
  gap: 8px;
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
  color: #a7adbe;
  font-size: 14px;
  line-height: 1.45;
}

.footer-link-group a {
  color: #a7adbe;
  text-decoration: none;
  transition: color 160ms ease;
}

.footer-link-group a:hover,
.footer-link-group a:focus-visible {
  color: #f5f6fa;
}

.footer-contact {
  color: #6c7388;
  font-size: 13px;
  white-space: nowrap;
}

.footer-contact a {
  color: #a7adbe;
}

.footer.footer .footer-business {
  display: block;
  margin: 48px 0 0;
  padding-top: 17px;
  border-top: 1px solid rgba(32, 36, 51, .39);
  color: #6c7388;
  font-size: 13px;
  line-height: 1.62;
  word-break: keep-all;
}

.footer.footer .footer-business p {
  max-width: none;
  margin: 0;
  color: inherit !important;
}

.footer.footer .footer-business .footer-copyright {
  margin-top: 12px;
}

@media (max-width: 800px) {
  .footer.footer {
    padding: 40px 0 calc(36px + var(--mobile-nav-total-height)) !important;
  }

  .footer.footer > .footer-wrap {
    width: calc(100% - 40px);
  }

  .footer-main {
    flex-direction: column;
    gap: 32px;
  }

  .footer-brand,
  .footer.footer .footer-tagline {
    max-width: none;
  }

  .footer.footer .footer-brand .mogoo-type-logo {
    width: 111px;
  }

  .footer-links {
    width: 100%;
    gap: 28px 40px;
    margin-left: 0;
  }

  .footer-link-group {
    min-width: 0;
    flex: 1 1 120px;
  }

  .footer-link-group:last-child {
    min-width: 0;
  }

  .footer.footer .footer-business {
    margin-top: 36px;
    padding-top: 16px;
  }

  .footer-contact {
    white-space: normal;
  }
}
