.hpc-hero {
  width: 100%;
  margin: -64px 0 0;
  padding: 0 0 60px;
  font-family: Swiss721BT Regular, sans-serif;
}

.hpc-stage {
  color: #fff;
  aspect-ratio: 1440 / 868;
  width: 100%;
  min-height: 480px;
  max-height: 940px;
  position: relative;
  overflow: hidden;
}

.hpc-slide {
  opacity: 0;
  visibility: hidden;
  isolation: isolate;
  transition: opacity .6s ease-in-out, visibility 0s linear .6s;
  position: absolute;
  inset: 0;
}

.hpc-slide.active {
  opacity: 1;
  visibility: visible;
  z-index: 1;
  transition: opacity .6s ease-in-out;
}

.hpc-slide.leaving-next, .hpc-slide.leaving-prev {
  opacity: 1;
  visibility: visible;
  z-index: 3;
  transition: none;
}

.hpc-slide.leaving-next, .hpc-slide.leaving-prev, .hpc-slide.leaving-next *, .hpc-slide.leaving-prev * {
  pointer-events: none;
}

.hpc-slide.leaving-next {
  animation: .6s cubic-bezier(.6, 0, .2, 1) forwards hpcCardOutNext;
  box-shadow: 40px 0 80px #00000073;
}

.hpc-slide.leaving-prev {
  animation: .6s cubic-bezier(.6, 0, .2, 1) forwards hpcCardOutPrev;
  box-shadow: -40px 0 80px #00000073;
}

@keyframes hpcCardOutNext {
  from {
    opacity: 1;
    transform: translateX(0) scale(1);
  }

  to {
    opacity: .7;
    transform: translateX(-104%) scale(.94);
  }
}

@keyframes hpcCardOutPrev {
  from {
    opacity: 1;
    transform: translateX(0) scale(1);
  }

  to {
    opacity: .7;
    transform: translateX(104%) scale(.94);
  }
}

@media (prefers-reduced-motion: reduce) {
  .hpc-slide.leaving-next, .hpc-slide.leaving-prev {
    box-shadow: none;
    opacity: 0;
    z-index: 0;
    animation: none;
  }
}

.hpc-bg {
  object-fit: cover;
  object-position: center;
  z-index: 1;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

.hpc-overlay {
  z-index: 1;
  pointer-events: none;
  position: absolute;
  inset: 0;
}

.hpc-panels {
  width: var(--content-max-width);
  box-sizing: border-box;
  pointer-events: none;
  gap: 18px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding: 0 18px;
  display: flex;
  position: absolute;
  inset: 96px 0 99px;
}

.hpc-panel {
  pointer-events: auto;
  border: 3px solid #fff;
  border-radius: 20px;
  flex-direction: column;
  justify-content: space-between;
  padding: 28px;
  display: flex;
  position: relative;
}

.hpc-panel--main {
  z-index: 2;
  flex: 3.1 1 0;
}

.hpc-panel--side {
  z-index: 4;
  cursor: pointer;
  background: var(--hpc-side-bg, none);
  background-blend-mode: multiply;
  flex: 1 1 0;
  transition: background-color .3s;
}

.hpc-panel--side:hover {
  background-blend-mode: normal;
  background-color: #29abe2;
  background-image: none;
}

.hpc-panel--side:focus-visible {
  outline-offset: 2px;
  outline: 2px solid #fff;
}

.hpc-badge {
  color: #fff;
  pointer-events: auto;
  flex-direction: column;
  align-self: flex-start;
  width: 307px;
  min-height: 143px;
  display: inline-flex;
  position: relative;
}

.hpc-badge-glass {
  pointer-events: none;
  z-index: 1;
  backdrop-filter: blur(9px);
  background: radial-gradient(100% 359.18% at 0 0, #17171766 0% 100%);
  position: absolute;
  inset: 0;
}

.hpc-badge-border-svg {
  pointer-events: none;
  z-index: 20;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  overflow: visible;
}

.hpc-badge-border-svg path {
  fill: none;
  stroke: #fff6;
  stroke-width: 1px;
  vector-effect: non-scaling-stroke;
}

.hpc-badge-content {
  z-index: 10;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  padding: 4px 20px 0;
  display: flex;
  position: relative;
}

.hpc-badge-label {
  letter-spacing: -.02em;
  padding-right: 30px;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.15;
}

.hpc-badge-icon {
  background: var(--coral);
  z-index: 30;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  display: flex;
  position: absolute;
  top: 0;
  right: 0;
  box-shadow: 0 4px 12px #ff966266;
}

.hpc-badge-icon svg {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  display: block;
}

.hpc-badge-value {
  letter-spacing: -.02em;
  margin-top: 5px;
  font-family: Swiss721BT Medium, sans-serif;
  font-size: 80px;
  font-weight: 600;
  line-height: 1;
  display: block;
}

.hpc-title {
  text-transform: uppercase;
  letter-spacing: -.04em;
  text-shadow: 0 8px 30px #00000047;
  margin: 0;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: max(44px, min(10vw - 44px, 100px));
  font-weight: 700;
  line-height: .98;
}

.hpc-side-text {
  letter-spacing: -.02em;
  color: #fff;
  margin: 0;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 20px;
  font-weight: 400;
}

.hpc-cta {
  justify-content: space-between;
  align-items: flex-end;
  gap: 16px;
  display: flex;
}

.hpc-cta-label {
  letter-spacing: -.02em;
  text-transform: uppercase;
  vertical-align: bottom;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: max(40px, min(5vw, 64px));
  font-weight: 700;
  line-height: 1;
}

.hpc-cta-arrow {
  background: #fff;
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 62px;
  height: 62px;
  display: flex;
}

.hpc-figure {
  object-fit: cover;
  object-position: center;
  z-index: 3;
  pointer-events: none;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

.hpc-dots {
  z-index: 5;
  gap: 10px;
  display: flex;
  position: absolute;
  bottom: 45px;
  left: 50%;
  transform: translateX(-50%);
}

.hpc-dot {
  cursor: pointer;
  background: #ffffff73;
  border: none;
  border-radius: 50%;
  width: 9px;
  height: 9px;
  padding: 0;
  transition: background-color .3s;
}

.hpc-dot.active {
  background: #fff;
}

@media (width <= 1024px) {
  .hpc-panels {
    gap: 14px;
    padding: 0 20px;
    top: 88px;
    bottom: 99px;
  }

  .hpc-panel {
    padding: 20px;
  }
}

@media (width <= 900px) {
  .hpc-hero {
    margin-top: -64px;
    padding: 0 0 24px;
  }

  .hpc-stage {
    aspect-ratio: auto;
    min-height: 760px;
  }

  .hpc-bg {
    height: 446px;
  }

  .hpc-overlay {
    height: 446px;
    bottom: auto;
  }

  .hpc-figure {
    display: none;
  }

  .hpc-panels {
    width: auto;
    max-width: none;
    padding: 0;
    display: block;
    inset: 0;
    transform: none;
  }

  .hpc-panel--main {
    height: 288px;
    padding: 18px;
    position: absolute;
    top: 96px;
    left: 14px;
    right: 14px;
  }

  .hpc-panel--side {
    background: #29abe2;
    border-color: #0000;
    min-height: 290px;
    padding: 22px;
    position: absolute;
    top: 396px;
    left: 14px;
    right: 14px;
  }

  .hpc-panel--side:hover {
    background: #29abe2;
  }

  .hpc-side-text, .hpc-cta-label {
    color: #1c1c1c;
  }

  .hpc-side-text {
    font-size: 17px;
  }

  .hpc-badge {
    transform-origin: 0 0;
    margin-bottom: -79px;
    transform: scale(.45);
  }

  .hpc-title-br-optional {
    display: none;
  }

  .hpc-title {
    font-size: 34px;
  }

  .hpc-cta-label {
    font-size: 38px;
  }

  .hpc-cta-arrow {
    width: 48px;
    height: 48px;
  }

  .hpc-dots {
    bottom: 26px;
  }

  .hpc-dot {
    background: #1c1c1c40;
  }

  .hpc-dot.active {
    background: #1c1c1c;
  }
}

@media (width <= 768px) {
  .hpc-hero {
    margin-top: -82px;
  }
}

.action-btn-wrapper {
  cursor: pointer;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  display: flex;
}

.action-btn-wrapper.disabled {
  cursor: not-allowed;
  opacity: .6;
  pointer-events: none;
}

.action-btn {
  background: var(--coral);
  color: #000;
  cursor: pointer;
  white-space: nowrap;
  border: none;
  border-radius: 100px;
  padding: 10px 22px;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 20px;
  transition: all .3s;
}

.action-btn-icon {
  background: var(--coral);
  color: #000;
  cursor: pointer;
  border: none;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 44px;
  height: 44px;
  transition: all .3s;
  display: flex;
}

.action-btn-wrapper:hover .action-btn, .action-btn-wrapper:hover .action-btn-icon {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px #0003;
}

.action-btn:disabled, .action-btn-icon:disabled {
  cursor: not-allowed;
}

.action-btn-wrapper.dark .action-btn, .action-btn-wrapper.dark .action-btn-icon {
  color: #fff;
  background: #171717;
}

.contact-privacy-center {
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  display: flex;
}

.contact-privacy-center a {
  color: #000;
  text-decoration: none;
}

.contact-privacy-center a:hover {
  text-decoration: underline;
}

.contact-modal-overlay {
  z-index: 1000;
  backdrop-filter: blur(4px);
  justify-content: center;
  align-items: flex-start;
  width: 100vw;
  height: 100vh;
  padding: 26px 20px 20px;
  animation: .3s ease-out forwards modalFadeIn;
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
  overflow-y: auto;
}

.contact-modal-overlay .action-btn-wrapper, .contact-modal-overlay .action-btn-wrapper .action-btn {
  width: 100%;
}

.contact-modal-overlay.closing {
  animation: .3s ease-in forwards modalFadeOut;
}

@keyframes modalFadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes modalFadeOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

.contact-modal-content {
  background: #2eb3e6;
  border-radius: 20px;
  flex-direction: column;
  width: 100%;
  max-width: 780px;
  padding: 20px;
  animation: .4s cubic-bezier(.175, .885, .32, 1.275) forwards modalSlideUp;
  display: flex;
  position: relative;
}

.contact-modal-content.closing {
  animation: .3s cubic-bezier(.6, -.28, .735, .045) forwards modalSlideDown;
}

@keyframes modalSlideUp {
  from {
    opacity: 0;
    transform: translateY(20px) scale(.95);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes modalSlideDown {
  from {
    opacity: 1;
    transform: translateY(0) scale(1);
  }

  to {
    opacity: 0;
    transform: translateY(20px) scale(.95);
  }
}

.contact-modal-close {
  cursor: pointer;
  z-index: 10;
  background-color: #0000;
  border: none;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  transition: transform .2s;
  display: flex;
  position: absolute;
  top: 20px;
  right: 20px;
}

.contact-modal-close:hover {
  transform: scale(1.1);
}

.contact-modal-header {
  text-align: center;
  border-radius: 20px 20px 0 0;
  margin: -20px -20px 0;
  padding: 30px 20px;
}

.contact-modal-title {
  color: #171717;
  text-transform: uppercase;
  letter-spacing: -4%;
  margin: 0 0 10px;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 96px;
  font-weight: 700;
}

.contact-modal-subtitle {
  color: #171717;
  letter-spacing: -2%;
  margin: 0;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 22px;
}

.contact-modal-form {
  background: #fff;
  border-radius: 16px;
  flex-direction: column;
  gap: 20px;
  margin: 0 -4px -4px;
  padding: 30px;
  display: flex;
}

.contact-modal-form .form-row-custom {
  gap: 20px;
  display: flex;
}

.contact-modal-form .form-group-custom {
  flex-direction: column;
  flex: 1;
  display: flex;
}

.contact-modal-form label {
  color: #171717;
  text-transform: uppercase;
  letter-spacing: .5px;
  margin-bottom: 8px;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 12px;
  font-weight: 700;
}

.contact-modal-form input, .contact-modal-form textarea {
  background: #fff;
  border: none;
  border-radius: 8px;
  width: 100%;
  padding: 12px 15px;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 14px;
}

.contact-modal-form input::placeholder, .contact-modal-form textarea::placeholder {
  color: #999;
}

.contact-modal-form input:focus, .contact-modal-form textarea:focus {
  outline: 2px solid var(--coral);
}

.contact-modal-form .form-group-custom.has-error input {
  border: 2px solid #d32f2f;
}

.contact-modal-form .error-text {
  color: #d32f2f;
  margin-top: 4px;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 12px;
}

.contact-modal-submit {
  width: 100%;
  margin-top: 10px;
}

.contact-modal-success-message {
  color: #fff;
  text-align: center;
  background: #171717;
  border-radius: 16px;
  align-items: center;
  gap: 12px;
  margin-bottom: 32px;
  padding: 11px;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 16px;
  display: flex;
}

.contact-modal-error-message {
  color: #b00020;
  background: #fff5f5;
  border: 1px solid #d32f2f;
  border-radius: 12px;
  width: 100%;
  margin-bottom: 16px;
  padding: 10px 12px;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 14px;
}

.contact-modal-success-message svg {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
}

@media (width <= 768px) {
  .contact-modal-content {
    max-width: calc(100% - 30px);
    padding: 15px;
  }

  .contact-modal-header {
    margin: -15px -15px 0;
    padding: 25px 15px;
  }

  .contact-modal-title {
    font-size: 24px;
  }

  .contact-modal-subtitle {
    font-size: 16px;
  }

  .contact-modal-form {
    margin: 0 -15px -15px;
    padding: 20px 15px;
  }

  .contact-modal-form .form-row-custom {
    flex-direction: column;
    gap: 15px;
  }

  .contact-modal-form .form-group-custom {
    flex: none;
  }
}

.report-modal-overlay {
  z-index: 1100;
  box-sizing: border-box;
  background: #f9f6f4d4;
  justify-content: center;
  align-items: center;
  padding: 24px;
  animation: .3s ease-out forwards reportFadeIn;
  display: flex;
  position: fixed;
  inset: 0;
}

.report-modal-overlay.closing {
  animation: .3s ease-in forwards reportFadeOut;
}

@keyframes reportFadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes reportFadeOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

.report-modal {
  aspect-ratio: 1400 / 760;
  color: #fff;
  box-sizing: border-box;
  border: 2px solid #171717;
  border-radius: 24px;
  flex-direction: column;
  width: min(1400px, 95vw);
  max-height: 90vh;
  padding: 48px;
  font-family: Swiss721BT Regular, sans-serif;
  animation: .4s cubic-bezier(.175, .885, .32, 1.275) forwards reportSlideUp;
  display: flex;
  position: relative;
  overflow: hidden;
}

.report-modal.closing {
  animation: .3s cubic-bezier(.6, -.28, .735, .045) forwards reportSlideDown;
}

@keyframes reportSlideUp {
  from {
    opacity: 0;
    transform: translateY(20px) scale(.97);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes reportSlideDown {
  from {
    opacity: 1;
    transform: translateY(0) scale(1);
  }

  to {
    opacity: 0;
    transform: translateY(20px) scale(.97);
  }
}

.report-modal-bg {
  object-fit: cover;
  object-position: center;
  z-index: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

.report-modal:after {
  content: "";
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(#1c1c1ca6 0%, #1c1c1c66 45%, #1c1c1c4d 100%);
  position: absolute;
  inset: 0;
}

.report-modal-close {
  z-index: 3;
  cursor: pointer;
  background: #fff;
  border: none;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
  transition: transform .2s;
  display: flex;
  position: absolute;
  top: 28px;
  right: 28px;
}

.report-modal-close:hover {
  transform: scale(1.06);
}

.report-modal-intro {
  z-index: 1;
  letter-spacing: -.01em;
  max-width: 56%;
  margin: 0;
  font-size: max(20px, min(2vw, 30px));
  line-height: 1.22;
  position: relative;
}

.report-modal-cards {
  z-index: 1;
  gap: 24px;
  margin-top: auto;
  display: flex;
  position: relative;
}

.report-card {
  text-align: left;
  color: #fff;
  cursor: pointer;
  min-height: 320px;
  font: inherit;
  backdrop-filter: blur(7px);
  background: #17171799;
  border: none;
  border-radius: 20px;
  flex: 1 1 0;
  padding: 28px;
  transition: background-color .3s;
  display: flex;
}

.report-card-body {
  flex: auto;
  grid-template: "blurb blurb"
                 "title btn" 1fr
                 / 1fr auto;
  column-gap: 16px;
  display: grid;
}

.report-card.is-done {
  cursor: default;
  background: #171717;
}

.report-card:focus-visible {
  outline-offset: 3px;
  outline: 2px solid #fff;
}

.report-card-blurb {
  letter-spacing: -.02em;
  grid-area: blurb;
  align-self: start;
  max-width: 278px;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 20px;
}

.report-card-title {
  letter-spacing: -.04em;
  text-transform: uppercase;
  grid-area: title;
  align-self: end;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 64px;
  font-weight: 700;
  line-height: 64px;
}

.report-card-btn {
  background: #29abe2;
  border-radius: 50%;
  flex-shrink: 0;
  grid-area: btn;
  justify-content: center;
  align-self: end;
  align-items: center;
  width: 56px;
  height: 56px;
  transition: background-color .3s;
  display: flex;
}

.report-card:hover:not(.is-done) .report-card-btn {
  background: var(--coral);
}

.report-card.is-done .report-card-btn {
  background: #fff;
}

@media (width <= 900px) {
  .report-modal {
    aspect-ratio: auto;
    height: auto;
    max-height: 92vh;
    padding: 28px;
    overflow-y: auto;
  }

  .report-modal-intro {
    max-width: 100%;
    padding-right: 56px;
  }

  .report-modal-cards {
    flex-direction: column;
    margin-top: 36px;
  }

  .report-card {
    flex: none;
    min-height: 200px;
  }

  .report-card-title {
    font-size: 44px;
    line-height: 44px;
  }

  .report-modal-close {
    width: 40px;
    height: 40px;
    top: 18px;
    right: 18px;
  }
}

@media (width <= 600px) {
  .report-modal {
    border-radius: 20px;
    min-height: 88vh;
    max-height: 92vh;
    padding: 22px;
  }

  .report-modal-intro {
    text-align: center;
    max-width: 100%;
    padding: 52px 8px 0;
    font-size: 17px;
    line-height: 1.3;
  }

  .report-modal-cards {
    gap: 16px;
    margin-top: auto;
  }

  .report-card {
    border-radius: 16px;
    flex: none;
    min-height: 0;
    padding: 22px;
  }

  .report-card-body {
    grid-template-rows: auto auto;
    grid-template-areas: "blurb btn"
                         "title title";
    align-items: start;
    gap: 26px 12px;
  }

  .report-card-blurb {
    max-width: 100%;
    font-size: 16px;
    line-height: 1.25;
  }

  .report-card-title {
    overflow-wrap: break-word;
    align-self: start;
    min-width: 0;
    font-size: 34px;
    line-height: 34px;
  }

  .report-card-btn {
    align-self: start;
    width: 48px;
    height: 48px;
  }

  .report-modal-close {
    top: 16px;
    right: 16px;
  }
}

.redesign-intro {
  text-align: center;
  max-width: 1162px;
  margin: 0 auto;
  padding: 78px 20px 56px;
  font-family: Swiss721BT Regular, sans-serif;
}

.redesign-intro h2 {
  letter-spacing: -.02em;
  text-align: center;
  color: #1c1c1c;
  margin: 0;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 40px;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
}

.redesign-intro .intro-logo {
  vertical-align: middle;
  height: 28px;
  margin: 0 2px;
  position: relative;
  top: -4px;
}

.redesign-intro .intro-emphasis {
  font-family: Swiss721BT Medium, sans-serif;
}

.redesign-intro .highlight-blue {
  color: #23a8e0;
}

.redesign-intro .audience-pill {
  color: #1c1c1c;
  vertical-align: middle;
  white-space: normal;
  background-color: #ddf4fc;
  border-radius: 50px;
  align-items: center;
  padding: 4px 16px;
  display: inline-flex;
}

.redesign-intro .audience-icon {
  fill: currentColor;
  width: 32px;
  height: 32px;
  margin-right: 8px;
}

.redesign-intro.intro-custom-size h2 {
  max-width: 1016px;
  margin: 0 auto;
  font-size: 32px;
}

@media (width <= 768px) {
  .redesign-intro.intro-custom-size h2 {
    margin-top: 20px;
    margin-bottom: 56px;
    font-size: 18px;
  }

  .redesign-intro {
    padding: 10px;
  }

  .redesign-intro .audience-pill {
    margin-top: 8px;
    padding: 4px 8px;
  }

  .redesign-intro h2 {
    letter-spacing: -.02em;
    text-align: center;
    font-family: Swiss721BT Regular, sans-serif;
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 26px;
  }

  .redesign-intro .intro-logo {
    height: 13px;
    top: -1px;
  }

  .redesign-intro .audience-icon {
    width: 20px;
    height: 20px;
  }
}

.cs-intro-pill {
  background-color: #ddf4fc !important;
}

.redesign-placements {
  justify-content: center;
  padding: 80px 20px;
  font-family: Swiss721, sans-serif;
  display: flex;
}

.placements-content {
  max-width: var(--content-max-width);
  flex-direction: column;
  gap: 40px;
  width: 100%;
  display: flex;
}

@media (width >= 1024px) {
  .placements-content {
    flex-direction: row;
    align-items: stretch;
  }
}

.placements-text {
  flex-direction: column;
  width: 100%;
  max-width: 274px;
  display: flex;
}

.placements-text h2 {
  text-transform: uppercase;
  color: #1c1c1c;
  letter-spacing: -.04em;
  text-align: left;
  margin-bottom: 20px;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 50px;
  font-style: normal;
  font-weight: 700;
  line-height: 56px;
}

.placements-title-img {
  margin-bottom: 20px;
}

.placements-title-img.mobile {
  display: none;
}

@media (width <= 767px) {
  .placements-title-img.desktop {
    display: none;
  }

  .placements-title-img.mobile {
    height: 40px;
    display: block;
  }
}

.blue-box {
  color: #1c1c1c;
  letter-spacing: -.02em;
  text-align: left;
  background-color: #24ade9;
  border-radius: 20px;
  margin-bottom: auto;
  padding: 24px;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 24px;
}

.placements-text p {
  letter-spacing: -.02em;
  color: #1c1c1c;
  max-width: 232px;
  margin-top: 40px;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 20px;
}

.placements-text .all-caps {
  text-align: left;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 50px;
  line-height: 1;
}

.placements-cards {
  flex: 1;
  grid-template-columns: 1fr;
  gap: 20px;
  display: grid;
}

@media (width >= 768px) {
  .placements-cards {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (width >= 768px) and (width <= 1023px) {
  .placements-text {
    grid-template-columns: 1fr 1fr;
    align-items: start;
    gap: 10px 40px;
    max-width: 100%;
    display: grid;
  }

  .placements-text .all-caps {
    grid-area: 1 / 1;
    margin: 0;
    font-size: 40px;
  }

  .placements-text p:not(.all-caps) {
    text-align: left;
    grid-area: 1 / 2;
    max-width: 280px;
    margin-top: 0;
  }
}

.placement-card {
  border-radius: 16px;
  flex-direction: column;
  width: 100%;
  max-width: 344px;
  height: 100%;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  position: relative;
}

.card-image {
  aspect-ratio: 1;
  box-sizing: border-box;
  width: 100%;
  max-height: 400px;
  padding: 15px 15px 0;
  overflow: hidden;
}

.card-image img {
  object-fit: cover;
  border-radius: 15px;
  width: 100%;
  height: 100%;
  display: block;
}

.card-content {
  flex-direction: column;
  flex-grow: 1;
  padding: 20px 20px 30px;
  display: flex;
}

.card-content h3 {
  text-transform: uppercase;
  letter-spacing: -.04em;
  margin-bottom: 10px;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 32px;
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
}

.card-content p {
  margin: 0;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
}

.placement-card.on-property {
  color: #1c1c1c;
  background-color: #e6e6e6;
}

.placement-card.owned-digital {
  color: #1c1c1c;
  background-color: #24ade9;
}

.placement-card.offsite-digital {
  background-color: var(--coral);
  color: #1c1c1c;
}

.placement-arrow-wrapper {
  z-index: 2;
  background-color: #f9f6f4;
  border-top-left-radius: 36px;
  width: 72px;
  height: 72px;
  position: absolute;
  bottom: 0;
  right: 0;
}

.placement-arrow-wrapper:before, .placement-arrow-wrapper:after {
  content: "";
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M16 16V0C16 8.83656 8.83656 16 0 16H16Z' fill='%23f9f6f4'/%3E%3C/svg%3E");
  background-size: cover;
  width: 16px;
  height: 16px;
  position: absolute;
}

.placement-arrow-wrapper:before {
  bottom: 0;
  left: -16px;
}

.placement-arrow-wrapper:after {
  top: -16px;
  right: 0;
}

.placement-arrow-btn {
  cursor: pointer;
  background-color: #1c1c1c;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 64px;
  height: 64px;
  transition: transform .3s, background-color .3s;
  display: flex;
  position: absolute;
  bottom: 0;
  right: 0;
}

.placement-card:hover .placement-arrow-btn {
  background-color: var(--coral);
  transform: scale(1.05);
}

@media (width <= 767px) {
  .desktop-br {
    display: none;
  }

  .placements-text {
    max-width: unset;
    align-items: center;
    margin: 0 auto;
    display: none;
  }

  .placements-text h2 {
    font-size: 40px;
  }

  .placements-text p {
    max-width: unset;
    text-align: center;
    font-size: 40px;
  }

  .blue-box {
    text-align: center;
    max-width: 280px;
  }
}

.redesign-guest-journey {
  text-align: center;
  flex-direction: column;
  align-items: center;
  padding: 80px 0 0;
  display: flex;
  overflow-x: clip;
}

.guest-journey-content {
  flex-direction: column;
  align-items: center;
  margin: 0 auto 80px;
  padding: 0 20px;
  display: flex;
}

.guest-journey-title {
  letter-spacing: -.02em;
  text-align: center;
  color: #1c1c1c;
  text-transform: uppercase;
  margin: 0 0 20px;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 64px;
  font-weight: 700;
  line-height: 1;
}

@media (width <= 768px) {
  .guest-journey-title {
    font-size: 40px;
  }

  .scroll-down-arrow {
    order: -1;
    margin-bottom: 24px;
  }
}

.guest-journey-text {
  letter-spacing: -.01em;
  text-align: center;
  color: #1c1c1c;
  max-width: 600px;
  margin-bottom: 40px;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 18px;
  font-style: normal;
  font-weight: 500;
  line-height: 26px;
}

.scroll-down-arrow {
  cursor: pointer;
  border: 1px solid #ccc;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  transition: border-color .3s;
  display: flex;
}

.scroll-down-arrow:hover {
  border-color: #1c1c1c;
}

.scroll-down-arrow svg {
  fill: none;
  stroke: #1c1c1c;
  stroke-width: 1.5px;
}

.journey-steps-container {
  box-sizing: border-box;
  flex-direction: column;
  gap: 20px;
  width: 100%;
  padding-bottom: 80px;
  padding-left: 20px;
  padding-right: 20px;
  display: flex;
}

.journey-step {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--content-max-width);
  border-radius: 20px;
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
  padding: 60px 80px;
  display: flex;
}

.journey-step-inner {
  flex-direction: column;
  gap: 60px;
  width: 100%;
  display: flex;
}

@media (width >= 1024px) {
  .journey-step-inner {
    text-align: left;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
}

@media (width >= 768px) {
  .journey-steps-container {
    perspective: 1800px;
    gap: 0;
    padding-bottom: 0;
    display: block;
  }

  .journey-step {
    transform-origin: top;
    transform-style: preserve-3d;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    will-change: transform, opacity;
    margin-bottom: 20px;
    position: -webkit-sticky;
    position: sticky;
    top: 100px;
  }
}

@media (width >= 768px) and (width <= 1023px) {
  .journey-step {
    padding: 40px;
  }

  .journey-step-inner {
    flex-direction: column;
    gap: 30px;
  }

  .journey-step-text {
    text-align: left;
    max-width: 100%;
  }

  .step-number {
    margin-bottom: 20px;
    font-size: 32px;
  }

  .journey-step h3 {
    margin-bottom: 15px;
    font-size: 45px;
  }

  .journey-step p {
    max-width: 400px;
    font-size: 18px;
    line-height: 1.4;
  }

  .journey-step-image-wrapper {
    justify-content: center;
    width: 100%;
    display: flex;
  }

  .journey-step-image {
    width: 100%;
    max-width: 500px;
  }

  .journey-step-image .main-journey-img {
    width: 100%;
    max-width: 100%;
  }
}

.journey-step-text {
  text-align: left;
  flex: 1;
  max-width: 500px;
}

.step-number {
  text-transform: uppercase;
  border-radius: 50px;
  margin-bottom: 40px;
  padding: 4px 24px;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 32px;
  font-weight: 700;
  display: inline-block;
}

.journey-step h3 {
  text-transform: uppercase;
  letter-spacing: -.02em;
  margin-bottom: 20px;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 50px;
  font-weight: 700;
  line-height: 1;
}

.journey-step p {
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.4;
}

.journey-step-image-wrapper {
  width: auto;
  max-width: 741px;
  position: relative;
}

.journey-step-image {
  z-index: 1;
  width: 100%;
  position: relative;
}

.journey-step-image picture {
  width: 100%;
  display: block;
}

.journey-step-image .main-journey-img {
  border-radius: 15px;
  width: 100%;
  max-width: 562px;
  height: auto;
  display: block;
}

.secondary-journey-img {
  z-index: 2;
  top: var(--desk-top, auto);
  left: var(--desk-left, auto);
  bottom: var(--desk-bottom, auto);
  right: var(--desk-right, auto);
  width: var(--desk-width, auto);
  position: absolute;
}

.journey-image-pill {
  z-index: 3;
  color: #fff;
  white-space: nowrap;
  backdrop-filter: blur(70px);
  top: var(--desk-top, auto);
  left: var(--desk-left, auto);
  bottom: var(--desk-bottom, auto);
  right: var(--desk-right, auto);
  background: radial-gradient(100% 359.18% at 0 0, #1c1c1c99 0%, #1c1c1c1a 100%);
  border-radius: 50px;
  align-items: center;
  gap: 8px;
  padding: 15px 12px;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 16px;
  display: flex;
  position: absolute;
  box-shadow: 0 20px 40px #0000000d;
}

.pill-icon {
  color: inherit;
  justify-content: center;
  align-items: center;
  display: flex;
}

.pill-text {
  font-weight: 500;
}

.journey-tabs-wrapper {
  display: none;
}

.journey-tabs-nav {
  display: flex;
}

.journey-tab-btn {
  cursor: pointer;
  text-transform: uppercase;
  white-space: nowrap;
  background: none;
  border: 1px solid #000;
  border-radius: 30px;
  flex-shrink: 0;
  padding: 10px 30px;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 18px;
  font-weight: 700;
  transition: all .3s;
}

.journey-tab-btn:not(.active):hover, .journey-tab-btn:not(.active):focus {
  background-color: #b7d7f2;
  border-color: #24ade9;
}

.journey-tab-btn.active {
  color: #171717;
  background-color: #24ade9;
  border-color: #24ade9;
}

.journey-steps-mobile {
  display: none;
}

@media (width <= 767px) {
  .secondary-journey-img {
    top: var(--mob-top, var(--desk-top, auto));
    left: var(--mob-left, var(--desk-left, auto));
    bottom: var(--mob-bottom, var(--desk-bottom, auto));
    right: var(--mob-right, var(--desk-right, auto));
    width: var(--mob-width, var(--desk-width, auto));
  }

  .journey-image-pill {
    top: var(--mob-top, var(--desk-top, auto));
    left: var(--mob-left, var(--desk-left, auto));
    bottom: var(--mob-bottom, var(--desk-bottom, auto));
    right: var(--mob-right, var(--desk-right, auto));
    letter-spacing: -2%;
    padding: 6px 7px;
  }

  .pill-icon svg {
    width: 22px;
    height: 22px;
  }

  .journey-tabs-wrapper {
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    box-sizing: border-box;
    width: 100%;
    margin-bottom: 24px;
    padding: 0 20px;
    display: block;
    overflow: auto hidden;
  }

  .journey-tabs-wrapper::-webkit-scrollbar {
    display: none;
  }

  .journey-tabs-nav {
    white-space: nowrap;
    flex-wrap: nowrap;
    gap: 10px;
    display: inline-flex;
  }

  .journey-steps-mobile {
    box-sizing: border-box;
    width: 100%;
    padding: 0 20px 40px;
    display: block;
  }

  .journey-steps-container {
    display: none;
  }

  .journey-step {
    touch-action: pan-y;
    will-change: transform;
    padding: 32px 16px 80px;
    animation: .4s ease-in-out fadeIn;
  }

  @keyframes fadeIn {
    from {
      opacity: 0;
      transform: translateY(10px);
    }

    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  .journey-step-image {
    max-width: 240px;
    margin: 0 auto;
  }

  .journey-step-image .main-journey-img {
    aspect-ratio: 1.06;
    object-fit: cover;
    width: 100%;
  }

  .journey-step-text {
    padding: 15px 20px 0;
  }

  .step-number {
    margin-bottom: 16px;
    font-size: 32px;
  }

  .journey-step h3 {
    letter-spacing: -.04em;
    text-align: left;
    text-transform: uppercase;
    margin-bottom: 12px;
    font-family: "Swiss 721 Bold Condensed BT", sans-serif;
    font-size: 40px;
    font-style: normal;
    font-weight: 700;
    line-height: 100%;
  }

  .journey-step p {
    letter-spacing: -.02em;
    text-align: left;
    text-transform: lowercase;
    font-family: Swiss721BT Regular, sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px;
  }

  .journey-step p:first-letter {
    text-transform: uppercase;
  }

  .guest-journey-title-img {
    height: 40px;
  }

  .guest-journey-title-img img {
    height: unset;
  }

  .guest-journey-content {
    margin-bottom: 24px;
  }
}

@media (width >= 1024px) and (width <= 1320px) {
  .journey-step-image .main-journey-img {
    max-width: 400px;
  }
}

.traveler-carousel-section {
  background-color: #000;
  width: 100%;
  padding: 0 0 40px;
  display: block;
  position: relative;
  overflow: hidden;
}

.tc-slider {
  z-index: 1;
  box-sizing: border-box;
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding: 40px;
  position: relative;
}

.tc-viewport {
  width: 100%;
  position: relative;
  overflow: hidden;
}

.tc-slide {
  pointer-events: none;
  z-index: 0;
  position: absolute;
  inset: 0;
}

.tc-slide__wrap {
  transform-origin: 0%;
  opacity: 0;
  transition: transform .45s cubic-bezier(.785, .135, .15, .86);
  position: absolute;
  inset: 0;
  overflow: hidden;
  transform: translateX(100%);
}

.tc-slide__wrap--ready {
  opacity: 1;
}

.tc-slide--active {
  z-index: 2;
  pointer-events: auto;
}

.tc-slide--active .tc-slide__wrap {
  transform-origin: 100%;
  opacity: 1;
  transition: transform .45s cubic-bezier(.785, .135, .15, .86);
  animation: none;
  transform: translateX(0);
}

.tc-slide__wrap .masked-video-frame {
  height: 100%;
}

.tc-slide__video {
  width: 100%;
  height: 100%;
  transition: transform .4s cubic-bezier(.26, .005, .135, 1);
  transform: scale(.92);
}

.tc-slide--active .tc-slide__video {
  transition: transform .4s cubic-bezier(.26, .005, .135, 1) .15s;
  transform: scale(1);
}

.tc-slide--zooming-out .tc-slide__video {
  transition: transform .4s cubic-bezier(.26, .005, .135, 1);
  transform: scale(.92);
}

.tc-slide--active .ui-overlay {
  opacity: 1;
  transition-delay: .55s;
}

@keyframes slideHack {
  0% {
    opacity: 1;
    transform: translateX(0);
  }

  50% {
    opacity: 1;
    transform: translateX(-100%);
  }

  51% {
    opacity: 0;
    transform: translateX(-100%);
  }

  52% {
    opacity: 0;
    transform: translateX(100%);
  }

  100% {
    opacity: 1;
    transform: translateX(100%);
  }
}

.tc-slide:not(.tc-slide--active) .tc-slide__wrap--ready {
  animation-name: slideHack;
  animation-duration: .45s;
  animation-timing-function: cubic-bezier(.785, .135, .15, .86);
}

.ui-overlay {
  pointer-events: none;
  opacity: 0;
  transition: opacity .3s cubic-bezier(.26, .005, .135, 1);
  position: absolute;
  inset: 0;
}

.ui-overlay > * {
  pointer-events: auto;
}

.learn-more-container {
  position: absolute;
  top: 60%;
  right: 10%;
  transform: translateY(-50%);
}

.info-pill {
  backdrop-filter: blur(70px);
  color: #fff;
  white-space: nowrap;
  border: 1px solid #ffffff4d;
  border-radius: 100px;
  align-items: center;
  gap: 10px;
  padding: 13px 16px;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 20px;
  display: flex;
  position: absolute;
  bottom: 8%;
  left: 50%;
  transform: translateX(-50%);
}

.info-pill svg {
  color: #333;
  box-sizing: border-box;
  background: #e2e2e2;
  border-radius: 50%;
  flex-shrink: 0;
  width: 24px;
  min-width: 24px;
  height: 24px;
  min-height: 24px;
  padding: 4px;
}

.carousel-dots {
  z-index: 10;
  justify-content: center;
  align-items: center;
  gap: 10px;
  display: flex;
  position: relative;
}

.dot {
  cursor: pointer;
  background-color: #ffffff73;
  border-radius: 50%;
  width: 9px;
  height: 9px;
  transition: background-color .3s;
}

.dot.active {
  background-color: #fff;
}

@media (width <= 768px) {
  .traveler-carousel-section {
    padding-bottom: 20px;
  }

  .tc-slider {
    margin-top: 20px;
    padding: 0;
  }

  .tc-viewport, .tc-slide__wrap {
    overflow: visible;
  }

  .learn-more-container {
    justify-content: center;
    width: auto;
    margin-top: 12px;
    position: absolute;
    inset: 100% auto auto 50%;
    transform: translateX(-50%);
  }

  .info-pill {
    text-align: center;
    white-space: normal;
    justify-content: center;
    width: 85%;
    max-width: 320px;
    padding: 10px 16px;
    bottom: 80px;
  }

  .carousel-dots {
    margin-top: 85px;
    margin-bottom: 10px;
  }
}

.bg-video-container {
  z-index: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.bg-video {
  object-fit: cover;
  filter: blur(30px) brightness(.6);
  width: 100%;
  height: 100%;
  transition: transform .6s cubic-bezier(.26, .005, .135, 1);
  transform: scale(1.1);
}

.masked-video-frame {
  width: 100%;
  position: relative;
}

.masked-video-frame__svg {
  pointer-events: none;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  overflow: visible;
}

.masked-video-frame__mask {
  position: absolute;
  inset: 0;
}

.masked-video-frame__video {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}

.masked-video-frame__video-el {
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

.partner-stories-section {
  text-align: center;
  box-sizing: border-box;
  flex-direction: column;
  align-items: center;
  padding: 80px 20px;
  font-family: Swiss721BT Regular, sans-serif;
  display: flex;
}

.partner-stories-title {
  text-transform: uppercase;
  letter-spacing: -.02em;
  color: #1c1c1c;
  margin: 0 0 30px;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 80px;
  font-weight: 700;
  line-height: 1;
}

.partner-stories-arrow {
  cursor: pointer;
  background-color: #0000;
  border: 1px solid #ccc;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 60px;
  height: 60px;
  margin: 0 auto 40px;
  transition: border-color .3s;
  display: flex;
}

.partner-stories-arrow:hover {
  border-color: #1c1c1c;
}

.partner-stories-arrow svg {
  fill: none;
  stroke: #1c1c1c;
  stroke-width: 1.5px;
  width: 24px;
  height: 24px;
}

.partner-stories-nav {
  justify-content: center;
  gap: 16px;
  margin-bottom: 60px;
  display: flex;
}

.partner-story-btn {
  cursor: pointer;
  text-transform: uppercase;
  color: #1c1c1c;
  background: none;
  border: 1px solid #1c1c1c;
  border-radius: 40px;
  padding: 10px 24px;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 18px;
  font-weight: 700;
  transition: all .3s;
}

.partner-story-btn:hover {
  background-color: #f5f5f5;
}

.partner-story-btn.active {
  color: #1c1c1c;
  background-color: #3baae3;
  border-color: #3baae3;
}

.partner-story-header-block {
  width: 100%;
  max-width: var(--content-max-width, 1200px);
  text-align: left;
  background: #fff;
  border-radius: 24px;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
  padding: 30px 40px;
  display: flex;
}

.cs-main-title {
  color: #1c1c1c;
  text-transform: uppercase;
  margin: 0;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 80px;
  font-weight: 700;
  line-height: 1;
}

.cs-main-desc {
  color: #1c1c1c;
  max-width: 550px;
  margin: 0;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 22px;
  font-weight: 400;
  line-height: 1.4;
}

.partner-story-outer-card {
  width: 100%;
  max-width: var(--content-max-width, 1200px);
  box-sizing: border-box;
  border-radius: 32px;
  flex-direction: column;
  gap: 24px;
  padding: 24px;
  animation: .5s ease-in-out fadeIn;
  display: flex;
  overflow: hidden;
}

.partner-story-inner-container {
  background: #111;
  border-radius: 20px;
  justify-content: flex-end;
  width: 100%;
  min-height: 480px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.cs-inner-left {
  z-index: 1;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.cs-featured-image {
  object-fit: cover;
  object-position: left 30%;
  width: 100%;
  height: 100%;
  display: block;
  transform: translateX(-14%);
}

.cs-inner-left:after {
  display: none;
}

.cs-inner-right {
  z-index: 2;
  grid-gap: 40px;
  color: #fff;
  box-sizing: border-box;
  backdrop-filter: blur(70px);
  background: #17171766;
  border-radius: 24px;
  flex: 0 0 55%;
  grid-template-columns: 1fr 1fr;
  align-content: center;
  padding: 40px;
  display: grid;
  position: relative;
}

.cs-stat-item {
  text-align: left;
  flex-direction: column;
  display: flex;
}

.cs-stat-value {
  align-items: baseline;
  margin-bottom: 12px;
  font-family: Swiss721BT Medium, sans-serif;
  font-size: 48px;
  line-height: 1;
  display: flex;
}

.cs-stat-value span {
  margin-left: 4px;
  font-size: 24px;
}

.cs-stat-desc {
  color: #e0e0e0;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 16px;
  line-height: 1.4;
}

.cs-footer-banner {
  color: #fff;
  background-color: #171717;
  border-radius: 100px;
  justify-content: space-between;
  align-items: center;
  padding: 16px 24px 16px 40px;
  display: flex;
}

.cs-footer-text {
  text-transform: uppercase;
  letter-spacing: -.02em;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 24px;
  font-weight: 700;
}

.cs-footer-actions {
  align-items: center;
  gap: 12px;
  display: flex;
}

@media (width <= 1024px) {
  .partner-story-header-block {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }

  .cs-inner-right {
    grid-gap: 24px;
    grid-template-columns: 1fr;
    padding: 30px;
  }
}

@media (width <= 768px) {
  .partner-stories-section {
    padding: 60px 16px;
  }

  .partner-stories-title {
    font-size: 40px;
  }

  .cs-main-title {
    font-size: 56px;
  }

  .cs-main-desc {
    letter-spacing: -.02em;
    font-size: 14px;
    line-height: 100%;
  }

  .partner-story-inner-container {
    flex-direction: column;
    justify-content: flex-start;
  }

  .cs-inner-left {
    flex: none;
    width: 100%;
    height: 280px;
    position: relative;
  }

  .cs-inner-left:after {
    display: none;
  }

  .cs-inner-right {
    -webkit-backdrop-filter: none;
    background: #111;
    flex: none;
    width: 100%;
  }

  .cs-featured-image {
    object-position: left center;
    min-height: 250px;
    transform: none;
  }

  .cs-footer-banner {
    text-align: left;
    border-radius: 24px;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    padding: 24px;
  }

  .cs-footer-actions {
    justify-content: flex-start;
    width: 100%;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.cs-floating-logo {
  z-index: 2;
  max-width: 80px;
  height: auto;
  position: absolute;
  top: 40px;
  left: 40px;
}

@media (width <= 768px) {
  .cs-floating-logo {
    max-width: 60px;
    top: 20px;
    left: 20px;
  }
}

.redesign-bonvoy-stats {
  box-sizing: border-box;
  flex-direction: column;
  align-items: center;
  width: 100%;
  padding: 16px 20px;
  font-family: Swiss721BT Regular, sans-serif;
  display: flex;
}

.bonvoy-stats-grid {
  width: 100%;
  max-width: var(--content-max-width);
  grid-template-rows: 506px;
  grid-template-columns: minmax(560px, 1fr) 1fr minmax(300px, 332px);
  gap: 16px;
  display: grid;
}

.stat-card {
  text-align: center;
  color: #fff;
  border-radius: 24px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
  overflow: hidden;
}

.image-card {
  height: 100%;
  min-height: 500px;
}

.image-card .bg-image {
  object-fit: cover;
  z-index: 1;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.image-card p {
  font-family: Swiss721BT Bold Condensed;
  font-weight: 700;
  font-style: Regular;
  letter-spacing: -.02em;
  text-align: center;
  text-transform: uppercase;
  flex: 1;
  justify-content: center;
  align-items: center;
  max-width: 295px;
  margin: 0;
  font-size: 32px;
  line-height: 38px;
  display: flex;
}

.image-card .overlay {
  z-index: 2;
  box-sizing: border-box;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 40px;
  display: flex;
  position: relative;
}

.floating-stat-box {
  backdrop-filter: blur(9px);
  background: #1717174d;
  border: none;
  border-radius: 20px;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 400px;
  margin-bottom: 20px;
  padding: 30px 20px;
  display: flex;
}

.middle-column {
  flex-direction: column;
  gap: 16px;
  display: flex;
}

.orange-card {
  background-color: var(--coral);
  flex: 1;
}

.orange-card .stat-number, .orange-card .stat-label {
  color: #1c1c1c;
}

.blue-card {
  background-color: #29abe2;
  flex: 1;
}

.blue-card .stat-number, .blue-card .stat-label {
  color: #1c1c1c;
}

.stat-number {
  letter-spacing: -2px;
  margin-bottom: 16px;
  font-family: Swiss721BT Medium, sans-serif;
  font-size: 80px;
  line-height: 1;
}

.stat-label {
  max-width: 80%;
  margin: 0 auto;
  font-size: 18px;
  font-weight: 400;
}

.icon-circle {
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 64px;
  height: 64px;
  margin-bottom: 20px;
  display: flex;
  position: absolute;
  top: -32px;
}

.floating-stat-box .icon-circle {
  position: absolute;
  top: -32px;
}

.audience-card .overlay {
  backdrop-filter: blur(9px);
  justify-content: center;
}

.audience-card .icon-circle {
  margin-bottom: 24px;
  position: relative;
  top: -100px;
}

@media (width <= 1180px) {
  .bonvoy-stats-grid {
    grid-template-columns: minmax(382px, 1fr) 1fr minmax(300px, 332px);
  }
}

@media (width >= 768px) and (width <= 1024px) {
  .bonvoy-stats-grid {
    grid-template-rows: auto;
    grid-template-columns: 1fr;
  }

  .middle-column {
    flex-direction: row;
  }

  .stat-card {
    min-height: 200px;
  }

  .image-card {
    height: 340px;
    min-height: 340px;
  }

  .image-card .overlay {
    padding: 20px;
  }

  .floating-stat-box {
    margin-bottom: 20px;
    padding: 20px 15px;
  }

  .audience-card .icon-circle {
    top: -32px;
  }
}

@media (width <= 767px) {
  .bonvoy-stats-grid {
    grid-template-columns: 1fr;
  }

  .middle-column {
    flex-direction: column;
  }

  .stat-card {
    min-height: 250px;
  }

  .image-card {
    min-height: 300px;
  }

  .audience-card .icon-circle {
    top: 0;
  }
}

.bonvoy-stats-intro {
  text-align: center;
  flex-direction: column;
  align-items: center;
  padding: 40px 20px 0;
  font-family: Swiss721BT Regular, sans-serif;
  display: flex;
  margin-bottom: 71px !important;
}

@media (width <= 1024px) {
  .bonvoy-stats-intro {
    padding-top: 16px;
    margin-top: 24px !important;
  }
}

.bonvoy-title-image {
  width: auto;
  margin-bottom: 24px;
  display: block;
}

.bonvoy-title-image img {
  width: auto;
  display: block;
}

.bonvoy-stats-intro p {
  color: #1c1c1c;
  text-align: center;
  max-width: 660px;
  margin: 0 auto 32px;
  font-size: 18px;
  line-height: 1.5;
}

.arrow-down {
  cursor: pointer;
  background-color: #0000;
  border: 1px solid #ccc;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 60px;
  height: 60px;
  margin: 0 auto;
  transition: border-color .3s;
  display: flex;
}

.arrow-down:hover {
  border-color: #1c1c1c;
}

.arrow-down svg {
  fill: none;
  stroke: #1c1c1c;
  stroke-width: 1.5px;
  width: 24px;
  height: 24px;
}

.powered-by {
  letter-spacing: -.04px;
  text-align: center;
  font-family: AldineforMarriott;
  font-size: 64px;
  font-style: italic;
  font-weight: 400;
  line-height: 100%;
}

.all-caps {
  letter-spacing: -.04em;
  text-align: center;
  text-transform: uppercase;
  font-family: Swiss721BT Bold Condensed;
  font-size: 64px;
  font-weight: 700;
  line-height: 100%;
}

@media (width <= 760px) {
  .all-caps {
    font-size: 40px;
  }

  .bonvoy-stats-intro .arrow-down {
    order: -1;
    margin-bottom: 24px;
  }

  .powered-by {
    font-size: 40px;
  }
}

.talk-team-section {
  background-image: var(--bg-desktop);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 20px;
  align-items: center;
  width: 100%;
  max-width: 1376px;
  min-height: 480px;
  margin: 4rem auto 0;
  display: flex;
  position: relative;
  overflow: hidden;
}

.talk-team-card {
  backdrop-filter: blur(9px);
  background: linear-gradient(135deg, #505050d9 0%, #78787866 100%);
  border-radius: 20px;
  flex-direction: column;
  width: 100%;
  max-width: 806px;
  margin-left: 2rem;
  padding: 18px 2rem;
  display: flex;
}

.talk-team-card h2 {
  letter-spacing: -.04em;
  text-transform: uppercase;
  color: #fff;
  margin: 0 0 20px;
  padding-top: 23px;
  font-family: Swiss721BT Bold Condensed, Swiss721BT, sans-serif;
  font-size: 120px;
  font-style: normal;
  line-height: 106px;
}

.talk-team-card p {
  color: #fff;
  max-width: 450px;
  margin: 0 0 22px;
  padding-left: 13px;
  font-family: "Swiss 721", Swiss721BT, Swiss721BT Regular, sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: 500;
  line-height: 25px;
}

.talk-team-buttons {
  align-items: center;
  gap: 11px;
  margin-left: 13px;
  display: flex;
}

@media (width <= 950px) {
  .talk-team-section {
    background-image: var(--bg-mobile);
    align-items: flex-end;
    width: auto;
    margin: 15px;
  }

  .talk-team-card {
    max-width: 254px;
    margin: 1rem;
    padding: 24px;
  }

  .talk-team-card h2 {
    margin-bottom: 12px;
    padding-top: 0;
    font-size: 40px;
    line-height: 40px;
  }

  .talk-team-card p {
    padding-left: 0;
    font-size: 14px;
    line-height: 19px;
  }

  .talk-team-buttons .action-btn {
    font-size: 16px;
  }
}

.section-platform {
  text-align: center;
  padding: 80px 20px;
  font-family: Swiss721BT Regular, sans-serif;
}

.section-platform .all-caps {
  margin-bottom: 24px;
}

.section-platform .platform-intro-body {
  color: #1c1c1c;
  max-width: 660px;
  margin: 0 auto;
  font-size: 18px;
  line-height: 1.5;
}

.section-platform .arrow-down {
  cursor: pointer;
  background-color: #0000;
  border: 1px solid #ccc;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 60px;
  height: 60px;
  margin: 32px auto 0;
  transition: border-color .3s;
  display: flex;
}

.section-platform .arrow-down:hover {
  border-color: #1c1c1c;
}

.section-platform .arrow-down svg {
  fill: none;
  stroke: #1c1c1c;
  stroke-width: 1.5px;
  width: 24px;
  height: 24px;
}

@media (width <= 768px) {
  .section-platform {
    padding: 0 20px;
  }

  .section-platform .container-fixed {
    flex-direction: column;
    display: flex;
  }

  .section-platform .arrow-down {
    order: -1;
    margin: 0 auto 32px;
  }

  .section-platform .platform-title-rest {
    display: none;
  }

  .section-platform .platform-intro-body {
    font-size: 16px;
  }
}

.brands-section {
  text-align: center;
  padding: 0 20px;
  font-family: Swiss721 BT, sans-serif;
}

.brands-container {
  max-width: var(--content-max-width);
  background: #fbfaf7;
  border-radius: 24px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 0 auto;
  padding: 20px;
  display: grid;
}

.brand-card {
  background: #fff;
  border: 1px solid #1717171f;
  border-radius: 18px;
  flex-direction: column;
  align-items: center;
  padding: 12px 16px 16px;
  display: flex;
}

.brand-category-title {
  color: #171717;
  margin: 0;
  font-family: Swiss721BT Bold, sans-serif;
  font-size: 18px;
  line-height: 1.1;
}

.brand-category-desc {
  color: #171717a8;
  min-height: 42px;
  margin: 8px 0 0;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 11px;
  line-height: 1.25;
}

.brand-logos-grid {
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px 4px;
  width: 100%;
  margin-top: 12px;
  display: flex;
}

.brand-logo-item {
  color: #333;
  text-align: center;
  justify-content: center;
  align-items: center;
  padding: 10px;
  font-size: 12px;
  font-weight: 600;
  transition: transform .2s;
  display: flex;
}

.brand-logo-item svg {
  cursor: pointer;
  transition: all .3s;
}

.brand-logo-item path {
  fill: #707070;
  transition: fill .3s;
}

.brand-logo-item:hover path {
  fill: #333;
}

.brand-logo-item:hover {
  transform: scale(1.05);
}

.brand-logo-img {
  object-fit: contain;
  max-width: 80px;
  height: auto;
}

.brand-link {
  width: 58px;
  height: 42px;
  color: inherit;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  display: flex;
}

@media (width <= 1180px) {
  .brands-container {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (width <= 767px) {
  .brands-container {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .brand-card {
    border-radius: 18px;
    padding: 16px 14px 18px;
  }

  .brand-category-title {
    font-size: 16px;
  }

  .brand-category-desc {
    min-height: 0;
  }
}

.redesign-partners {
  width: 100%;
  max-width: var(--content-max-width);
  flex-direction: column;
  align-items: center;
  margin: 0 auto;
  padding: 4rem 1rem;
  display: flex;
}

.partners-header-img {
  width: auto;
  height: 45px;
  margin-bottom: .5rem;
  display: block;
}

.partners-header-img img {
  object-fit: contain;
  width: auto;
  height: 45px;
  display: block;
}

.redesign-partners .partners-text {
  letter-spacing: -.02em;
  text-align: center;
  color: #7e7e7e;
  max-width: 770px;
  margin-top: 1rem;
  margin-bottom: 2rem;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.2;
}

.redesign-partners .partners-text strong {
  color: #4f4f4f;
  font-family: Swiss721BT Medium, sans-serif;
}

.redesign-partners .scroll-down-arrow {
  cursor: pointer;
  border: 1px solid #ccc;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  margin-bottom: 2rem;
  transition: border-color .3s;
  display: flex;
}

.redesign-partners .scroll-down-arrow:hover {
  border-color: #1c1c1c;
}

.redesign-partners .scroll-down-arrow svg {
  fill: none;
  stroke: #1c1c1c;
  stroke-width: 1.5px;
  width: 20px;
  height: 20px;
}

.redesign-partners .logo-container {
  grid-template-rows: repeat(2, auto);
  grid-template-columns: repeat(4, 1fr);
  place-items: center;
  gap: 100px 60px;
  width: 100%;
  max-width: 1300px;
  padding-top: 1rem;
  padding-bottom: 2rem;
  display: grid;
}

.personalized-banner {
  background-color: #26b2ec;
  border-radius: 100px;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 2rem;
  width: 100%;
  max-width: 1376px;
  margin-top: 4rem;
  padding: 22px;
  display: flex;
}

.banner-left {
  flex-shrink: 1;
  min-width: 0;
}

.banner-left h2 {
  color: #1a1a1a;
  text-transform: uppercase;
  letter-spacing: -.02em;
  margin: 0;
  padding-left: max(1rem, min(3vw, 3rem));
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 40px;
  font-style: normal;
  font-weight: 700;
  line-height: 40px;
}

.banner-middle {
  align-items: center;
  min-width: 270px;
  display: flex;
}

.banner-middle p {
  color: #1a1a1a;
  letter-spacing: -.02em;
  max-width: 270px;
  margin: 0;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 19px;
}

.banner-right {
  border-radius: 100px;
  justify-content: flex-end;
  align-items: center;
  min-width: 0;
  height: 96px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.banner-linkedin-btn {
  z-index: 2;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
  transition: transform .2s;
  display: flex;
  position: absolute;
  top: 50%;
  right: max(16px, min(2.5vw, 28px));
  transform: translateY(-50%);
}

.banner-linkedin-btn:hover {
  transform: translateY(-50%) scale(1.08);
}

.banner-linkedin-btn svg {
  width: 100%;
  height: 100%;
  display: block;
}

.banner-img {
  object-fit: cover;
  border-radius: 400px;
  width: 400px;
  height: 96px;
  display: block;
}

.redesign-partners .logo-img {
  object-fit: contain;
  justify-content: center;
  align-items: center;
  max-width: 100%;
  height: 50px;
  display: flex;
}

@media (width <= 1050px) {
  .redesign-partners .partners-text {
    max-width: 70vw;
  }

  .redesign-partners .logo-img {
    height: 40px;
  }
}

@media (width <= 1150px) {
  .personalized-banner {
    border-radius: 24px;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.5rem;
    padding: 22px;
  }

  .banner-left h2 {
    text-align: left;
    padding-left: 0;
    font-size: 28px;
  }

  .banner-middle {
    min-width: 0;
  }

  .banner-right {
    width: 100%;
    height: 180px;
  }

  .banner-img {
    width: 100%;
    height: 100%;
  }

  .banner-linkedin-btn {
    left: max(16px, min(5vw, 28px));
    right: auto;
  }
}

@media (width <= 950px) {
  .redesign-partners .partners-text {
    max-width: 90vw;
  }

  .redesign-partners .logo-img {
    height: 35px;
  }

  .redesign-partners .logo-container {
    gap: 80px 30px;
    width: 90vw;
  }
}

@media (width <= 768px) {
  .redesign-partners .logo-container {
    grid-template-rows: repeat(4, auto);
    grid-template-columns: repeat(2, 1fr);
  }

  .personalized-banner {
    gap: 8px;
  }

  .banner-right {
    margin-top: 14px;
  }

  .partners-header-img {
    height: unset;
  }

  .partners-header-img img {
    height: unset;
    width: 100%;
  }

  .banner-right {
    height: 96px;
  }
}

@media (width <= 550px) {
  .redesign-partners .logo-img {
    height: 30px;
  }
}

.home-page {
  color: #333;
  font-family: Swiss721BT Regular, Helvetica Neue, Helvetica, Arial, sans-serif;
}

.partner-stories-page {
  color: #333;
  background-color: #fff;
  font-family: Swiss721BT Regular, Helvetica Neue, Helvetica, Arial, sans-serif;
}

.placeholder-page {
  justify-content: center;
  align-items: center;
  min-height: 60vh;
  padding: 40px 20px;
  display: flex;
}

.placeholder-content {
  text-align: center;
}

.placeholder-content h1 {
  margin: 0 0 12px;
}

.placeholder-content p {
  margin: 0;
}

.app-header {
  z-index: 1000;
  background-color: #f9f6f4;
  height: 64px;
  padding: 0 2rem;
  transition: background-color .3s;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
}

.app-header--overlay {
  background-color: #0000;
}

.app-header--overlay .header-logo {
  filter: brightness(0) invert();
}

.app-header--overlay .nav-link {
  color: #171717;
  background-color: #fff;
  border: 1px solid #171717;
  border-radius: 40px;
}

.app-header--overlay .nav-link:hover {
  color: #171717;
  background-color: var(--coral);
  border-color: var(--coral);
}

.app-header--overlay .nav-link.active, .app-header--overlay .dropdown-toggle.open-state {
  color: #1a1a1a;
  background-color: var(--coral);
  border-color: var(--coral);
}

.app-header--overlay .mobile-menu-toggle {
  color: #fff;
}

.header-container {
  max-width: var(--content-max-width);
  justify-content: space-between;
  align-items: center;
  height: 100%;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
}

.header-logo-link {
  text-decoration: none;
}

.header-logo {
  width: auto;
  height: 20px;
}

.header-nav {
  flex: 1;
  min-width: 0;
  display: flex;
}

.header-nav:before, .header-nav:after {
  content: "";
  flex: 1;
  transition: flex .4s;
}

.header-nav.align-right:after {
  flex: 0;
}

.nav-list {
  align-items: center;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.nav-item {
  position: relative;
}

.dropdown:after {
  content: "";
  width: 100%;
  height: 32px;
  position: absolute;
  top: 100%;
  left: 0;
}

.nav-link {
  color: #1a1a1a;
  letter-spacing: -.04em;
  text-transform: uppercase;
  cursor: pointer;
  background: none;
  border: 1px solid #1a1a1a;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  gap: 6px;
  padding: 11px 20px;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  transition: background-color .25s, border-color .25s, color .25s;
  display: flex;
}

.nav-link:hover, .nav-link.active {
  color: #1a1a1a;
  background-color: var(--coral);
  border-color: var(--coral);
}

.dropdown-toggle.open-state {
  background-color: var(--coral);
  border-color: var(--coral);
}

.dropdown-toggle {
  -webkit-appearance: none;
  appearance: none;
}

.dropdown-toggle:focus {
  outline: none;
}

.dropdown-toggle:focus-visible {
  outline-offset: 2px;
  outline: 2px solid #1a1a1a;
}

.dropdown-arrow {
  transition: transform .2s;
}

.dropdown.open .dropdown-arrow {
  transform: rotate(180deg);
}

.dropdown-menu {
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  background: #fff;
  border: none;
  border-radius: 32px;
  flex-direction: column;
  gap: 14px;
  min-width: 284px;
  margin: 0;
  padding: 20px;
  list-style: none;
  transition: opacity .2s, transform .2s, visibility .2s;
  display: flex;
  position: absolute;
  top: calc(100% + 32px);
  left: 0;
  transform: translateY(8px);
  box-shadow: 0 35px 30px #0003;
}

.dropdown.open .dropdown-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

.dropdown-item {
  box-sizing: border-box;
  color: #1a1a1a;
  letter-spacing: -.04em;
  text-transform: none;
  background-color: #e5e4e6;
  border-radius: 999px;
  justify-content: space-between;
  align-items: flex-end;
  width: 100%;
  padding: 10px 16px;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  text-decoration: none;
  display: flex;
}

.dropdown-item:hover, .dropdown-item.active {
  background-color: var(--coral);
}

.dropdown-item-icon {
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 22px;
  height: 22px;
  display: inline-flex;
}

.dropdown-item-icon svg {
  display: block;
}

.header-actions {
  align-items: center;
  gap: 16px;
  transition: gap .4s;
  display: flex;
}

.header-actions.actions-hidden, .header-container.contact-hidden .header-actions {
  gap: 0;
}

.contact-button {
  color: #fff;
  letter-spacing: -.02em;
  white-space: nowrap;
  cursor: pointer;
  background-color: #1a1a1a;
  border: 1px solid #1a1a1a;
  border-radius: 24px;
  justify-content: center;
  align-items: flex-end;
  max-width: 200px;
  padding: 10px 24px;
  font-family: Swiss721BT, sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  text-decoration: none;
  transition: all .4s;
  display: inline-flex;
  overflow: hidden;
}

.button-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  border-width: 0;
  width: 0;
  max-width: 0;
  margin: 0;
  padding-left: 0;
  padding-right: 0;
  transform: scale(.8);
}

.contact-button:hover:not(:disabled) {
  background-color: #333;
  border-color: #333;
}

.contact-button:disabled {
  cursor: not-allowed;
}

.external-link {
  color: #fff;
  background-color: #1a1a1a;
  border: 1px solid #1a1a1a;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  transition: all .4s;
  display: flex;
  overflow: hidden;
}

.external-link:hover {
  background-color: #333;
  border-color: #333;
}

.mobile-menu-toggle {
  color: #1a1a1a;
  cursor: pointer;
  background: none;
  border: none;
  justify-content: center;
  align-items: center;
  width: 28px;
  height: 28px;
  padding: 0;
  display: none;
}

.mobile-menu-overlay {
  z-index: 1200;
  box-sizing: border-box;
  background: #eceaea;
  flex-direction: column;
  width: 100vw;
  height: 100vh;
  padding: 40px 16px 14px;
  animation: .3s ease-out mobileMenuSlideFromTop;
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
}

.mobile-menu-overlay.closing {
  animation: .28s ease-in forwards mobileMenuSlideToTop;
}

.mobile-menu-header {
  justify-content: space-between;
  align-items: center;
  display: flex;
  position: relative;
}

.mobile-menu-close {
  color: #1a1a1a;
  cursor: pointer;
  background: none;
  border: none;
  justify-content: center;
  align-items: center;
  width: 28px;
  height: 28px;
  padding: 0;
  display: flex;
}

.mobile-menu-body {
  flex-direction: column;
  flex: 1;
  gap: 0;
  margin-top: 24px;
  display: flex;
}

.mobile-solutions-card {
  background: #dbdbdd;
  border-radius: 14px;
  padding: 18px 16px;
  position: relative;
}

.mobile-solutions-card:after {
  content: "";
  background: inherit;
  z-index: -1;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 80%;
  left: 0;
}

.mobile-solutions-toggle {
  color: #1a1a1a;
  letter-spacing: -.04em;
  text-transform: uppercase;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  background: none;
  border: none;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 0;
  font-family: Swiss721BT Bold Condensed, Swiss721BT, sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  display: flex;
}

.mobile-solutions-toggle:focus {
  outline: none;
}

.mobile-solutions-toggle:focus-visible {
  outline-offset: 2px;
  border-radius: 8px;
  outline: 2px solid #1a1a1a;
}

.nav-link:focus-visible, .dropdown-item:focus-visible, .mobile-solution-link:focus-visible, .mobile-nav-card:focus-visible, .contact-button:focus-visible, .mobile-contact-button:focus-visible, .external-link:focus-visible, .mobile-contact-icon:focus-visible, .mobile-linkedin-card:focus-visible, .mobile-menu-toggle:focus-visible, .mobile-menu-close:focus-visible {
  outline-offset: 2px;
  outline: 2px solid #1a1a1a;
}

.mobile-solutions-list {
  opacity: 0;
  pointer-events: none;
  flex-direction: column;
  gap: 18px;
  max-height: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  transition: max-height .35s, opacity .22s, margin-top .35s, transform .22s;
  display: flex;
  overflow: hidden;
  transform: translateY(-6px);
}

.mobile-solutions-list.open {
  opacity: 1;
  pointer-events: auto;
  max-height: 320px;
  margin-top: 24px;
  transform: translateY(0);
}

.mobile-solution-link {
  color: #1a1a1a;
  letter-spacing: -.02em;
  text-transform: uppercase;
  align-items: center;
  gap: 10px;
  font-family: Swiss721BT Regular, Swiss721BT, sans-serif;
  font-size: 16px;
  line-height: 1;
  text-decoration: none;
  display: inline-flex;
}

.mobile-solution-icon {
  justify-content: center;
  align-items: center;
  width: 17px;
  height: 17px;
  display: inline-flex;
}

.mobile-solution-icon svg {
  display: block;
}

.mobile-primary-links {
  flex-direction: column;
  gap: 0;
  display: flex;
}

.mobile-nav-card {
  text-transform: uppercase;
  letter-spacing: -.04em;
  color: #111;
  border-radius: 16px;
  padding: 20px 16px;
  font-family: Swiss721BT Bold Condensed, Swiss721BT, sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  position: relative;
}

.mobile-nav-card:after {
  content: "";
  background: inherit;
  z-index: -1;
  width: 100%;
  height: 90%;
  position: absolute;
  top: 80%;
  left: 0;
}

.mobile-nav-card:last-child:after {
  display: none;
}

.mobile-nav-case {
  background: var(--coral);
}

.mobile-nav-platform {
  color: #fff;
  background: #121216;
}

.mobile-nav-insights {
  background: #33a9df;
}

.mobile-menu-footer {
  flex-direction: column;
  gap: 14px;
  margin-top: 14px;
  display: flex;
}

.mobile-contact-row {
  opacity: 1;
  visibility: visible;
  align-items: center;
  gap: 10px;
  height: auto;
  transition: opacity .3s, visibility .3s, transform .3s, height .3s;
  display: flex;
  transform: translateY(0);
}

.mobile-contact-row.actions-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  height: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  transform: translateY(10px);
}

.mobile-contact-button {
  background: var(--coral);
  color: #1a1a1a;
  letter-spacing: -.02em;
  vertical-align: bottom;
  cursor: pointer;
  border: none;
  border-radius: 999px;
  flex: 1;
  justify-content: center;
  align-items: flex-end;
  padding: 11px 16px;
  font-family: Swiss721BT, sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: 500;
  line-height: 100%;
  text-decoration: none;
  display: flex;
}

.mobile-contact-button:disabled {
  opacity: .5;
  cursor: not-allowed;
}

.mobile-contact-icon {
  background: var(--coral);
  color: #1a1a1a;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  font-size: 24px;
  line-height: 1;
  text-decoration: none;
  display: flex;
}

.mobile-contact-icon svg {
  display: block;
}

.mobile-linkedin-card {
  color: #1a1a1a;
  background: #f4f4f4;
  border-radius: 14px;
  justify-content: space-between;
  align-items: flex-end;
  gap: 10px;
  padding: 14px 16px;
  text-decoration: none;
  display: flex;
}

.mobile-linkedin-title {
  letter-spacing: -.04em;
  text-transform: uppercase;
  margin: 0 0 10px;
  font-family: Swiss721BT Bold Condensed, Swiss721BT, sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 1;
}

.mobile-linkedin-text {
  margin: 0;
  font-family: Swiss721BT, sans-serif;
  font-size: 16px;
  line-height: 1.2;
}

.mobile-linkedin-icon {
  color: #fff;
  background: #121216;
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 44px;
  height: 44px;
  font-size: 24px;
  line-height: 1;
  display: inline-flex;
}

.mobile-linkedin-icon svg {
  display: block;
}

@keyframes mobileMenuSlideFromTop {
  from {
    opacity: .7;
    transform: translateY(-100%);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes mobileMenuSlideToTop {
  from {
    opacity: 1;
    transform: translateY(0);
  }

  to {
    opacity: .7;
    transform: translateY(-100%);
  }
}

@media (width <= 1315px) {
  .app-header {
    padding: 0 1rem;
  }

  .header-container {
    padding: 0 12px;
  }

  .nav-list {
    gap: 8px;
  }

  .nav-link {
    padding: 10px 14px;
    font-size: 16px;
  }

  .header-actions {
    flex-shrink: 0;
    gap: 10px;
  }

  .contact-button {
    padding: 10px 18px;
  }
}

@media (width <= 1024px) {
  .nav-list {
    gap: 11px;
  }

  .header-logo {
    height: 18px;
  }

  .nav-link, .contact-button {
    padding: 10px;
    font-size: 14px;
  }

  .header-container {
    padding: 0 1rem;
  }
}

@media (width <= 1106px) {
  .header-nav, .header-actions {
    display: none;
  }

  .mobile-menu-toggle {
    display: inline-flex;
  }
}

@media (width <= 768px) {
  .app-header {
    height: 82px;
    padding: 0 16px;
  }

  .header-container {
    padding: 0;
  }

  .header-logo {
    height: 14px;
  }
}

.cs-hero-section {
  width: 100%;
  max-width: var(--content-max-width);
  background-color: #fff;
  justify-content: center;
  align-items: center;
  min-height: 600px;
  margin: 0 auto;
  display: flex;
  position: relative;
  overflow: hidden;
}

.cs-hero-bg-text-container {
  z-index: 1;
  pointer-events: none;
  -webkit-user-select: none;
  user-select: none;
  gap: 400px;
  animation: 30s linear infinite moveRightToLeftMarquee;
  display: flex;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

@keyframes moveRightToLeftMarquee {
  0% {
    transform: translate(0, -50%);
  }

  100% {
    transform: translate(calc(-50% - 200px), -50%);
  }
}

.cs-hero-bg-text {
  color: #171717;
  white-space: nowrap;
  letter-spacing: -.02em;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 500px;
  font-weight: 700;
  line-height: .8;
}

.cs-hero-card {
  z-index: 2;
  text-align: left;
  color: #111;
  background-color: #2abff4;
  border-radius: 24px;
  flex-direction: column;
  width: 100%;
  max-width: 370px;
  padding: 32px;
  display: flex;
  position: relative;
}

.cs-hero-card-header {
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 17px;
  display: flex;
}

.cs-hero-title {
  letter-spacing: -.04em;
  text-transform: uppercase;
  margin: 0;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 40px;
  font-weight: 700;
  line-height: 115%;
}

.cs-hero-icon {
  width: 32px;
  height: 32px;
}

.cs-hero-icon svg {
  width: 100%;
  height: 100%;
}

.cs-hero-desc {
  max-width: 320px;
  margin: 0 0 9px;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 20px;
  line-height: 1.35;
}

.cs-hero-arrow-wrapper {
  position: absolute;
  bottom: -40px;
  left: 50%;
  transform: translateX(-50%);
}

.cs-hero-arrow {
  background-color: var(--coral);
  cursor: pointer;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 80px;
  height: 80px;
  transition: transform .3s;
  display: flex;
}

.cs-hero-arrow:hover {
  transform: translateY(5px);
}

.cs-hero-arrow svg {
  stroke: #111;
  width: 55px;
  height: 55px;
}

@media (width <= 768px) {
  .cs-hero-card {
    max-width: calc(100% - 40px);
    margin: 0 20px;
    padding: 40px 32px;
  }
}

.cs-logos-section {
  width: 100%;
  max-width: var(--content-max-width, 1200px);
  box-sizing: border-box;
  margin: 0 auto;
  padding: 0 20px;
}

.cs-logos-container {
  background-color: #171717;
  border-radius: 40px;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 30px;
  padding: 40px 60px;
  display: flex;
}

.cs-logo-img {
  object-fit: contain;
  opacity: 1;
  max-width: 100px;
  max-height: 45px;
}

@media (width <= 1024px) {
  .cs-logos-container {
    justify-content: center;
    padding: 30px 40px;
  }
}

@media (width <= 768px) {
  .cs-logos-container {
    -ms-overflow-style: none;
    scrollbar-width: none;
    border-radius: 20px;
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: 24px;
    padding: 24px;
    overflow-x: auto;
  }

  .cs-logos-container::-webkit-scrollbar {
    display: none;
  }

  .cs-logo-img {
    max-width: 80px;
    max-height: 35px;
  }
}

@media (width <= 480px) {
  .cs-logos-container {
    -ms-overflow-style: none;
    scrollbar-width: none;
    border-radius: 16px;
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: 20px;
    padding: 20px;
    overflow-x: auto;
  }

  .cs-logos-container::-webkit-scrollbar {
    display: none;
  }

  .cs-logo-img {
    max-width: 65px;
    max-height: 30px;
  }
}

.cs-logos-intro-wrapper .redesign-intro {
  padding-top: 40px;
  padding-bottom: 40px;
}

.cs-lightning-wrapper {
  background-color: #28b5e1;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  margin-right: 8px;
  display: inline-flex;
}

.cs-lightning-bolt {
  color: #fff;
  width: 16px;
  height: 16px;
}

@media (width <= 768px) {
  .cs-lightning-wrapper {
    width: 24px;
    height: 24px;
    margin-right: 6px;
  }

  .cs-lightning-bolt {
    width: 12px;
    height: 12px;
  }
}

.cst-section {
  background-color: #f7f7f5;
  width: 100%;
  padding: 60px 20px;
  font-family: Swiss721BT Regular, sans-serif;
}

.cst-container {
  max-width: var(--content-max-width, 1200px);
  flex-direction: column;
  align-items: center;
  gap: 60px;
  margin: 0 auto;
  display: flex;
}

.cst-category-tabs {
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
  display: flex;
}

.cst-cat-btn {
  color: #1c1c1c;
  text-transform: uppercase;
  cursor: pointer;
  background-color: #fff;
  border: 1px solid #1c1c1c;
  border-radius: 40px;
  padding: 12px 24px;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 16px;
  font-weight: 700;
  transition: all .3s;
}

.cst-cat-btn:hover {
  background-color: #f0f0f0;
}

.cst-cat-btn.active {
  color: #111;
  background-color: #2abff4;
  border-color: #2abff4;
}

.cst-content-area {
  align-items: flex-start;
  gap: 60px;
  width: 100%;
  display: flex;
}

.cst-brand-list {
  flex-direction: column;
  flex: 1;
  gap: 40px;
  min-width: 0;
  display: flex;
}

.cst-brand-item {
  padding-left: 0;
  transition: all .3s;
  position: relative;
}

.cst-brand-item.active {
  padding-left: 20px;
}

.cst-brand-item.active:before {
  content: "";
  background-color: #2abff4;
  border-radius: 2px;
  width: 4px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
}

.cst-brand-name {
  color: #666;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: -.04em;
  margin: 0;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 40px;
  font-weight: 700;
  line-height: 1;
}

.cst-brand-item.active .cst-brand-name {
  color: #111;
}

.cst-brand-details {
  margin-top: 16px;
  animation: .4s fadeInDown;
}

.cst-brand-desc {
  letter-spacing: -.02em;
  color: #444;
  max-width: 396px;
  margin: 0 0 24px;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 20px;
  font-weight: 500;
  line-height: 1;
}

.cst-brand-desc strong {
  color: #111;
  font-family: Swiss721BT Medium, sans-serif;
  font-weight: 700;
}

.cst-brand-actions {
  align-items: center;
  gap: 12px;
  display: flex;
}

.cst-btn-view-more {
  background-color: var(--coral);
  color: #111;
  cursor: pointer;
  border: none;
  border-radius: 40px;
  padding: 10px 24px;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 16px;
  transition: transform .2s;
}

.cst-btn-arrow {
  background-color: var(--coral);
  color: #111;
  cursor: pointer;
  border: none;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  transition: transform .2s;
  display: flex;
}

.cst-btn-view-more:hover, .cst-btn-arrow:hover {
  transform: translateY(-2px);
}

.cst-btn-arrow svg {
  width: 20px;
  height: 20px;
}

.cst-image-area {
  border-radius: 24px;
  flex: 0 0 775px;
  width: 775px;
  max-width: 100%;
  height: 520px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 10px 30px #0000001a;
}

.cst-main-image {
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
}

.cst-image-overlay {
  -webkit-backdrop-filter: blur(20px);
  color: #fff;
  background: #28282866;
  border: 1px solid #ffffff1a;
  border-radius: 100px;
  align-items: center;
  gap: 16px;
  padding: 16px 24px;
  display: flex;
  position: absolute;
  top: 40px;
  left: 40px;
}

.cst-overlay-logo {
  object-fit: contain;
  filter: brightness(0) invert();
  width: auto;
  height: 36px;
}

.cst-overlay-text {
  text-transform: uppercase;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.1;
}

@media (width <= 1024px) {
  .cst-content-area {
    flex-direction: column;
  }

  .cst-brand-list {
    flex: none;
    width: 100%;
  }

  .cst-image-area {
    flex: none;
    width: 100%;
    height: 400px;
  }
}

@media (width <= 768px) {
  .cst-section {
    padding: 40px 16px;
  }

  .cst-category-tabs {
    gap: 12px;
  }

  .cst-cat-btn {
    padding: 10px 20px;
    font-size: 14px;
  }

  .cst-brand-name {
    font-size: 32px;
  }

  .cst-image-overlay {
    -webkit-backdrop-filter: none;
    background: #28282899;
    border-radius: 20px;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    max-width: calc(100% - 40px);
    top: 20px;
    left: 20px;
    right: auto;
  }

  .cst-overlay-logo {
    height: 28px;
  }

  .cst-overlay-text {
    font-size: 16px;
  }
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.fade-in-image {
  animation: .5s ease-in-out forwards tabFadeIn;
}

@keyframes tabFadeIn {
  from {
    opacity: .3;
    transform: scale(.98);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

.csd-section {
  background-color: #f7f7f5;
  width: 100%;
  padding: 0 20px 60px;
  font-family: Swiss721BT Regular, sans-serif;
}

.csd-container {
  max-width: var(--content-max-width, 1200px);
  flex-direction: column;
  gap: 24px;
  margin: 0 auto;
  display: flex;
}

.csd-header-card {
  background-color: #fff;
  border-radius: 24px;
  justify-content: space-between;
  align-items: center;
  gap: 40px;
  padding: 40px 60px;
  display: flex;
}

.csd-header-left {
  flex: none;
}

.csd-brand-title {
  text-transform: uppercase;
  color: #111;
  margin: 0;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 80px;
  font-weight: 700;
  line-height: 1;
}

.csd-header-right {
  flex: 1;
  max-width: 523px;
}

.csd-brand-intro {
  color: #444;
  margin: 0;
  font-size: 22px;
  line-height: 1.4;
}

.csd-brand-intro strong {
  color: #111;
  font-weight: 700;
}

.csd-main-card {
  background-color: #171717;
  border-radius: 32px;
  flex-direction: column;
  gap: 16px;
  padding: 24px;
  display: flex;
}

.csd-top-row {
  border-radius: 20px;
  gap: 24px;
  min-height: 444px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.csd-laptop-img-wrapper {
  z-index: 1;
  position: absolute;
  inset: 0;
}

.csd-laptop-img {
  width: 100%;
  height: auto;
  display: block;
}

.csd-laptop-logo {
  z-index: 2;
  height: auto;
  max-height: 100px;
  position: absolute;
  top: 30px;
  left: 30px;
}

#detail-gatorade .csd-laptop-logo {
  object-fit: contain;
  width: 46px;
  height: 50px;
  max-height: none;
}

.csd-stats-grid-wrapper {
  backdrop-filter: blur(70px);
  z-index: 2;
  background: #17171766;
  border-radius: 20px;
  flex-direction: column;
  flex: 1;
  justify-content: center;
  max-width: 55%;
  margin-left: auto;
  display: flex;
  position: relative;
}

.csd-stat-item {
  flex-direction: column;
  gap: 12px;
  display: flex;
}

.csd-stat-value {
  color: #fff;
  letter-spacing: -.02em;
  align-items: baseline;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 33.19px;
  font-style: normal;
  font-weight: 400;
  line-height: 100%;
  display: flex;
}

.csd-stat-unit {
  margin-left: 6px;
  font-size: 24px;
  font-weight: normal;
}

.csd-stat-desc {
  color: #fff;
  opacity: .9;
  font-size: 20px;
  line-height: 1.4;
}

.csd-bottom-row {
  align-items: stretch;
  gap: 16px;
  display: flex;
}

.csd-blue-card {
  background-color: #2abff4;
  border-radius: 20px;
  flex-direction: column;
  flex: 0 0 65%;
  justify-content: center;
  gap: 20px;
  padding: 34px 32px;
  display: flex;
}

.csd-blue-title {
  color: #111;
  text-transform: uppercase;
  letter-spacing: -4%;
  margin: 0;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.1;
}

.csd-blue-desc {
  color: #111;
  max-width: 548px;
  letter-spacing: -2%;
  margin: 0;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 20px;
  line-height: 1.4;
}

.csd-bike-img-wrapper {
  border-radius: 20px;
  flex: 1;
  position: relative;
  overflow: hidden;
}

.csd-bike-img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  inset: 0;
}

.csd-bike-img.large {
  width: 170%;
  height: 170%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.csd-footnotes {
  color: #888;
  max-width: 846px;
  padding: 10px 0;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 16px;
  line-height: 1.4;
}

@media (width <= 1024px) {
  .csd-header-card {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    padding: 30px 40px;
  }

  .csd-stats-grid-wrapper {
    border-radius: 20px;
    max-width: 100%;
    margin-top: 280px;
    margin-left: 0;
  }

  .csd-bottom-row {
    flex-direction: column;
  }

  .csd-blue-card {
    flex: none;
    width: 100%;
  }
}

@media (width <= 768px) {
  .csd-brand-title {
    font-size: 48px;
  }

  .csd-stats-grid {
    grid-template-columns: 1fr 1fr;
    gap: 30px 15px;
    padding: 30px;
  }

  .csd-stat-desc, .csd-stat-unit {
    letter-spacing: -.02em;
    font-family: Swiss721BT Regular, sans-serif;
    font-size: 11.62px;
    font-style: normal;
    font-weight: 400;
    line-height: 13.28px;
  }

  .csd-blue-title {
    font-size: 32px;
  }

  .csd-blue-card {
    padding: 30px;
  }
}

.csd-stats-grid-wrapper {
  border-radius: 20px;
  flex-direction: column;
  flex: 1;
  justify-content: center;
  display: flex;
}

.csd-main-block-header {
  padding: 20px 40px;
}

.csd-main-block-title {
  color: #fff;
  text-transform: uppercase;
  margin: 0 0 16px;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 24px;
  font-weight: 700;
}

.csd-main-block-desc {
  color: #fff;
  opacity: .9;
  margin: 0;
  font-size: 18px;
  line-height: 1.4;
}

.csd-stats-grid {
  background: none;
  border-radius: 0;
  grid-template-columns: 1fr 1fr;
  grid-auto-flow: row;
  align-content: center;
  gap: 20px;
  padding: 20px 40px;
  display: grid;
}

.contact-banner {
  color: #fff;
  max-width: var(--content-max-width);
  background-position: center;
  background-size: cover;
  border-radius: 16px;
  margin: 40px auto;
  padding: 25px 24px;
  font-family: inherit;
  position: relative;
  overflow: hidden;
}

.contact-banner-content {
  z-index: 2;
  backdrop-filter: blur(9px);
  background: radial-gradient(100% 359.18% at 0 0, #17171766 0% 100%);
  border-radius: 16px;
  max-width: 620px;
  padding: 32px 40px;
  position: relative;
}

.contact-banner-content h2 {
  letter-spacing: -.04em;
  text-transform: uppercase;
  max-width: 487px;
  margin-bottom: 24px;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 64px;
  font-weight: 700;
  line-height: 1;
}

@media (width <= 768px) {
  .contact-banner-content {
    background: linear-gradient(#1e1e1ee6 0%, #1e1e1eb3 60%, #1e1e1e33 100%);
    border-radius: 16px;
    min-width: 100%;
    max-width: 100%;
  }

  .contact-banner-content h2 {
    font-size: 40px;
  }

  .contact-banner--card {
    border-radius: 20px;
    align-items: flex-start;
    min-height: 480px;
    margin: 15px;
    padding: 0;
    display: flex;
  }

  .contact-banner--card .contact-banner-content {
    backdrop-filter: blur(9px);
    background: radial-gradient(100% 359.18% at 0 0, #17171766 0% 100%);
    border-radius: 20px;
    min-width: 0;
    max-width: 304px;
    margin: 1rem;
    padding: 24px;
  }

  .contact-banner--card .contact-banner-content h2 {
    margin-bottom: 12px;
    font-size: 40px;
    line-height: 40px;
  }

  .contact-banner--card .contact-banner-content p {
    font-size: 14px;
    line-height: 19px;
  }

  .contact-banner--card .contact-banner-btn, .contact-banner--card .contact-banner-icon-btn {
    font-size: 16px;
  }

  .contact-banner--card .contact-banner-btn {
    white-space: nowrap;
  }
}

.contact-banner-content p {
  max-width: 400px;
  margin-bottom: 22px;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 20px;
  line-height: 1.25;
}

.contact-banner-btn-container {
  align-items: center;
  gap: 16px;
  display: flex;
}

.contact-banner-btn {
  color: #000;
  cursor: pointer;
  border: none;
  border-radius: 28px;
  padding: 12px 32px;
  font-family: inherit;
  font-size: 1.1rem;
  font-weight: 500;
  transition: background .3s;
}

.contact-banner-btn--coral {
  background-color: var(--coral);
}

.contact-banner-btn--black {
  color: #fff;
  background-color: #171717;
}

.contact-banner-icon-btn {
  color: #000;
  cursor: pointer;
  border: none;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
  transition: background .3s;
  display: flex;
}

.contact-banner-icon-btn--coral {
  background-color: var(--coral);
}

.contact-banner-icon-btn--black {
  color: #fff;
  background-color: #171717;
}

.our-platform-page {
  width: 100%;
  min-height: 60vh;
}

.our-platform-page .redesign-intro {
  max-width: 1103px;
}

.our-platform-intro {
  max-width: var(--content-max-width);
  margin: 0 auto;
  padding: 20px 20px 0;
  font-family: Swiss721BT Regular, sans-serif;
}

.opi-row {
  gap: 12px;
  height: 462px;
  display: flex;
}

.opi-left {
  background-color: #29abe2;
  border-radius: 20px;
  flex-direction: column;
  flex: 0 0 380px;
  justify-content: space-between;
  max-width: 380px;
  padding: 32px 28px;
  display: flex;
  position: relative;
}

.opi-title {
  color: #fff;
  letter-spacing: -.04em;
  text-transform: uppercase;
  margin: 0;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 80px;
  font-weight: 700;
  font-stretch: condensed;
  line-height: .92;
}

.opi-bullet {
  color: #1a1a1a;
  letter-spacing: -.04em;
  text-transform: uppercase;
  margin-top: 40px;
  padding-left: 22px;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 40px;
  font-weight: 700;
  font-stretch: condensed;
  line-height: .92;
  position: relative;
}

.opi-bullet-dot {
  background-color: #1a1a1a;
  border-radius: 50%;
  width: 9px;
  height: 9px;
  position: absolute;
  top: 6px;
  left: 0;
}

.opi-right {
  border-radius: 20px;
  flex: 1;
  min-width: 0;
  position: relative;
  overflow: hidden;
}

.opi-right picture {
  width: 100%;
  height: 100%;
  display: block;
}

.opi-image {
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
}

.opi-scroll-btn {
  z-index: 2;
  background-color: var(--coral);
  cursor: pointer;
  border: none;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 80px;
  height: 80px;
  margin: -40px auto 0;
  transition: background-color .3s;
  display: flex;
  position: relative;
}

@media (width <= 768px) {
  .opi-scroll-btn {
    display: none;
  }
}

.opi-scroll-btn:hover {
  background-color: var(--coral);
}

@media (width <= 1024px) {
  .opi-title {
    font-size: 52px;
  }
}

@media (width <= 768px) {
  .our-platform-intro {
    margin-bottom: 50px;
    padding: 16px 16px 0;
  }

  .opi-br-d {
    display: none;
  }

  .opi-row {
    flex-direction: column;
    gap: 12px;
    height: auto;
    position: relative;
  }

  .opi-right {
    aspect-ratio: 5 / 6;
    order: -1;
    height: auto;
    min-height: 378px;
  }

  .opi-left {
    flex: none;
    justify-content: center;
    width: 100%;
    max-width: 100%;
    padding: 22px 24px;
    position: static;
  }

  .opi-title {
    z-index: 3;
    color: #fff;
    backdrop-filter: blur(10px);
    background: radial-gradient(100.49% 216.49% at 0 39.73%, #ffffff2e 0%, #ffffff08 100%), radial-gradient(70.68% 84.88% at 79.83% 64.38%, #0000006b 13.21%, #00000012 100%);
    border: 1px solid #ffffff8c;
    border-radius: 16px;
    margin: 0;
    padding: 18px 22px;
    font-size: 40px;
    line-height: .95;
    position: absolute;
    top: 16px;
    left: 16px;
    right: 16px;
  }

  .opi-bullet {
    margin-top: 0;
    font-size: 22px;
    line-height: 1;
  }
}

.opv-section {
  max-width: var(--content-max-width);
  margin: 50px auto 0;
  padding: 0 20px;
}

.opv-player {
  background-color: #000;
  border-radius: 20px;
  font-family: Swiss721BT Regular, sans-serif;
  line-height: 0;
  position: relative;
  overflow: hidden;
}

.opv-video {
  cursor: pointer;
  width: 100%;
  height: auto;
  display: block;
}

.opv-volume {
  color: #fff;
  cursor: pointer;
  background: none;
  border: none;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  display: flex;
  position: absolute;
  top: 20px;
  right: 20px;
}

.opv-volume svg {
  width: 22px;
  height: 22px;
}

.opv-controls {
  background: linear-gradient(to top, #0000008c, #0000);
  align-items: center;
  gap: 16px;
  padding: 28px 24px 20px;
  display: flex;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}

.opv-play, .opv-fullscreen {
  color: #fff;
  cursor: pointer;
  background: none;
  border: none;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  padding: 0;
  display: flex;
}

.opv-play svg {
  width: 26px;
  height: 26px;
}

.opv-fullscreen svg {
  width: 22px;
  height: 22px;
}

.opv-time {
  color: #fff;
  letter-spacing: -.01em;
  font-variant-numeric: tabular-nums;
  flex-shrink: 0;
  font-size: 15px;
  line-height: 1;
}

.opv-progress {
  --opv-progress: 0%;
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
  background: linear-gradient(to right,
    #fff 0%,
    #fff var(--opv-progress),
    #ffffff59 var(--opv-progress),
    #ffffff59 100%);
  border-radius: 4px;
  flex: 1;
  min-width: 0;
  height: 4px;
}

.opv-progress::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
  background: #fff;
  border: none;
  border-radius: 50%;
  width: 14px;
  height: 14px;
}

.opv-progress::-moz-range-thumb {
  cursor: pointer;
  background: #fff;
  border: none;
  border-radius: 50%;
  width: 14px;
  height: 14px;
}

.opv-youtube-wrapper {
  aspect-ratio: 16 / 9;
  width: 100%;
  position: relative;
}

.opv-youtube-iframe {
  border: none;
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  inset: 0;
}

.opv-player:fullscreen {
  border-radius: 0;
  justify-content: center;
  align-items: center;
  display: flex;
}

.opv-player:fullscreen .opv-video {
  width: 100%;
  height: auto;
  max-height: 100vh;
}

@media (width <= 768px) {
  .opv-section {
    padding: 0 16px;
  }

  .opv-controls {
    gap: 10px;
    padding: 24px 14px 14px;
  }

  .opv-time {
    font-size: 13px;
  }

  .opv-volume {
    width: 38px;
    height: 38px;
    top: 12px;
    right: 12px;
  }
}

.audience-profiles-intro {
  text-align: center;
  max-width: var(--content-max-width, 1440px);
  margin: 0 auto;
  padding: 80px 40px 0;
}

.audience-profiles-intro-title {
  text-transform: uppercase;
  text-align: center;
  letter-spacing: -.04em;
  color: #1a1a1a;
  margin: 0 0 30px;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 64px;
  font-weight: 700;
  font-stretch: condensed;
  line-height: 100%;
}

@media (width <= 480px) {
  .audience-profiles-intro-title {
    font-size: 40px;
  }
}

.audience-profiles-intro-desc {
  letter-spacing: -.02em;
  text-align: center;
  color: #1a1a1a;
  max-width: 634px;
  margin: 0 auto;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 22px;
  font-weight: 500;
  line-height: 28px;
}

.audience-profiles-intro .scroll-arrow-button {
  margin: 56px auto 32px;
}

.scroll-arrow-button {
  cursor: pointer;
  background-color: #0000;
  border: 1px solid #ccc;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 60px;
  height: 60px;
  transition: border-color .3s;
  display: flex;
}

.scroll-arrow-button:hover {
  border-color: #1c1c1c;
}

.scroll-arrow-button svg {
  fill: none;
  stroke: #1c1c1c;
  stroke-width: 1.5px;
  width: 24px;
  height: 24px;
}

.audience-carousel-section {
  width: min(100% - 40px, var(--content-max-width));
  aspect-ratio: 16 / 8;
  border-radius: 30px;
  min-height: 560px;
  margin: 40px auto;
  font-family: Swiss721BT Regular, sans-serif;
  position: relative;
  overflow: hidden;
}

.audience-carousel-bg {
  opacity: 0;
  z-index: 0;
  will-change: transform, opacity;
  background-position: center;
  background-size: cover;
  transition: opacity .6s ease-in-out;
  position: absolute;
  inset: 0;
}

.audience-carousel-bg.active {
  opacity: 1;
  z-index: 1;
}

.audience-carousel-bg.leaving-next, .audience-carousel-bg.leaving-prev {
  opacity: 1;
  z-index: 3;
  transition: none;
}

.audience-carousel-bg.leaving-next {
  animation: .6s cubic-bezier(.6, 0, .2, 1) forwards acCardOutNext;
  box-shadow: 40px 0 80px #00000073;
}

.audience-carousel-bg.leaving-prev {
  animation: .6s cubic-bezier(.6, 0, .2, 1) forwards acCardOutPrev;
  box-shadow: -40px 0 80px #00000073;
}

@keyframes acCardOutNext {
  from {
    opacity: 1;
    transform: translateX(0) scale(1);
  }

  to {
    opacity: .7;
    transform: translateX(-104%) scale(.94);
  }
}

@keyframes acCardOutPrev {
  from {
    opacity: 1;
    transform: translateX(0) scale(1);
  }

  to {
    opacity: .7;
    transform: translateX(104%) scale(.94);
  }
}

@media (prefers-reduced-motion: reduce) {
  .audience-carousel-bg.leaving-next, .audience-carousel-bg.leaving-prev {
    box-shadow: none;
    opacity: 0;
    z-index: 0;
    animation: none;
  }
}

.ac-overlay {
  z-index: 2;
  box-sizing: border-box;
  background: #0003;
  flex-direction: column;
  justify-content: space-between;
  padding: 48px 40px 32px;
  display: flex;
  position: absolute;
  inset: 0;
}

@keyframes acContentFadeIn {
  from {
    opacity: 0;
    transform: translateY(8px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.ac-top {
  text-align: center;
  flex-direction: column;
  align-items: center;
  animation: .5s ease-out forwards acContentFadeIn;
  display: flex;
}

.ac-title {
  color: #fff;
  letter-spacing: -.04em;
  text-transform: uppercase;
  margin: 0;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: max(48px, min(8vw, 100px));
  font-weight: 700;
  font-stretch: condensed;
  line-height: 1;
}

.ac-subtitle {
  background-color: var(--coral);
  color: #1a1a1a;
  letter-spacing: -.02em;
  text-transform: uppercase;
  border-radius: 999px;
  margin-top: 14px;
  padding: 9px 22px;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: max(14px, min(1.4vw, 20px));
  font-weight: 700;
  font-stretch: condensed;
  line-height: 1;
  display: inline-block;
}

.ac-bottom {
  flex-direction: column;
  align-items: center;
  gap: 18px;
  display: flex;
}

.ac-bottom-bar {
  backdrop-filter: blur(24px);
  box-sizing: border-box;
  background: #1414146b;
  border: 1px solid #ffffff29;
  border-radius: 20px;
  align-items: center;
  gap: 16px;
  width: 100%;
  max-width: 1120px;
  padding: 30px 50px;
  animation: .5s ease-out forwards acContentFadeIn;
  display: flex;
  position: relative;
}

.ac-bottom-bar:before {
  content: "";
  -webkit-mask-composite: xor;
  pointer-events: none;
  -webkit-mask-composite: xor;
  -webkit-mask-source-type: auto, auto;
  background: linear-gradient(90.59deg, #ffffff80 1.71%, #ffffff0d 32.88% 70.63%, #ffffff80 96.59%);
  border-radius: 50px;
  padding: 1px;
  position: absolute;
  inset: 20px 26px;
  -webkit-mask-image: linear-gradient(#fff 0 0), linear-gradient(#fff 0 0);
  mask-image: linear-gradient(#fff 0 0), linear-gradient(#fff 0 0);
  -webkit-mask-position: 0 0, 0 0;
  mask-position: 0 0, 0 0;
  -webkit-mask-size: auto, auto;
  mask-size: auto, auto;
  -webkit-mask-repeat: repeat, repeat;
  mask-repeat: repeat, repeat;
  -webkit-mask-clip: content-box, border-box;
  mask-clip: content-box, border-box;
  -webkit-mask-origin: content-box, border-box;
  mask-origin: content-box, border-box;
  mask-composite: exclude;
  mask-mode: match-source, match-source;
}

@media (width <= 1024px) {
  .ac-bottom-bar:before {
    border-radius: 10px;
  }
}

.ac-bottom-dot {
  background-color: var(--coral);
  border-radius: 50%;
  flex-shrink: 0;
  width: 12px;
  height: 12px;
}

.ac-bottom-text {
  color: #fff;
  text-align: center;
  letter-spacing: -.01em;
  flex: 1;
  margin: 0;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: max(15px, min(1.4vw, 20px));
  line-height: 1.35;
}

.audience-nav-arrow {
  z-index: 5;
  cursor: pointer;
  background: none;
  border: none;
  justify-content: center;
  align-items: center;
  width: 60px;
  height: 60px;
  padding: 0;
  transition: opacity .3s;
  display: flex;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.audience-nav-arrow:hover {
  opacity: .7;
}

.audience-nav-arrow svg {
  width: 44px;
  height: 44px;
}

.audience-nav-prev {
  left: 18px;
}

.audience-nav-next {
  right: 18px;
}

@media (width <= 1024px) {
  .audience-carousel-section {
    aspect-ratio: auto;
    min-height: 720px;
  }

  .ac-overlay {
    padding: 40px 24px 28px;
  }
}

@media (width <= 767px) {
  .audience-carousel-section {
    border-radius: 24px;
    width: calc(100% - 24px);
    min-height: 620px;
    margin: 24px auto;
  }

  .audience-carousel-bg {
    background-position: top;
  }

  .ac-overlay {
    padding: 32px 16px 20px;
  }

  .ac-title {
    font-size: max(44px, min(14vw, 64px));
  }

  .audience-nav-arrow {
    width: 44px;
    height: 44px;
  }

  .audience-nav-arrow svg {
    width: 32px;
    height: 32px;
  }

  .audience-nav-prev {
    left: 6px;
  }

  .audience-nav-next {
    right: 6px;
  }

  .ac-bottom-bar {
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
    padding: 24px 28px;
  }

  .ac-bottom-bar:before {
    inset: 14px 16px;
  }

  .ac-bottom-dot {
    margin-top: 7px;
  }

  .ac-bottom-text {
    text-align: left;
    font-size: 15px;
  }
}

.od-traveler-carousel-section {
  width: 100%;
  padding: 64px 0 56px;
  font-family: Swiss721BT Regular, sans-serif;
  position: relative;
}

.od-traveler-preload {
  opacity: 0;
  pointer-events: none;
  width: 1px;
  height: 1px;
  position: absolute;
  overflow: hidden;
}

.od-traveler-preload-video {
  width: 1px;
  height: 1px;
}

.od-traveler-shell {
  max-width: 1520px;
  margin: 0 auto;
  padding: 0 24px;
  position: relative;
}

.od-traveler-stage {
  justify-content: center;
  display: flex;
  position: relative;
}

.od-traveler-card {
  width: 100%;
  max-width: 1132px;
  margin: 0 auto;
  animation: .64s cubic-bezier(.22, 1, .36, 1) odTravelerReveal;
}

@keyframes odTravelerReveal {
  from {
    opacity: 0;
    filter: blur(6px);
    transform: translateY(16px) scale(.98);
  }

  to {
    opacity: 1;
    filter: blur();
    transform: translateY(0) scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .od-traveler-card {
    animation-duration: 1ms;
  }
}

.od-traveler-card-frame {
  width: 100%;
}

.od-traveler-card-video-wrap {
  width: 100%;
  height: 100%;
  display: block;
}

.od-traveler-card-overlay {
  z-index: 4;
  width: 80%;
  position: absolute;
  bottom: 3.5%;
  left: 50%;
  right: 4%;
  transform: translateX(-50%);
}

.od-traveler-points-bar {
  backdrop-filter: blur(24px);
  background: #1414146b;
  border: 1px solid #ffffff29;
  border-radius: 16px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  padding: 22px 32px;
  display: grid;
}

.od-traveler-point {
  color: #fff;
  align-items: flex-start;
  gap: 12px;
  display: flex;
}

.od-traveler-point-dot {
  background: var(--coral);
  border-radius: 50%;
  flex: 0 0 11px;
  width: 11px;
  height: 11px;
  margin-top: 5px;
}

.od-traveler-point-text {
  letter-spacing: -.01em;
  font-size: 18px;
  line-height: 1.25;
}

.od-traveler-arrow {
  z-index: 5;
  cursor: pointer;
  color: #fff;
  background: #171717;
  border: 0;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 64px;
  height: 64px;
  transition: transform .25s, background-color .25s, color .25s;
  display: inline-flex;
  position: absolute;
  top: 62%;
  transform: translateY(-50%);
}

.od-traveler-arrow svg {
  width: 26px;
  height: 26px;
}

.od-traveler-arrow--prev {
  left: 0;
}

.od-traveler-arrow--next {
  right: 0;
}

.od-traveler-arrow:hover {
  background: var(--coral);
  color: #171717;
  transform: translateY(-50%) scale(1.07);
}

.od-traveler-stepper-track {
  margin-top: 52px;
}

.od-traveler-stepper {
  grid-template-columns: repeat(7, 1fr);
  display: grid;
  position: relative;
}

.od-traveler-stepper:before {
  content: "";
  background: #d8d4cd;
  height: 1px;
  position: absolute;
  top: 6px;
  left: 0;
  right: 0;
}

.od-traveler-step {
  cursor: pointer;
  background: none;
  border: 0;
  grid-template-rows: 12px auto;
  justify-items: center;
  gap: 24px;
  padding: 0;
  display: grid;
  position: relative;
}

.od-traveler-step-dot {
  z-index: 1;
  background: #c7c2bb;
  border-radius: 50%;
  align-self: center;
  width: 9px;
  height: 9px;
  transition: transform .4s cubic-bezier(.34, 1.56, .64, 1), background-color .3s, box-shadow .3s;
  position: relative;
  box-shadow: 0 0 #ff966200;
}

.od-traveler-step:hover .od-traveler-step-dot {
  background: #ad9f93;
}

.od-traveler-step.is-active .od-traveler-step-dot {
  background: var(--coral);
  transform: scale(1.45);
  box-shadow: 0 0 0 5px #ff966229;
}

.od-traveler-step-label {
  letter-spacing: 0;
  text-transform: uppercase;
  color: #7a756e;
  white-space: nowrap;
  padding-bottom: 10px;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  transition: color .3s;
  position: relative;
}

.od-traveler-step:hover .od-traveler-step-label {
  color: #4a463f;
}

.od-traveler-step-label:after {
  content: "";
  background: var(--coral);
  transform-origin: center;
  border-radius: 2px;
  height: 3px;
  transition: transform .4s cubic-bezier(.22, 1, .36, 1);
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  transform: scaleX(0);
}

.od-traveler-step.is-active .od-traveler-step-label {
  color: #171717;
}

.od-traveler-step.is-active .od-traveler-step-label:after {
  transform: scaleX(1);
}

@media (width <= 1200px) {
  .od-traveler-arrow {
    width: 56px;
    height: 56px;
  }

  .od-traveler-point-text {
    font-size: 16px;
  }

  .od-traveler-step-label {
    font-size: 12px;
  }
}

@media (width <= 900px) {
  .od-traveler-points-bar {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 18px 20px;
  }
}

@media (width <= 768px) {
  .od-traveler-carousel-section {
    padding: 40px 0;
  }

  .od-traveler-shell {
    padding: 0 12px;
  }

  .od-traveler-arrow {
    width: 44px;
    height: 44px;
    top: 50%;
  }

  .od-traveler-arrow svg {
    width: 20px;
    height: 20px;
  }

  .od-traveler-card-overlay {
    width: auto;
    bottom: 9.5%;
    left: 4%;
    transform: none;
  }

  .od-traveler-stepper-track {
    display: none;
  }
}

.od-reach-section {
  max-width: var(--content-max-width, 1440px);
  grid-template-columns: minmax(320px, 1.02fr) minmax(440px, 680px);
  align-items: start;
  gap: max(40px, min(6vw, 120px));
  margin: 0 auto;
  padding: 88px 40px 120px;
  display: grid;
}

.od-reach-intro {
  max-width: 660px;
}

.od-reach-title {
  letter-spacing: -.04em;
  text-transform: uppercase;
  color: #171717;
  margin: 0;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 64px;
  font-weight: 700;
  line-height: 100%;
}

.od-reach-description {
  letter-spacing: -.02em;
  color: #1f1f1f;
  max-width: 480px;
  margin: 28px 0 0;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 22px;
  font-weight: 400;
  line-height: 100%;
}

.od-reach-accordion {
  flex-direction: column;
  gap: 12px;
  display: flex;
}

.od-reach-card {
  border-radius: 18px;
  padding: 24px 28px;
  transition: padding .32s cubic-bezier(.22, 1, .36, 1), transform .32s cubic-bezier(.22, 1, .36, 1), box-shadow .32s;
  transform: translateY(0);
  box-shadow: 0 0 #0000;
}

.od-reach-card.is-expanded {
  padding-bottom: 24px;
  transform: translateY(-2px);
  box-shadow: 0 20px 40px #17171714;
}

.od-reach-card--orange {
  background: var(--coral);
  color: #171717;
}

.od-reach-card--blue {
  color: #171717;
  background: #30a7df;
}

.od-reach-card--dark {
  color: #fff;
  background: #171717;
}

.od-reach-card--light {
  color: #171717;
  background: #fbfaf7;
  box-shadow: 0 1px #1717170a;
}

.od-reach-card-trigger {
  width: 100%;
  color: inherit;
  text-align: left;
  cursor: pointer;
  background: none;
  border: 0;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  padding: 0;
  display: flex;
}

.od-reach-card-icon svg {
  width: 20px;
  height: 20px;
}

.od-reach-card-title {
  letter-spacing: -.04em;
  text-transform: uppercase;
  flex: 1;
  align-self: center;
  min-width: 0;
  max-width: 88%;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 100%;
}

.od-reach-card-icon {
  background: #fff;
  border-radius: 50%;
  flex: none;
  justify-content: center;
  align-items: center;
  width: 44px;
  height: 44px;
  transition: transform .32s cubic-bezier(.22, 1, .36, 1), box-shadow .32s;
  display: inline-flex;
}

.od-reach-card.is-expanded .od-reach-card-icon {
  transform: translateY(-1px) scale(1.04);
  box-shadow: 0 10px 20px #1717171f;
}

.od-reach-card-content {
  opacity: 0;
  grid-template-rows: 0fr;
  transition: grid-template-rows .36s cubic-bezier(.22, 1, .36, 1), opacity .22s;
  display: grid;
}

.od-reach-card-content.is-expanded {
  opacity: 1;
  grid-template-rows: 1fr;
}

.od-reach-card-content-inner {
  overflow: hidden;
}

.od-reach-card-description {
  letter-spacing: -.02em;
  max-width: 92%;
  color: inherit;
  opacity: 0;
  margin: 28px 0 0;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 20px;
  font-weight: 500;
  line-height: 100%;
  transition: opacity .22s, transform .36s cubic-bezier(.22, 1, .36, 1);
  transform: translateY(-12px);
}

.od-reach-card-content.is-expanded .od-reach-card-description {
  opacity: 1;
  transform: translateY(0);
}

@media (width <= 1180px) {
  .od-reach-section {
    grid-template-columns: minmax(280px, 1fr) minmax(380px, 620px);
    gap: 40px;
    padding: 72px 28px 96px;
  }

  .od-reach-card-title {
    font-size: max(32px, min(3vw, 46px));
  }

  .od-reach-card-description {
    max-width: 100%;
  }
}

@media (width <= 767px) {
  .od-reach-section {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 32px 20px 72px;
  }

  .od-reach-intro {
    max-width: none;
  }

  .od-reach-title {
    font-size: max(54px, min(15vw, 76px));
    line-height: .92;
  }

  .od-reach-description {
    max-width: 420px;
    margin-top: 22px;
    font-size: 17px;
    line-height: 1.4;
  }

  .od-reach-accordion {
    gap: 14px;
  }

  .od-reach-card {
    border-radius: 18px;
    padding: 20px 20px 22px;
  }

  .od-reach-card.is-expanded {
    padding-bottom: 24px;
  }

  .od-reach-card-title {
    max-width: calc(100% - 60px);
    font-size: max(20px, min(5.5vw, 24px));
    line-height: 1;
  }

  .od-reach-card-icon {
    width: 44px;
    height: 44px;
  }

  .od-reach-card-description {
    max-width: 100%;
    margin-top: 22px;
    font-size: 16px;
    line-height: 1.4;
  }
}

.od-bonvoy-section {
  padding: 0 20px 120px;
}

.od-bonvoy-shell {
  max-width: var(--content-max-width, 1440px);
  background: #fbfaf7;
  border-radius: 40px;
  margin: 0 auto;
  padding: 48px 18px 56px;
}

.od-bonvoy-header {
  text-align: center;
  flex-direction: column;
  align-items: center;
  padding: 8px 16px 24px;
  display: flex;
}

.od-bonvoy-title {
  letter-spacing: -.045em;
  text-transform: uppercase;
  color: #171717;
  margin: 0;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: max(40px, min(5.4vw, 64px));
  line-height: .95;
}

.od-bonvoy-title-main, .od-bonvoy-title-accent {
  display: inline;
}

.od-bonvoy-title-accent {
  color: var(--coral);
  margin-left: .15em;
}

.od-bonvoy-header-copy {
  letter-spacing: -.025em;
  color: #232323;
  max-width: 674px;
  margin: 18px auto 0;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 21px;
  line-height: 1.14;
}

.od-bonvoy-scroll {
  color: #171717;
  cursor: pointer;
  background: none;
  border: 1px solid #1717173d;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 56px;
  height: 56px;
  margin-top: 24px;
  transition: transform .22s, border-color .22s, background-color .22s;
  display: inline-flex;
}

.od-bonvoy-scroll:hover {
  background: #ffffffad;
  border-color: #1717177a;
  transform: translateY(2px);
}

.od-bonvoy-feature-grid {
  flex-direction: column;
  gap: 12px;
  display: flex;
}

.od-bonvoy-feature {
  border-radius: 22px;
  grid-template-columns: 1fr 574px;
  gap: 28px;
  padding: 18px 22px;
  display: grid;
}

.od-bonvoy-feature--orange {
  background: var(--coral);
}

.od-bonvoy-feature--blue {
  background: #31a8df;
}

.od-bonvoy-feature-copy {
  flex-direction: column;
  justify-content: space-between;
  gap: 28px;
  min-height: 284px;
  padding: 8px 6px 10px;
  display: flex;
}

.od-bonvoy-feature-title {
  max-width: 420px;
  letter-spacing: -4%;
  text-transform: uppercase;
  color: #171717;
  margin: 0;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: max(50px, min(4.1vw, 68px));
  line-height: 1.2;
}

.od-bonvoy-feature-description {
  letter-spacing: -.02em;
  color: #171717;
  max-width: 342px;
  margin: 0;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 18px;
  line-height: 1.08;
}

.od-bonvoy-feature-mosaic {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: start;
  gap: 10px;
  display: grid;
}

.od-bonvoy-tile {
  border-radius: 14px;
  position: relative;
  overflow: hidden;
}

.od-bonvoy-tile--stat {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 88px;
  padding: 14px 18px;
  display: flex;
}

.od-bonvoy-tile--stat.is-tall, .od-bonvoy-tile--image.is-tall {
  min-height: 148px;
}

.od-bonvoy-tile--stat.is-dark {
  color: #fff;
  background: #171717;
}

.od-bonvoy-tile--stat.is-light {
  color: #171717;
  background: #fff;
}

.od-bonvoy-tile-value {
  letter-spacing: -.02em;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 64px;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
}

.od-bonvoy-tile-label {
  letter-spacing: -.02em;
  margin-top: 4px;
  font-family: Swiss721BT Medium, sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
}

.od-bonvoy-tile--image {
  min-height: 88px;
}

.od-bonvoy-tile--image.is-wide {
  grid-column: 1 / -1;
}

.od-bonvoy-tile--overlay {
  grid-column: 1 / -1;
  min-height: 110px;
}

.od-bonvoy-tile--overlay.is-wide {
  min-height: 204px;
}

.od-bonvoy-tile-image {
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
}

.od-bonvoy-tile-image.is-top {
  object-position: center 24%;
}

.od-bonvoy-tile-image.is-crop-right {
  object-position: 72% center;
}

.od-bonvoy-overlay-card {
  color: #fff;
  backdrop-filter: blur(30px);
  border-radius: 14px;
  flex-direction: column;
  justify-content: center;
  min-height: 104px;
  padding: 8px 35px 18px 27px;
  display: flex;
  position: absolute;
  inset: 31px auto auto 48px;
}

.od-bonvoy-feature--blue .od-bonvoy-overlay-card {
  max-width: 390px;
}

.od-bonvoy-overlay-value {
  letter-spacing: -.02em;
  margin-bottom: 10px;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 64px;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
}

.od-bonvoy-overlay-label, .od-bonvoy-overlay-detail {
  letter-spacing: -.005em;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
}

.od-bonvoy-brand-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-top: 38px;
  display: grid;
}

.od-bonvoy-brand-card {
  text-align: center;
  background: #fff;
  border: 1px solid #1717171f;
  border-radius: 18px;
  flex-direction: column;
  align-items: center;
  padding: 12px 16px 16px;
  display: flex;
}

.od-bonvoy-brand-title {
  color: #171717;
  margin: 0;
  font-family: Swiss721BT Bold, sans-serif;
  font-size: 18px;
  line-height: 1.1;
}

.od-bonvoy-brand-description {
  color: #171717a8;
  min-height: 42px;
  margin: 8px 0 0;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 11px;
  line-height: 1.25;
}

.od-bonvoy-brand-logos {
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px 4px;
  width: 100%;
  margin-top: 12px;
  display: flex;
}

.od-bonvoy-brand-logo {
  justify-content: center;
  align-items: center;
  padding: 10px;
  transition: transform .2s;
  display: flex;
}

.od-bonvoy-brand-logo svg {
  cursor: pointer;
  max-width: 100%;
  height: auto;
  transition: all .3s;
}

.od-bonvoy-brand-logo path {
  fill: #707070;
  transition: fill .3s;
}

.od-bonvoy-brand-logo:hover path {
  fill: #333;
}

.od-bonvoy-brand-logo:hover {
  transform: scale(1.05);
}

@media (width <= 1180px) {
  .od-bonvoy-shell {
    padding: 40px 16px 48px;
  }

  .od-bonvoy-feature {
    grid-template-columns: 1fr;
  }

  .od-bonvoy-feature-copy {
    min-height: 0;
  }

  .od-bonvoy-brand-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (width <= 767px) {
  .od-bonvoy-section {
    padding: 0 0 88px;
  }

  .od-bonvoy-shell {
    border-radius: 32px;
    padding: 24px 10px 42px;
  }

  .od-bonvoy-header {
    padding: 4px 10px 18px;
  }

  .od-bonvoy-title {
    font-size: max(42px, min(13vw, 62px));
    line-height: .94;
  }

  .od-bonvoy-title-main, .od-bonvoy-title-accent {
    display: inline;
  }

  .od-bonvoy-header-copy {
    max-width: 320px;
    font-size: 16px;
    line-height: 1.08;
  }

  .od-bonvoy-scroll {
    width: 50px;
    height: 50px;
    margin-top: 20px;
  }

  .od-bonvoy-feature {
    border-radius: 22px;
    gap: 18px;
    padding: 18px 10px 12px;
  }

  .od-bonvoy-feature-copy {
    gap: 18px;
    padding: 0 8px;
  }

  .od-bonvoy-feature-title {
    max-width: none;
    font-size: max(34px, min(8.6vw, 48px));
    line-height: .94;
  }

  .od-bonvoy-feature-description {
    max-width: 280px;
    font-size: 15px;
    line-height: 1.08;
  }

  .od-bonvoy-feature-mosaic {
    gap: 6px;
  }

  .od-bonvoy-tile, .od-bonvoy-overlay-card {
    border-radius: 12px;
  }

  .od-bonvoy-tile--stat, .od-bonvoy-tile--image {
    min-height: 58px;
  }

  .od-bonvoy-tile--stat.is-tall, .od-bonvoy-tile--image.is-tall {
    min-height: 82px;
  }

  .od-bonvoy-tile--overlay {
    min-height: 74px;
  }

  .od-bonvoy-tile--overlay.is-wide {
    min-height: 104px;
  }

  .od-bonvoy-tile--stat {
    padding: 10px 12px;
  }

  .od-bonvoy-tile-value, .od-bonvoy-overlay-value {
    font-size: max(24px, min(7.5vw, 40px));
  }

  .od-bonvoy-tile-label, .od-bonvoy-overlay-label, .od-bonvoy-overlay-detail {
    font-size: 10px;
    line-height: 1.05;
  }

  .od-bonvoy-overlay-card {
    min-height: 58px;
    padding: 6px 14px 24px;
    inset: 6px calc(50% + 3px) auto 6px;
  }

  .od-bonvoy-brand-grid {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-top: 18px;
  }

  .od-bonvoy-brand-card {
    border-radius: 18px;
    padding: 16px 14px 18px;
  }

  .od-bonvoy-brand-title {
    font-size: 16px;
  }

  .od-bonvoy-brand-description {
    min-height: 0;
    font-size: 11px;
  }
}

.od-international-section {
  padding: 0 20px 120px;
}

.od-international-shell {
  max-width: var(--content-max-width, 1440px);
  margin: 0 auto;
}

.od-international-header {
  text-align: center;
  flex-direction: column;
  align-items: center;
  padding: 10px 20px 34px;
  display: flex;
}

.od-international-title {
  letter-spacing: -4%;
  text-transform: uppercase;
  color: #171717;
  margin: 0;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: max(50px, min(4.7vw, 64px));
  line-height: 100%;
}

.od-international-copy {
  max-width: 1026px;
  letter-spacing: -2%;
  color: #232323;
  margin: 28px auto 0;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: max(24px, min(2.3vw, 40px));
  line-height: 1.08;
}

.od-international-highlight {
  background: #cfeeff;
  border-radius: 999px;
  align-items: center;
  gap: 8px;
  margin-left: 6px;
  padding: 4px 14px 6px 10px;
  display: inline-flex;
}

.od-international-highlight-icon {
  color: #fff;
  background: #2ea7df;
  border-radius: 50%;
  flex: none;
  justify-content: center;
  align-items: center;
  width: 28px;
  height: 28px;
  display: inline-flex;
}

.od-international-card {
  border-radius: 22px;
  min-height: 510px;
  position: relative;
  overflow: hidden;
}

.od-international-card-image {
  object-fit: cover;
  object-position: center center;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

.od-international-card:after {
  content: "";
  background: linear-gradient(#0000 55%, #00000026 100%);
  position: absolute;
  inset: 0;
}

.od-international-card-overlay {
  z-index: 1;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px;
  min-height: 510px;
  padding: 32px;
  display: flex;
  position: relative;
}

.od-international-title-wrap {
  width: fit-content;
  max-width: 80%;
  position: relative;
}

.od-international-title-panel {
  z-index: 0;
  pointer-events: none;
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  inset: 0;
  overflow: visible;
}

.od-international-card-title {
  z-index: 1;
  letter-spacing: -.04em;
  text-transform: uppercase;
  text-align: left;
  color: #fff;
  flex-direction: column;
  align-items: flex-start;
  margin: 0;
  padding: 30px;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: max(34px, min(4.4vw, 64px));
  font-weight: 700;
  line-height: 1.05;
  display: flex;
  position: relative;
}

.od-international-title-line {
  white-space: nowrap;
}

@media (width <= 767px) {
  .od-international-title-line {
    white-space: normal;
  }
}

@media (width <= 1024px) {
  .od-international-card-overlay {
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
  }
}

.od-international-actions {
  align-items: center;
  gap: 14px;
  display: flex;
}

.od-international-button, .od-international-icon-button {
  text-decoration: none;
}

.od-international-button {
  background: var(--coral);
  color: #171717;
  min-height: 52px;
  letter-spacing: -2%;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  padding: 10px 22px;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 20px;
  line-height: 1;
  display: inline-flex;
}

.od-international-icon-button {
  background: var(--coral);
  color: #171717;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 52px;
  height: 52px;
  display: inline-flex;
}

@media (width <= 767px) {
  .od-international-section {
    padding: 0 16px 88px;
  }

  .od-international-header {
    padding: 6px 8px 26px;
  }

  .od-international-title {
    font-size: max(38px, min(10.5vw, 54px));
  }

  .od-international-copy {
    max-width: 340px;
    font-size: 18px;
    line-height: 1.14;
  }

  .od-international-highlight {
    margin-top: 6px;
    margin-left: 0;
    padding: 4px 12px 5px 8px;
    display: inline-flex;
  }

  .od-international-highlight-icon {
    width: 24px;
    height: 24px;
  }

  .od-international-card {
    aspect-ratio: 290 / 420;
    min-height: 0;
  }

  .od-international-card:after {
    background: #0006;
  }

  .od-international-card-overlay {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 28px;
    min-height: 0;
    padding: 32px 24px;
    position: absolute;
    inset: 0;
  }

  .od-international-title-wrap {
    width: 100%;
    max-width: 100%;
  }

  .od-international-title-panel {
    display: none;
  }

  .od-international-card-title {
    letter-spacing: -.04em;
    text-align: center;
    background: none;
    align-items: center;
    padding: 0;
    font-size: 40px;
    line-height: 100%;
  }

  .od-international-title-line {
    white-space: normal;
    text-align: center;
  }

  .od-international-actions {
    gap: 10px;
  }

  .od-international-button {
    min-height: 39px;
    padding: 0 22px;
    font-size: 16px;
  }

  .od-international-icon-button {
    width: 40px;
    height: 40px;
  }
}

.insights-page {
  color: #1a1a1a;
  background-color: #f5f5f5;
  padding-bottom: 4rem;
  font-family: Swiss721BT-Regular, sans-serif;
}

.insights-hero {
  width: 100%;
  max-width: var(--content-max-width);
  background-color: #fff;
  justify-content: center;
  align-items: center;
  min-height: 600px;
  margin: 0 auto;
  display: flex;
  position: relative;
  overflow: hidden;
}

.hero-bg-text-container {
  z-index: 1;
  pointer-events: none;
  -webkit-user-select: none;
  user-select: none;
  gap: 400px;
  animation: 30s linear infinite moveRightToLeftMarquee;
  display: flex;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

.hero-bg-text {
  color: #171717;
  white-space: nowrap;
  letter-spacing: -.02em;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 500px;
  font-weight: 700;
  line-height: .8;
}

.hero-content-box {
  z-index: 2;
  color: #171717;
  text-align: left;
  background-color: #24ade9;
  border-radius: 24px;
  flex-direction: column;
  width: 100%;
  max-width: 370px;
  padding: 32px;
  display: flex;
  position: relative;
}

.hero-header {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
  display: flex;
}

.hero-header h1 {
  letter-spacing: -.04em;
  text-transform: uppercase;
  margin: 0;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 40px;
  font-weight: 700;
  line-height: 1;
}

.hero-content-box p {
  letter-spacing: -.02em;
  margin-bottom: 1.5rem;
  font-family: Swiss721BT-Regular, sans-serif;
  font-size: 22px;
  font-weight: 500;
  line-height: 26px;
}

.hero-scroll-btn-wrapper {
  position: absolute;
  bottom: -40px;
  left: 50%;
  transform: translateX(-50%);
}

.hero-scroll-btn {
  background-color: var(--coral);
  cursor: pointer;
  color: #1a1a1a;
  border: none;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 80px;
  height: 80px;
  transition: transform .3s;
  display: flex;
}

.hero-scroll-btn:hover {
  transform: translateY(5px);
}

.hero-scroll-btn svg {
  stroke: #111;
  stroke-width: .5px;
  width: 55px;
  height: 55px;
}

.search-bar {
  background: #fff;
  border-radius: 30px;
  padding: .25rem;
  display: flex;
  overflow: hidden;
}

.search-bar input {
  color: #1a1a1a;
  border: none;
  outline: none;
  flex: 1;
  padding: .5rem 1rem;
  font-size: 1rem;
}

.search-btn {
  color: var(--coral);
  cursor: pointer;
  background: none;
  border: none;
  justify-content: center;
  align-items: center;
  padding: .5rem;
  display: flex;
}

.insights-ticker {
  max-width: var(--content-max-width);
  background-color: #f5f5f5;
  flex-direction: column;
  align-items: center;
  margin: 0 auto;
  padding: 2rem;
  display: flex;
}

.ticker-carousel-container {
  justify-content: center;
  width: 100%;
  height: 100px;
  display: flex;
  position: relative;
}

.ticker-bar {
  color: #fff;
  opacity: 0;
  visibility: hidden;
  background-color: #1a1a1a;
  border-radius: 50px;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 1rem;
  transition: opacity .5s, transform .5s, visibility .5s;
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  transform: translateY(10px);
}

.ticker-bar.active {
  opacity: 1;
  visibility: visible;
  z-index: 2;
  transform: translateY(0);
}

.ticker-bar.inactive {
  z-index: 1;
}

.ticker-img-wrapper {
  border-radius: 44px;
  width: 100%;
  max-width: 266px;
  height: 100%;
  max-height: 68px;
  margin-right: 1rem;
  overflow: hidden;
}

.ticker-img-wrapper img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.ticker-text {
  letter-spacing: -.04em;
  text-transform: uppercase;
  text-align: center;
  flex: 1;
  align-self: center;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
}

.ticker-btn {
  color: #1a1a1a;
  cursor: pointer;
  background-color: var(--coral);
  border: none;
  border-radius: 100px;
  align-items: center;
  gap: 21px;
  padding: 16px 20px 16px 40px;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 20px;
  display: flex;
}

.ticker__icon-circle {
  color: #1a1a1a;
  background-color: #fff;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  display: flex;
}

.ticker-dots {
  gap: .5rem;
  margin-top: 1rem;
  display: flex;
}

.ticker-dots .dot {
  cursor: pointer;
  background-color: #0000;
  border: 1px solid #1a1a1a;
  border-radius: 50%;
  width: 8px;
  height: 8px;
  transition: all .3s;
}

.ticker-dots .dot.active {
  background-color: var(--coral);
  border-color: var(--coral);
  border-radius: 4px;
  width: 24px;
}

.featured-deep-dives {
  max-width: var(--content-max-width);
  margin: 0 auto;
  padding: 20px;
}

.fdd-header {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  gap: 1rem;
  margin-bottom: 2rem;
  display: flex;
}

.fdd-header h2 {
  letter-spacing: -4%;
  margin: 0;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 64px;
}

.fdd-header h2 span {
  color: var(--coral);
}

.fdd-filters {
  flex-wrap: wrap;
  gap: .5rem;
  display: flex;
}

.filter-pill {
  cursor: pointer;
  color: #333;
  background-color: #e0e0e0;
  border: none;
  border-radius: 20px;
  padding: .5rem 1.25rem;
  font-family: Swiss721BT-Medium, sans-serif;
  font-size: .9rem;
}

.filter-pill.active {
  background-color: var(--coral);
  color: #fff;
}

.articles-grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  display: grid;
}

.article-card {
  background: #fff;
  border-radius: 16px;
  flex-direction: column;
  display: flex;
  overflow: hidden;
}

.article-card.small {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 20px;
  padding: 1rem;
  transition: all .3s;
}

.article-card.small:hover {
  background: #e5e4e6;
}

.article-card.small .date {
  display: none;
}

.article-card.small .card-image-wrapper {
  border-radius: 12px;
  flex: none;
  margin-bottom: 1rem;
  overflow: hidden;
}

.article-card.small .card-image-wrapper img {
  height: 240px;
  min-height: auto;
}

.article-card.small .card-content {
  flex: none;
  padding: 0;
}

.article-card.small .category-tag {
  color: #1a1a1a;
  background: #c4e5f9;
  border-radius: 16px;
  margin-bottom: .75rem;
  padding: .25rem .75rem;
  display: inline-block;
}

.article-card.small h3 {
  text-transform: uppercase;
  color: #171717;
  margin: 0 0 1rem;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 32px;
  line-height: 1.1;
}

.article-card.small p {
  color: #555;
  -webkit-line-clamp: 2;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  margin-bottom: 0;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 20px;
  line-height: 1.4;
  display: -webkit-box;
  overflow: hidden;
}

.card-btn {
  background-color: var(--coral);
  color: #1a1a1a;
  cursor: pointer;
  border: none;
  border-radius: 100px;
  padding: 12px 24px;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 20px;
  transition: background-color .3s;
}

.card-btn:hover {
  background-color: var(--coral);
}

.article-card.large-full {
  background-color: #0000;
  grid-column: 1 / -1;
  min-height: 400px;
  margin-top: 2rem;
  margin-bottom: 2rem;
  display: flex;
  position: relative;
  overflow: visible;
}

.article-card.large-full.blue-bg {
  background-color: #0000;
}

.article-card.large-half {
  grid-column: span 1.5;
}

.article-card.blue-bg {
  color: #fff;
  background-color: #24ade9;
}

.article-card.orange-bg {
  background-color: var(--coral);
  color: #fff;
}

.article-card.dark-bg {
  color: #fff;
  background-color: #1a1a1a;
}

.card-image-wrapper {
  flex: 1;
  position: relative;
}

.card-image-wrapper img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  min-height: 200px;
}

.article-card.large-full .card-image-wrapper {
  z-index: 1;
  border-radius: 20px;
  width: calc(58% + 40px);
  height: 100%;
  position: absolute;
  top: 50%;
  left: 0;
  overflow: hidden;
  transform: translateY(-50%);
}

.article-card.large-full .card-image-wrapper img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  min-height: 100%;
}

.card-content {
  flex-direction: column;
  flex: 1;
  padding: 1.5rem;
  display: flex;
}

.article-card.large-full .card-content {
  z-index: 2;
  background-color: #24ade9;
  border-radius: 24px;
  flex: none;
  justify-content: center;
  width: 100%;
  max-width: 580px;
  height: 100%;
  margin-left: auto;
  padding: 32px;
  position: relative;
}

.article-card.large-full .card-content .category-tag {
  margin-bottom: 40px;
}

.category-tag {
  color: #1a1a1a;
  background: #fffc;
  border-radius: 30px;
  align-self: flex-start;
  margin-bottom: 1rem;
  padding: 4px 12px;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 16px;
}

.blue-bg .category-tag, .orange-bg .category-tag, .dark-bg .category-tag {
  color: #171717;
  background: #b7d7f2;
}

.card-content h3 {
  color: #171717;
  margin: 0 0 1rem;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 1.5rem;
  line-height: 1.1;
}

.article-card.large-full .card-content h3 {
  letter-spacing: -4%;
  text-transform: uppercase;
  color: #171717;
  max-width: 350px;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 50px;
  font-weight: 700;
  line-height: 1.22;
}

.article-card.large-full .card-content p {
  letter-spacing: -2%;
  color: #171717;
  max-width: 440px;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.22;
}

.card-content p {
  flex: 1;
  margin-bottom: 90px;
  font-size: .95rem;
}

.card-footer {
  justify-content: space-between;
  align-items: center;
  margin-top: auto;
  font-weight: bold;
  display: flex;
}

.card-footer .date {
  color: #171717;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 20px;
}

.read-more-wrapper {
  justify-content: center;
  margin-top: 3rem;
  display: flex;
}

.faq-resources {
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
  padding: 4rem 2rem;
}

.faq-resources h2 {
  margin-bottom: 2rem;
  font-family: Swiss721BT-BlackCondensed, sans-serif;
  font-size: 2.5rem;
}

.faq-list {
  text-align: left;
}

.faq-item {
  background: #fff;
  border-radius: 30px;
  margin-bottom: 1rem;
  padding: 1.5rem 2rem;
  box-shadow: 0 2px 10px #0000000d;
}

.faq-item-header {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.faq-item-header h3 {
  margin: 0;
  font-size: 1.1rem;
}

.faq-toggle-btn {
  background: var(--coral);
  color: #fff;
  cursor: pointer;
  border: none;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  display: flex;
}

.faq-item.expanded .faq-toggle-btn {
  color: #1a1a1a;
  background: #ccc;
}

.faq-item-body {
  color: #555;
  margin-top: 1.5rem;
  font-size: .95rem;
  line-height: 1.5;
}

.download-box {
  background: #f9f9f9;
  border: 1px solid #eee;
  border-radius: 8px;
  align-items: center;
  gap: 1rem;
  margin: 1rem 0;
  padding: 1rem;
  display: flex;
}

.download-box span {
  font-weight: bold;
}

.download-box .meta {
  color: #888;
  font-weight: normal;
}

.download-box .size {
  margin-left: auto;
}

.download-btn {
  color: #fff;
  cursor: pointer;
  background: #00a0d2;
  border: none;
  border-radius: 8px;
  padding: .5rem;
  display: flex;
}

.bonvoy-videos {
  color: #171717;
  text-align: center;
  background: #f5f5f5;
  padding: 4rem 2rem;
}

.bonvoy-videos h2 {
  text-transform: uppercase;
  letter-spacing: -4%;
  margin-bottom: 1rem;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 64px;
}

.bonvoy-videos p {
  color: #171717;
  max-width: 880px;
  letter-spacing: -2%;
  margin: 0 auto 48px;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 24px;
  line-height: 1.5;
}

.videos-grid {
  background-color: #171717;
  border-radius: 40px;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem 1.5rem;
  max-width: 1376px;
  margin: 0 auto;
  padding: 40px;
  display: grid;
}

.video-card-container {
  flex-direction: column;
  gap: 20px;
  display: flex;
}

.video-card {
  aspect-ratio: 16 / 9;
  border-radius: 24px;
  flex-direction: column;
  display: flex;
  position: relative;
  overflow: hidden;
}

.video-card img {
  object-fit: cover;
  opacity: .9;
  width: 100%;
  height: 100%;
  transition: opacity .3s;
  position: absolute;
  top: 0;
  left: 0;
}

.video-card-container:hover .video-card img {
  opacity: 1;
}

.video-overlay {
  z-index: 2;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
}

.video-play-btn {
  backdrop-filter: blur(70px);
  background: radial-gradient(100% 359.18% at 0 0, #ffffff2e 0%, #ffffff08 100%);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 100px;
  height: 100px;
  transition: transform .3s;
  display: flex;
}

.video-card-container:hover .video-play-btn {
  transform: scale(1.1);
}

.video-duration-pill {
  color: #fff;
  z-index: 3;
  letter-spacing: -4%;
  background: #171717;
  border-radius: 30px;
  padding: 4px 12px;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 20px;
  position: absolute;
  bottom: 10px;
  right: 10px;
}

.video-title {
  color: #fff;
  text-transform: uppercase;
  text-align: left;
  letter-spacing: -4%;
  margin: 0 0 0 9px;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 32px;
  line-height: 1.6;
}

@keyframes videoFadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.animate-video-in {
  opacity: 0;
  animation: .5s cubic-bezier(.175, .885, .32, 1.275) forwards videoFadeInUp;
}

.view-more-container {
  justify-content: center;
  margin-top: 2rem;
  display: flex;
}

@media (width <= 900px) {
  .videos-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (width <= 600px) {
  .videos-grid {
    grid-template-columns: 1fr;
    padding: 16px;
  }

  .bonvoy-videos, .insights-ticker {
    padding: 16px;
  }

  .insights-hero {
    margin: 0 16px;
    padding-left: 16px;
    padding-right: 16px;
  }
}

@media (width <= 750px) {
  .article-card.large-full {
    flex-direction: column;
    min-height: auto;
    margin-top: 1rem;
    margin-bottom: 1rem;
  }

  .article-card.large-full .card-image-wrapper {
    width: 100%;
    height: 300px;
    max-height: 300px;
    position: relative;
    top: auto;
    left: auto;
    transform: none;
  }

  .article-card.large-full .card-content {
    border-radius: 24px;
    width: 100%;
    max-width: none;
    height: auto;
    margin-top: -24px;
    margin-left: 0;
  }
}

@media (width <= 800px) {
  .articles-grid {
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    flex-wrap: nowrap;
    gap: 16px;
    padding-bottom: 20px;
    display: flex;
    overflow: auto hidden;
  }

  .articles-grid::-webkit-scrollbar {
    display: none;
  }

  .articles-grid .article-card {
    scroll-snap-align: start;
    flex: 0 0 280px;
    min-width: 292px;
  }
}

@media (width <= 550px) {
  .fdd-header h2 {
    font-size: 32px;
  }
}

@media (width <= 768px) {
  .ticker-carousel-container {
    height: 380px;
  }

  .ticker-bar {
    box-sizing: border-box;
    border-radius: 40px;
    flex-direction: column;
    height: auto;
    padding: 24px;
  }

  .ticker-img-wrapper {
    border-radius: 40px;
    max-width: 100%;
    height: 100px;
    max-height: 100px;
    margin-bottom: 24px;
    margin-right: 0;
  }

  .ticker-text {
    flex: none;
    margin-bottom: 24px;
    font-size: 26px;
    line-height: 1.1;
  }

  .ticker-btn {
    justify-content: center;
    width: auto;
    padding: 12px 12px 12px 32px;
  }
}

.faq-accordion-section {
  text-align: center;
  background-color: #0000;
  max-width: 976px;
  margin: 0 auto;
  padding: 20px;
}

.faq-accordion-section h2 {
  color: #171717;
  letter-spacing: -4%;
  margin-bottom: 3rem;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 64px;
}

.faq-list {
  text-align: left;
  flex-direction: column;
  gap: 1.25rem;
  display: flex;
}

.faq-item {
  background: #fff;
  border-radius: 32px;
  padding: 1rem 1rem 1rem 2.5rem;
  transition: all .3s;
}

.faq-item.expanded {
  padding: 1.5rem 1rem 1.5rem 2.5rem;
}

.faq-item-header {
  cursor: pointer;
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.faq-item-header h3 {
  color: #171717;
  text-transform: uppercase;
  letter-spacing: -4%;
  margin: 0;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 24px;
}

.faq-toggle-btn {
  background-color: var(--coral);
  cursor: pointer;
  border: none;
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 64px;
  height: 64px;
  transition: background-color .3s;
  display: flex;
}

.faq-toggle-btn.open {
  background-color: #d1d1d1;
}

.faq-item-body-wrapper {
  grid-template-rows: 0fr;
  height: 0;
  transition: all .3s ease-out;
  display: grid;
}

.faq-item-body-wrapper.open {
  grid-template-rows: 1fr;
  height: auto;
}

.faq-item-body {
  color: #545454;
  letter-spacing: -2%;
  min-height: 0;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 20px;
  line-height: 1.2;
  overflow: hidden;
}

.faq-item-body-inner {
  padding-top: 1.5rem;
  padding-bottom: 1px;
  padding-right: 1.5rem;
}

.faq-item-body p {
  max-width: 764px;
  letter-spacing: -2%;
  margin: 0 0 1.5rem;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 20px;
}

.faq-item-body p:last-child {
  margin-bottom: 0;
}

.download-box {
  background-color: #f9f9f9;
  border-radius: 12px;
  align-items: center;
  margin: 1.5rem 0;
  padding: .5rem .5rem .5rem 1.5rem;
  display: flex;
}

.download-title {
  color: #171717;
  margin-right: .5rem;
  font-family: Swiss721BT-BoldCondensed, sans-serif;
  font-size: 1.1rem;
}

.download-meta {
  color: #555;
  font-size: 1rem;
}

.download-size {
  color: #555;
  margin-left: auto;
  margin-right: 1rem;
  font-size: .9rem;
}

.download-btn {
  cursor: pointer;
  background-color: #24ade9;
  border: none;
  border-radius: 12px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 72px;
  height: 48px;
  transition: background-color .3s;
  display: flex;
}

.download-btn:hover {
  background-color: #1a9bc3;
}

.insights-popup-overlay {
  z-index: 1000;
  background: #0009;
  justify-content: center;
  align-items: flex-start;
  width: 100vw;
  height: 100vh;
  padding: 20px;
  animation: .3s ease-out forwards popupFadeIn;
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
  overflow-y: auto;
}

.insights-popup-overlay.closing {
  animation: .3s ease-in forwards popupFadeOut;
}

@keyframes popupFadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes popupFadeOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

.insights-popup-content {
  background: #dcd8d3;
  border-radius: 20px;
  flex-direction: row;
  gap: 30px;
  width: 100%;
  max-width: 900px;
  margin: auto;
  padding: 30px;
  animation: .4s cubic-bezier(.175, .885, .32, 1.275) forwards popupSlideUp;
  display: flex;
  position: relative;
  overflow: visible;
}

.insights-popup-content.closing {
  animation: .3s cubic-bezier(.6, -.28, .735, .045) forwards popupSlideDown;
}

@keyframes popupSlideUp {
  from {
    opacity: 0;
    transform: translateY(20px) scale(.95);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes popupSlideDown {
  from {
    opacity: 1;
    transform: translateY(0) scale(1);
  }

  to {
    opacity: 0;
    transform: translateY(20px) scale(.95);
  }
}

.insights-popup-close {
  cursor: pointer;
  z-index: 10;
  background: #fff;
  border: none;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  display: flex;
  position: absolute;
  top: 15px;
  right: 15px;
  box-shadow: 0 4px 10px #0000001a;
}

.insights-popup-left {
  border-radius: 15px;
  flex: 0 0 45%;
  position: relative;
  overflow: hidden;
}

.insights-popup-bg {
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.insights-popup-title {
  background: linear-gradient(to right, #0006, #0000001a);
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 30px;
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
}

.insights-popup-title h2 {
  color: #fff;
  text-transform: uppercase;
  margin: 0;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.1;
}

.insights-popup-right {
  flex-direction: column;
  flex: 1;
  justify-content: center;
  width: 100%;
  max-width: 630px;
  padding: 20px 0;
  display: flex;
}

.insights-popup-text p {
  color: #171717;
  letter-spacing: -2%;
  margin-bottom: 20px;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 20px;
  line-height: 1.5;
}

.insights-popup-bold {
  font-weight: 700;
}

.insights-popup-form .form-row {
  gap: 20px;
  margin-bottom: 15px;
  display: flex;
}

.insights-popup-form .form-group {
  flex-direction: column;
  flex: 1;
  display: flex;
}

.insights-popup-form .form-group.full-width {
  flex: 100%;
}

.insights-popup-form label {
  color: #171717;
  text-transform: uppercase;
  letter-spacing: -2%;
  margin-bottom: 8px;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 16px;
  font-weight: 700;
}

.insights-popup-form input {
  background: #fff;
  border: none;
  border-radius: 8px;
  width: 100%;
  padding: 12px 15px;
  font-size: 14px;
}

.insights-popup-form input:focus {
  outline: 2px solid var(--coral);
}

.insights-popup-submit {
  background: var(--coral);
  color: #171717;
  cursor: pointer;
  border: none;
  border-radius: 30px;
  width: 100%;
  margin-top: 10px;
  padding: 14px;
  font-size: 16px;
  font-weight: 600;
  transition: background .3s;
}

.insights-popup-submit:hover {
  background: var(--coral);
}

.insights-popup-submit:disabled {
  opacity: .7;
  cursor: not-allowed;
}

.insights-popup-success {
  text-align: center;
  padding: 40px 0;
}

.insights-popup-success h3 {
  color: #171717;
  margin-bottom: 10px;
  font-size: 24px;
}

@media (width <= 768px) {
  .insights-popup-content {
    flex-direction: column;
    gap: 15px;
    padding: 20px;
  }

  .insights-popup-left {
    flex: none;
    height: 200px;
  }

  .insights-popup-title h2 {
    font-size: 24px;
  }

  .insights-popup-text p {
    margin-bottom: 15px;
    font-size: 16px;
  }

  .insights-popup-form label {
    font-size: 14px;
  }

  .insights-popup-form .form-row {
    flex-direction: column;
    gap: 10px;
    margin-bottom: 10px;
  }

  .insights-popup-submit {
    padding: 12px;
  }
}

.contact-page-wrapper {
  background-color: #f4f4f4;
  min-height: 100vh;
  font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
}

.contact-page-wrapper .action-btn-wrapper, .contact-page-wrapper .action-btn-wrapper .action-btn {
  width: 100%;
}

.contact-banner-container {
  max-width: 1440px;
  margin: 0 auto;
  padding: 2rem;
}

.contact-banner_page {
  text-align: center;
  background-color: #29a6e5;
  border-radius: 20px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 4rem 2rem;
  display: flex;
}

.contact-banner-title {
  text-transform: uppercase;
  color: #1c1c1c;
  letter-spacing: -.04em;
  margin: 0;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: max(80px, min(10vw, 150px));
  font-weight: 700;
  line-height: .9;
}

.contact-banner-subtitle {
  color: #1c1c1c;
  margin-top: 1.5rem;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 22px;
}

.contact-content-section {
  gap: 0;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 2rem;
  display: flex;
}

.contact-form-container {
  z-index: 2;
  background-color: #fff;
  border-radius: 20px;
  flex: 1;
  margin-right: -6rem;
  padding: 5rem;
  position: relative;
  box-shadow: 0 4px 20px #0000000d;
}

.contact-form {
  flex-direction: column;
  gap: 2rem;
  display: flex;
}

.form-row-custom {
  gap: 1.5rem;
  width: 100%;
  display: flex;
}

.form-group-custom {
  flex-direction: column;
  flex: 1;
  width: 100%;
  display: flex;
}

.form-group-custom label {
  color: #1c1c1c;
  text-transform: uppercase;
  margin-bottom: .5rem;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 16px;
  font-weight: 700;
}

.form-group-custom input, .form-group-custom textarea {
  color: #1c1c1c;
  background-color: #fafafa;
  border: 1px solid #e5e4e6;
  border-radius: 12px;
  padding: 1.2rem 1.5rem;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 16px;
}

.form-group-custom input::placeholder, .form-group-custom textarea::placeholder {
  color: #7a7a7a;
}

.form-group-custom textarea {
  resize: vertical;
  min-height: 120px;
}

.form-group-custom.has-error input {
  background-color: #fff5f5;
  border-color: #ff4a4a;
}

.error-text {
  color: #ff4a4a;
  margin-top: .5rem;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 14px;
}

.form-submit-container {
  justify-content: center;
  width: 100%;
  display: flex;
}

@media (width >= 1025px) {
  .form-submit-container {
    justify-content: flex-end;
  }
}

.contact-success-message {
  color: #fff;
  text-align: center;
  background: #171717;
  border-radius: 16px;
  align-items: center;
  gap: 16px;
  width: 100%;
  padding: 11px;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 16px;
  animation: .6s cubic-bezier(.34, 1.56, .64, 1) forwards slideInUp;
  display: flex;
}

.contact-error-message {
  color: #b00020;
  background: #fff5f5;
  border: 1px solid #ff4a4a;
  border-radius: 12px;
  width: 100%;
  padding: 12px 16px;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 16px;
}

.contact-success-message svg {
  flex-shrink: 0;
  width: 38px;
  height: 38px;
  animation: .6s cubic-bezier(.34, 1.56, .64, 1) forwards scaleIn;
}

@keyframes slideInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes scaleIn {
  from {
    opacity: 0;
    transform: scale(.3);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

.contact-image-container {
  z-index: 1;
  border-radius: 20px;
  flex: 1;
  position: relative;
  overflow: hidden;
}

.contact-image-wrapper {
  width: 100%;
  height: 100%;
  min-height: 600px;
  position: relative;
}

.contact-hike-img {
  object-fit: cover;
  border-radius: 20px;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.contact-image-overlay {
  backdrop-filter: blur(70px);
  color: #fff;
  text-transform: uppercase;
  max-width: 280px;
  letter-spacing: -2%;
  background-color: #17171766;
  border: 1px solid #ffffff4d;
  border-radius: 20px;
  padding: 1rem 1.5rem;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 20px;
  line-height: 1.2;
  position: absolute;
}

.contact-image-overlay.top-left {
  top: 2rem;
  left: 8rem;
}

.contact-image-overlay.bottom-right {
  bottom: 2rem;
  right: 2rem;
}

@media (width <= 1024px) {
  .contact-content-section {
    flex-direction: column;
    gap: 0;
    padding: 0;
  }

  .contact-form-container {
    z-index: 2;
    border-radius: 20px;
    margin: 0 1rem -2rem;
    padding: 2rem 1.5rem;
    position: relative;
    box-shadow: 0 4px 20px #0000000d;
  }

  .contact-image-wrapper {
    border-radius: 0;
    min-height: 600px;
  }

  .contact-hike-img {
    border-radius: 0;
  }

  .contact-image-overlay.top-left {
    width: 245px;
    max-width: calc(100% - 3rem);
    top: 4rem;
    left: 1.5rem;
  }

  .contact-image-overlay.bottom-right {
    width: 248px;
    max-width: calc(100% - 3rem);
    bottom: 2rem;
    right: 1.5rem;
  }

  .form-row-custom {
    flex-direction: column;
  }

  .contact-image-container {
    margin: auto 1rem;
  }
}

.redesign-footer {
  flex-direction: column;
  align-items: center;
  width: 100%;
  margin-top: 160px;
  display: flex;
}

.redesign-footer .footer-logo {
  text-align: center;
  width: 100%;
  padding: 0 24px;
}

.redesign-footer .footer-logo img {
  width: 100%;
  height: auto;
  display: block;
}

.redesign-footer .footer-content {
  color: #fff;
  text-align: center;
  z-index: 1;
  background-color: #181818;
  border-top-left-radius: 30px;
  border-top-right-radius: 30px;
  width: 100%;
  margin-top: -5px;
  padding: 80px 20px 40px;
  position: relative;
}

.footer-directory {
  text-align: left;
  justify-content: center;
  gap: 5rem;
  margin-bottom: 60px;
  display: flex;
}

.footer-directory-column {
  flex-direction: column;
  gap: 1.5rem;
  display: flex;
}

.footer-directory-title {
  color: #8c8c8c;
  text-transform: uppercase;
  letter-spacing: -.02em;
  vertical-align: bottom;
  margin: 0;
  font-family: Swiss721 BT, Swiss721BT, Swiss721BT Regular, sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 100%;
}

.footer-directory-list {
  flex-direction: column;
  gap: 1.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.footer-directory-list a {
  color: #fff;
  letter-spacing: -.02em;
  vertical-align: bottom;
  font-family: Swiss721 BT, Swiss721BT, Swiss721BT Regular, sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 100%;
  text-decoration: none;
  transition: color .3s;
}

.footer-directory-list a:hover {
  color: var(--coral);
  text-decoration: none;
}

.footer-social {
  margin-bottom: 60px;
}

.linkedin-btn {
  color: #fff;
  letter-spacing: -.02em;
  vertical-align: bottom;
  background-color: #4a4a4a;
  border-radius: 40px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  padding: 10px 10px 10px 20px;
  font-family: Swiss721 BT, Swiss721BT, Swiss721BT Regular, sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 100%;
  text-decoration: none;
  transition: background-color .3s;
  display: inline-flex;
}

.linkedin-btn:hover {
  color: #fff;
  background-color: #5a5a5a;
  text-decoration: none;
}

.linkedin-icon {
  width: 28px;
  height: 28px;
}

.footer-divider {
  background-color: #333;
  width: 100%;
  max-width: 1200px;
  height: 1px;
  margin: 0 auto 30px;
}

.redesign-footer .footer-copyright {
  margin-bottom: 15px;
  font-size: 11px;
  font-weight: 400;
  line-height: 16px;
}

.redesign-footer .footer-links {
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin: 0;
  padding: 0;
  font-size: 11px;
  font-weight: 700;
  line-height: 16px;
  list-style-type: none;
  display: flex;
}

.redesign-footer .footer-link {
  color: #fff;
  white-space: nowrap;
  align-items: center;
  text-decoration: none;
  transition: color .3s;
  display: inline-flex;
}

.redesign-footer .footer-link a {
  color: #fff;
  text-decoration: none;
  transition: color .3s;
}

.redesign-footer .footer-link a:hover, .redesign-footer .footer-link:hover {
  text-decoration: underline;
}

.redesign-footer .footer-link-separator:after {
  content: "›";
  color: #fff;
  margin: 0 8px;
}

.redesign-footer .privacy-choices-img {
  vertical-align: middle;
  width: 29px;
  height: 14px;
  margin-right: 4px;
}

@media (width <= 900px) {
  .footer-directory {
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 2rem;
    padding: 0 1rem;
  }

  .footer-directory-column {
    min-width: 40%;
  }
}

@media (width <= 768px) {
  .redesign-footer .footer-logo img {
    width: 100%;
  }

  .redesign-footer .footer-links {
    flex-direction: column;
    gap: 10px;
  }

  .redesign-footer .footer-link-separator:after {
    display: none;
  }

  .redesign-footer {
    margin-top: 80px;
  }

  .footer-directory {
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem 2rem;
    padding: 0 1.5rem;
    display: grid;
  }

  .footer-directory-column:first-child {
    grid-area: 1 / 1;
  }

  .footer-directory-column:nth-child(2) {
    grid-area: 1 / 2 / span 2;
  }

  .footer-directory-column:nth-child(3) {
    grid-area: 2 / 1;
  }
}

.app-layout {
  flex-direction: column;
  min-height: 100vh;
  display: flex;
}

.app-main-content {
  flex: 1;
  width: 100%;
}

.marriott-digital-hero {
  max-width: var(--content-max-width);
  gap: 12px;
  margin: 0 auto;
  padding: 20px 20px 0;
  font-family: Swiss721BT Regular, sans-serif;
  display: flex;
}

.md-hero-left, .md-hero-right {
  border-radius: 20px;
  height: 462px;
  position: relative;
  overflow: hidden;
}

.md-hero-left {
  width: 100%;
}

.md-hero-right {
  background-color: #29abe2;
  flex-direction: column;
  flex-shrink: 0;
  justify-content: space-between;
  width: 100%;
  max-width: 380px;
  padding: 30px;
  display: flex;
}

.md-hero-image {
  object-fit: cover;
  object-position: bottom;
  width: 100%;
  height: 100%;
  display: block;
}

.md-hero-left-overlay {
  align-items: flex-start;
  padding: 26px 24px;
  display: flex;
  position: absolute;
  inset: 0;
}

.md-hero-pill {
  color: #fff;
  letter-spacing: -.04em;
  text-transform: uppercase;
  backdrop-filter: blur(25px);
  background: radial-gradient(70.68% 84.88% at 79.83% 64.38%, #0000006b 13.21%, #00000012 100%);
  border: 1px solid #fff9;
  border-radius: 24px;
  margin: 0;
  padding: 22px 26px;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 80px;
  font-weight: 700;
  line-height: .92;
}

.md-hero-right-title {
  color: #fff;
  letter-spacing: -.04em;
  text-transform: uppercase;
  margin: 0;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 80px;
  font-weight: 700;
  line-height: .92;
}

.md-hero-right-statement {
  color: #1a1a1a;
  letter-spacing: -.04em;
  text-transform: uppercase;
  align-items: flex-start;
  gap: 14px;
  margin: 0;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 40px;
  font-weight: 700;
  line-height: .92;
  display: flex;
}

.md-hero-bullet {
  background-color: #fff;
  border-radius: 50%;
  flex-shrink: 0;
  width: 9px;
  height: 9px;
  margin-top: 7px;
}

@media (width <= 1200px) {
  .md-hero-pill {
    font-size: 34px;
  }

  .md-hero-right-title {
    font-size: 48px;
  }

  .md-hero-right-statement {
    font-size: 24px;
  }
}

@media (width <= 768px) {
  .marriott-digital-hero {
    flex-direction: column;
    gap: 16px;
    padding: 16px 16px 40px;
  }

  .md-hero-left, .md-hero-right {
    max-width: 100%;
    height: auto;
  }

  .md-hero-left {
    height: 378px;
  }

  .md-hero-left-overlay {
    padding: 16px;
  }

  .md-hero-pill {
    border-radius: 18px;
    padding: 16px 18px;
    font-size: 28px;
  }

  .md-hero-right {
    gap: 28px;
    padding: 24px;
  }

  .md-hero-right-statement {
    max-width: 100%;
  }

  .md-hero-bullet {
    margin-top: 5px;
  }
}

.op-experience-section {
  margin-top: 70px;
  padding: 4px 8px 108px;
}

.op-experience-shell {
  max-width: 1520px;
  margin: 0 auto;
}

.op-experience-intro .redesign-intro {
  max-width: 980px;
  padding: 8px 20px 70px;
}

.op-experience-intro .op-experience-pill {
  color: #171717;
  background: #e7f8ff;
  border-radius: 999px;
  gap: 14px;
  margin-left: 12px;
  padding: 10px 22px 10px 14px;
  font-size: max(18px, min(2vw, 30px));
  line-height: 1;
}

.op-experience-pill__icon {
  color: #fff;
  background: #2da8df;
  border-radius: 50%;
  flex: none;
  justify-content: center;
  align-items: center;
  width: 46px;
  height: 46px;
  display: inline-flex;
  box-shadow: inset 0 0 0 1px #ffffff38;
}

.op-experience-pill__icon svg {
  width: 18px;
  height: 18px;
}

.op-experience-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  display: grid;
}

.op-card {
  border-radius: 26px;
  min-height: 496px;
  position: relative;
  overflow: hidden;
}

.op-card__image {
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
}

.op-card__overlay {
  color: #fff;
  backdrop-filter: blur(70px);
  border-radius: 24px;
  padding: 22px 28px 18px;
  position: absolute;
  bottom: 28px;
  left: 28px;
  right: 112px;
}

.op-card__overlay--warm {
  background: linear-gradient(#ad8c71b8, #b4a08f8f);
}

.op-card__overlay--charcoal {
  background: linear-gradient(#493f3dcc, #5c565494);
}

.op-card__overlay--mist {
  background: linear-gradient(#aaaaaab8, #c2c2c270);
}

.op-card__title {
  letter-spacing: -.03em;
  text-transform: uppercase;
  margin: 0;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: max(30px, min(3vw, 38px));
  line-height: .92;
}

.op-card__description {
  letter-spacing: -.03em;
  max-width: 290px;
  margin: 14px 0 0;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: max(16px, min(1.4vw, 22px));
  line-height: 1.14;
}

.op-card__arrow {
  color: #171717;
  background: #f8f7f3;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 72px;
  height: 72px;
  transition: background-color .18s, transform .18s;
  display: inline-flex;
  position: absolute;
  bottom: 28px;
  right: 28px;
}

.op-card__arrow svg {
  width: 28px;
  height: 28px;
}

.op-card__arrow:hover, .op-card__arrow:focus-visible {
  background: var(--coral);
  transform: translateY(-1px);
}

@media (width <= 1200px) {
  .op-card {
    min-height: 430px;
  }

  .op-card__overlay {
    padding: 18px 22px 16px;
    bottom: 20px;
    left: 20px;
    right: 98px;
  }

  .op-card__arrow {
    width: 64px;
    height: 64px;
    bottom: 20px;
    right: 20px;
  }
}

@media (width <= 992px) {
  .op-experience-section {
    padding: 0 16px 88px;
  }

  .op-experience-intro .redesign-intro {
    padding: 0 12px 48px;
  }

  .op-experience-grid {
    grid-template-columns: 1fr;
  }
}

@media (width <= 768px) {
  .op-experience-intro .redesign-intro h2 {
    font-size: 28px;
    line-height: 1.16;
  }

  .op-experience-intro .op-experience-pill {
    margin-top: 12px;
    margin-left: 0;
    padding: 8px 16px 8px 12px;
    font-size: 18px;
    display: inline-flex;
  }

  .op-experience-pill__icon {
    width: 34px;
    height: 34px;
  }

  .op-experience-pill__icon svg {
    width: 12px;
    height: 12px;
  }

  .op-card {
    min-height: 380px;
  }

  .op-card__overlay {
    right: 84px;
  }

  .op-card__description {
    max-width: none;
  }

  .op-card__arrow {
    width: 58px;
    height: 58px;
  }
}

@media (width <= 576px) {
  .op-experience-section {
    padding: 0 10px 64px;
  }

  .op-experience-intro .redesign-intro {
    padding: 0 4px 36px;
  }

  .op-card {
    border-radius: 20px;
    min-height: 330px;
  }

  .op-card__overlay {
    border-radius: 18px;
    padding: 14px 16px;
    bottom: 14px;
    left: 14px;
    right: 76px;
  }

  .op-card__title {
    font-size: 26px;
  }

  .op-card__description {
    margin-top: 10px;
    font-size: 15px;
  }

  .op-card__arrow {
    width: 52px;
    height: 52px;
    bottom: 14px;
    right: 14px;
  }

  .op-card__arrow svg {
    width: 22px;
    height: 22px;
  }
}

.curved-cutout-media {
  background: #111;
  width: 100%;
  min-height: max(320px, min(46vw, 920px));
  display: block;
  position: relative;
  overflow: hidden;
}

.curved-cutout-media__mask {
  pointer-events: none;
  flex-direction: column;
  justify-content: flex-end;
  display: flex;
  position: absolute;
  inset: 0;
}

.curved-cutout-media__mask-top {
  flex: 1;
}

.curved-cutout-media__mask-svg {
  flex-shrink: 0;
  width: 100%;
  height: auto;
  display: block;
  transform: translateY(2px);
}

.curved-cutout-media__mask-svg path {
  fill: #f9f6f4;
}

.curved-cutout-media__image {
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
  object-position: center center;
  display: block;
}

@media (width <= 992px) {
  .curved-cutout-media__mask-svg {
    align-self: center;
    width: 1440px;
  }
}

@media (width <= 768px) {
  .curved-cutout-media {
    min-height: 240px;
  }
}

.op-guestroom-section {
  background: none;
  padding: 0 0 40px;
  position: relative;
  overflow-x: clip;
}

.op-guestroom-shell {
  width: 100%;
  position: relative;
}

.op-guestroom-media {
  width: 100vw;
  box-shadow: none;
  margin-left: calc(50% - 50vw);
}

.op-guestroom-section .op-guestroom-media {
  min-height: 0;
}

.op-guestroom-overlay {
  pointer-events: none;
  position: absolute;
  inset: 0;
}

.op-guestroom-large-title {
  letter-spacing: -.04em;
  text-transform: uppercase;
  color: #fff;
  white-space: nowrap;
  z-index: 1;
  margin: 0;
  font-family: Swiss721BT Bold Condensed, Swiss721 BT, sans-serif;
  font-size: max(80px, min(14vw, 200px));
  font-weight: 700;
  line-height: 1;
  position: absolute;
  top: 9.3%;
  left: 50%;
  transform: translateX(-50%);
}

.op-guestroom-tv-wrapper {
  z-index: 2;
  aspect-ratio: 218 / 122;
  background: #050505;
  align-items: end;
  width: 37.85%;
  display: flex;
  position: absolute;
  top: 24.5%;
  left: 50.6%;
  transform: translateX(-50%);
}

.op-guestroom-tv-image {
  object-fit: contain;
  object-position: top center;
  width: 100%;
  height: calc(100% - 20px);
}

.op-guestroom-card {
  color: #fff;
  backdrop-filter: blur(40px);
  pointer-events: auto;
  z-index: 3;
  background: linear-gradient(135deg, #50505066 0%, #141414cc 100%);
  border: 1px solid #ffffff4d;
  border-radius: 28px;
  max-width: min(580px, 100vw - 40px);
  padding: max(28px, min(3.5vw, 54px)) max(28px, min(4vw, 64px));
  position: absolute;
  bottom: max(60px, min(12vw, 200px));
  left: max(20px, min(8vw, 180px));
  box-shadow: 0 28px 80px #00000080;
}

.op-guestroom-card-title {
  letter-spacing: -.04em;
  text-transform: uppercase;
  margin: 0;
  font-family: Swiss721BT Bold Condensed, Swiss721 BT, sans-serif;
  font-size: max(32px, min(4vw, 42px));
  font-weight: 700;
  line-height: 1.1;
}

.op-guestroom-copy {
  letter-spacing: -.02em;
  margin: max(16px, min(1.5vw, 24px)) 0 0;
  font-family: Swiss721BT Regular, Swiss721 BT, sans-serif;
  font-size: max(16px, min(1.8vw, 22px));
  line-height: 1.35;
}

.op-guestroom-arrow {
  color: #fff;
  pointer-events: auto;
  z-index: 3;
  justify-content: center;
  align-items: center;
  width: max(56px, min(9vw, 84px));
  height: max(56px, min(9vw, 84px));
  display: flex;
  position: absolute;
  bottom: max(16px, min(2.5vw, 24px));
  left: 50%;
  transform: translateX(-50%);
}

.op-guestroom-arrow svg {
  width: max(44px, min(11vw, 56px));
  height: max(44px, min(11vw, 56px));
}

@media (width <= 992px) {
  .op-guestroom-section {
    padding-bottom: 96px;
  }
}

@media (width <= 768px) {
  .op-guestroom-section .op-guestroom-media {
    aspect-ratio: 4 / 5;
  }

  .op-guestroom-media .curved-cutout-media__image {
    object-fit: cover;
    object-position: center center;
    height: 100%;
  }

  .op-guestroom-large-title {
    top: 12%;
  }

  .op-guestroom-tv-wrapper {
    width: 64%;
    top: 24.5%;
  }

  .op-guestroom-card {
    max-width: none;
    bottom: 15%;
    left: 16px;
    right: 16px;
  }
}

@media (width <= 576px) {
  .op-guestroom-section {
    padding: 0 0 55px;
  }

  .op-guestroom-section .op-guestroom-media {
    aspect-ratio: 430 / 834;
  }

  .op-guestroom-large-title {
    letter-spacing: -.05em;
    text-align: center;
    font-size: min(60px, 16.3934vw - 9.83607px);
    line-height: 1;
    top: 12%;
  }

  .op-guestroom-tv-wrapper {
    aspect-ratio: 223 / 135;
    width: 88%;
    top: 21.5%;
  }

  .op-guestroom-tv-image {
    height: calc(100% - 6px);
  }

  .op-guestroom-card-title {
    letter-spacing: -.04em;
    font-size: 24px;
    line-height: 1;
  }

  .op-guestroom-copy {
    letter-spacing: -.02em;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
  }
}

.op-arriveportal-section {
  background: none;
  margin-bottom: -1px;
  padding: 0;
  position: relative;
  overflow-x: clip;
}

.op-arriveportal-shell {
  aspect-ratio: 1441 / 658;
  width: 100%;
  position: relative;
}

.op-arriveportal-media {
  width: 100vw;
  box-shadow: none;
  height: 100%;
  margin-left: calc(50% - 50vw);
}

.op-arriveportal-overlay {
  pointer-events: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  display: flex;
  position: absolute;
  inset: 0;
}

.op-arriveportal-title-layer {
  z-index: 1;
  position: absolute;
  inset: 0;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='1441' height='658' viewBox='0 0 1441 658' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 0H1441V658H0V0ZM881 157.5L856 429.5L856 921H1302V538.5L1359.5 250.5C1359.34 240.972 1356.82 236.814 1347 232L894 149C886.421 149.242 883.771 151.345 881 157.5Z' fill='white'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg width='1441' height='658' viewBox='0 0 1441 658' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 0H1441V658H0V0ZM881 157.5L856 429.5L856 921H1302V538.5L1359.5 250.5C1359.34 240.972 1356.82 236.814 1347 232L894 149C886.421 149.242 883.771 151.345 881 157.5Z' fill='white'/%3E%3C/svg%3E");
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 100vw 100%;
  mask-size: 100vw 100%;
}

.op-arriveportal-large-title {
  letter-spacing: -.04em;
  text-transform: uppercase;
  color: #fff;
  white-space: nowrap;
  margin: 0;
  font-family: Swiss721BT Bold Condensed, Swiss721 BT, sans-serif;
  font-size: max(80px, min(14vw, 200px));
  font-weight: 700;
  line-height: 1;
  position: absolute;
  top: 8%;
  left: 50%;
  transform: translateX(-50%);
}

.op-arriveportal-card {
  color: #fff;
  backdrop-filter: blur(40px);
  pointer-events: auto;
  z-index: 3;
  background: linear-gradient(135deg, #50505066 0%, #141414cc 100%);
  border: 1px solid #fff3;
  border-radius: 20px;
  max-width: min(500px, 100vw - 40px);
  padding: 28px 32px;
  position: absolute;
  bottom: 130px;
  left: max(20px, min(8vw, 120px));
  box-shadow: 0 28px 80px #00000080;
}

.op-arriveportal-card-title {
  letter-spacing: -.04em;
  text-transform: uppercase;
  margin: 0;
  font-family: Swiss721BT Bold Condensed, Swiss721 BT, sans-serif;
  font-size: max(32px, min(4vw, 42px));
  font-weight: 700;
  line-height: 1.1;
}

.op-arriveportal-copy {
  letter-spacing: -.02em;
  margin: max(16px, min(1.5vw, 24px)) 0 0;
  font-family: Swiss721BT Regular, Swiss721 BT, sans-serif;
  font-size: max(16px, min(1.8vw, 22px));
  line-height: 1.35;
}

.op-arriveportal-arrow {
  color: #fff;
  pointer-events: auto;
  z-index: 3;
  justify-content: center;
  align-items: center;
  width: max(56px, min(9vw, 84px));
  height: max(56px, min(9vw, 84px));
  display: flex;
  position: absolute;
  bottom: max(16px, min(2.5vw, 24px));
  left: 50%;
  transform: translateX(-50%);
}

.op-arriveportal-arrow svg {
  width: max(44px, min(11vw, 56px));
  height: max(44px, min(11vw, 56px));
}

@media (width <= 992px) {
  .op-arriveportal-shell {
    aspect-ratio: 4 / 5;
  }

  .op-arriveportal-media {
    min-height: 0;
  }

  .op-arriveportal-media .curved-cutout-media__image {
    object-fit: cover;
    object-position: 66% center;
  }

  .op-arriveportal-title-layer {
    -webkit-mask-position: 66% 38%;
    mask-position: 66% 38%;
    -webkit-mask-size: 274% 112%;
    mask-size: 274% 112%;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
  }

  .op-arriveportal-large-title {
    letter-spacing: -.05em;
    text-align: center;
    font-size: 14vw;
    line-height: 1;
    top: 18%;
  }

  .op-arriveportal-card {
    max-width: none;
    bottom: 15%;
    left: 16px;
    right: 16px;
  }
}

@media (width <= 576px) {
  .op-arriveportal-shell {
    aspect-ratio: 2 / 3;
  }

  .op-arriveportal-title-layer {
    -webkit-mask-position: 72% 41%;
    mask-position: 72% 41%;
    -webkit-mask-size: 328% 112%;
    mask-size: 328% 112%;
  }

  .op-arriveportal-media .curved-cutout-media__image {
    object-position: 72% center;
  }
}

.op-bigger-moments-section {
  color: #1a1a1a;
  background-color: #f9f6f4;
  max-width: 1416px;
  margin: 0 auto;
  padding: 40px 20px 80px;
}

.op-bm-header {
  text-align: center;
  margin-bottom: 20px;
}

.op-bm-title {
  letter-spacing: -.04em;
  text-transform: uppercase;
  margin: 0 0 24px;
  font-family: Swiss721BT Bold Condensed, Swiss721 BT, sans-serif;
  font-size: max(48px, min(6vw, 68px));
  line-height: .92;
}

.op-bm-subtitle {
  color: #333;
  max-width: 876px;
  letter-spacing: -2%;
  margin: 0 auto 40px;
  font-family: Swiss721BT Regular, Swiss721 BT, sans-serif;
  font-size: 24px;
  line-height: 1.4;
}

.op-bm-arrow-wrapper {
  justify-content: center;
  display: flex;
}

.op-bm-arrow-circle {
  color: #1a1a1a;
  border: 1px solid #0000001a;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 56px;
  height: 56px;
  display: flex;
}

.op-bm-arrow-circle svg {
  width: 24px;
  height: 24px;
}

.op-bm-content {
  grid-template-columns: 1fr 2fr;
  gap: 24px;
  display: grid;
}

.op-bm-left-card {
  border-radius: 20px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.op-bm-left-image {
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

.op-bm-left-overlay {
  z-index: 1;
  background: linear-gradient(#0000 50%, #0009 100%);
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
  height: 100%;
  min-height: 500px;
  padding: 40px;
  display: flex;
  position: relative;
}

.op-bm-left-title {
  color: #fff;
  letter-spacing: -.04em;
  text-transform: uppercase;
  margin: auto 0 32px;
  font-family: Swiss721BT Bold Condensed, Swiss721 BT, sans-serif;
  font-size: max(48px, min(5vw, 64px));
  line-height: .92;
}

.op-bm-left-actions {
  align-items: center;
  gap: 12px;
  display: flex;
}

.op-bm-btn-contact {
  background-color: var(--coral);
  color: #1a1a1a;
  cursor: pointer;
  cursor: pointer;
  border: none;
  border-radius: 50px;
  padding: 16px 32px;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 20px;
}

.op-bm-btn-icon {
  background-color: var(--coral);
  cursor: pointer;
  border: none;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
  display: flex;
}

.op-bm-btn-icon svg {
  color: #1a1a1a;
  width: 24px;
  height: 24px;
}

.op-bm-right-column {
  flex-direction: column;
  gap: 20px;
  display: flex;
}

.op-bm-card {
  border-radius: 20px;
  flex-direction: column;
  flex: 1;
  justify-content: space-between;
  padding: 49px 49px 0;
  display: flex;
  position: relative;
}

.op-bm-card-main {
  align-items: center;
  gap: 30px;
  display: flex;
}

.op-bm-card-number {
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 100px;
  height: 100px;
  font-family: Swiss721BT Bold Condensed, Swiss721 BT, sans-serif;
  font-size: 24px;
  display: flex;
}

.op-bm-card-text {
  flex-direction: row;
  justify-content: space-between;
  gap: 22px;
  width: 100%;
  display: flex;
}

.op-bm-card-title {
  letter-spacing: -.04em;
  text-transform: uppercase;
  flex: 1;
  margin: 0;
  font-family: Swiss721BT Bold Condensed, Swiss721 BT, sans-serif;
  font-size: max(25px, min(3vw, 32px));
  line-height: 1.2;
}

.op-bm-card-desc {
  letter-spacing: -.02em;
  flex: 1;
  margin: 0;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: max(16px, min(1.8vw, 20px));
  line-height: 1.2;
}

.op-bm-card-badge {
  letter-spacing: -.04em;
  white-space: nowrap;
  text-transform: uppercase;
  text-align: center;
  border-radius: 16px 16px 0 0;
  align-self: flex-end;
  width: 100%;
  max-width: 265px;
  margin-top: 10px;
  padding: 10px;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 16px;
  display: inline-block;
}

.op-bm-card--orange {
  background-color: var(--coral);
  color: #1a1a1a;
}

.op-bm-card--orange .op-bm-card-number {
  color: #fff;
  background-color: #1a1a1a;
}

.op-bm-card--orange .op-bm-card-badge {
  color: #1a1a1a;
  background-color: #fff;
}

.op-bm-card--blue {
  color: #fff;
  background-color: #29abe2;
}

.op-bm-card--blue .op-bm-card-number {
  color: #1a1a1a;
  background-color: #fff;
}

.op-bm-card--blue .op-bm-card-badge {
  color: #1a1a1a;
  background-color: #fff9;
}

.op-bm-card--black {
  color: #fff;
  background-color: #1a1a1a;
}

.op-bm-card--black .op-bm-card-number {
  color: #fff;
  background-color: #29abe2;
}

.op-bm-card--black .op-bm-card-badge {
  color: #fff;
  background-color: #fff3;
}

@media (width <= 992px) {
  .op-bm-content {
    grid-template-columns: 1fr;
  }

  .op-bm-left-card {
    min-height: 400px;
  }

  .op-bm-card-text {
    flex-direction: column;
    gap: 16px;
  }

  .op-bm-subtitle {
    font-size: 14px;
  }

  .op-bm-title {
    font-size: 40px;
  }

  .op-bm-card-main {
    flex-direction: column;
    align-items: flex-start;
  }
}

.solutions-navigation {
  max-width: var(--content-max-width);
  margin: 40px auto;
  padding: 60px 20px;
}

.solutions-nav-container {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.solutions-nav-prev, .solutions-nav-next {
  cursor: pointer;
  text-transform: uppercase;
  background: none;
  border: none;
  align-items: center;
  gap: 24px;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  display: flex;
}

.solutions-nav-title {
  color: #1a1a1a;
  letter-spacing: -.02em;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 56px;
  font-weight: 700;
}

.solutions-nav-icon-black, .solutions-nav-icon-orange {
  color: #fff;
  background-color: #1a1a1a;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 64px;
  height: 64px;
  transition: transform .3s, background-color .3s, color .3s;
  display: flex;
}

.solutions-nav-prev:hover .solutions-nav-icon-black {
  background-color: var(--coral);
  color: #1a1a1a;
  transform: translateX(-4px);
}

.solutions-nav-next:hover .solutions-nav-icon-orange {
  background-color: var(--coral);
  color: #1a1a1a;
  transform: translateX(4px);
}

.solutions-nav-placeholder {
  visibility: hidden;
}

@media (width <= 1024px) {
  .solutions-nav-title {
    font-size: 40px;
  }

  .solutions-nav-prev, .solutions-nav-next {
    gap: 16px;
  }

  .solutions-nav-icon-black, .solutions-nav-icon-orange {
    width: 48px;
    height: 48px;
  }

  .solutions-nav-container {
    padding: 0 24px;
  }
}

@media (width <= 768px) {
  .solutions-nav-title {
    letter-spacing: -.04em;
    font-size: 32px;
    font-weight: 700;
    line-height: 100%;
  }

  .solutions-nav-container {
    flex-wrap: wrap;
    gap: 24px;
    padding: 0 16px;
  }

  .solutions-nav-prev, .solutions-nav-next {
    gap: 16px;
    width: 100%;
  }

  .solutions-nav-next {
    justify-content: space-between;
  }

  .solutions-nav-icon-black, .solutions-nav-icon-orange {
    width: 64px;
    height: 64px;
  }

  .solutions-nav-icon-black svg, .solutions-nav-icon-orange svg {
    width: 31px;
  }
}

.md-cards-section {
  justify-content: center;
  padding: 60px 40px;
  display: flex;
}

.md-cards-container {
  grid-template-columns: 2fr 1fr 1fr;
  gap: 20px;
  width: 100%;
  max-width: 1200px;
  display: grid;
}

.md-card {
  border-radius: 20px;
  flex-direction: column;
  justify-content: space-between;
  min-height: 350px;
  padding: 40px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.md-card__content {
  z-index: 2;
  flex-direction: column;
  justify-content: space-between;
  width: 50%;
  height: 100%;
  display: flex;
  position: relative;
}

.md-card__title {
  text-transform: uppercase;
  letter-spacing: -1px;
  margin: 0;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 48px;
  font-weight: 800;
  line-height: 1;
}

.md-card__text {
  margin: 40px 0 0;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.4;
}

.md-card--web {
  color: #fff;
  background-color: #1a1a1a;
  flex-direction: row;
}

.md-card__image-container {
  z-index: 1;
  justify-content: flex-end;
  align-items: center;
  width: 55%;
  display: flex;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
}

.md-card__image {
  object-fit: contain;
  object-position: right center;
  max-width: 150%;
  max-height: 110%;
  transform: translateX(10%);
}

.md-card--app {
  color: #1a1a1a;
  background-color: #21a0df;
}

.md-card--email {
  background-color: var(--coral);
  color: #1a1a1a;
}

@media (width <= 992px) {
  .md-cards-container {
    grid-template-columns: 1fr;
  }

  .md-card {
    min-height: auto;
    padding: 30px;
  }

  .md-card__content {
    width: 100%;
  }

  .md-card__image-container {
    justify-content: center;
    align-items: center;
    width: 100%;
    margin-top: 30px;
    position: relative;
  }

  .md-card__image {
    max-width: 100%;
    transform: none;
  }

  .md-card--web {
    flex-direction: column;
  }
}

@media (width <= 576px) {
  .md-cards-section {
    padding: 40px 20px;
  }
}

.marriott-online {
  flex-direction: column;
  width: 100%;
  display: flex;
}

.marriott-online__content-wrapper {
  width: 100%;
}

.marriott-online__content {
  grid-template-columns: 350px 1fr 350px;
  gap: 40px;
  width: 100%;
  max-width: 1400px;
  margin: 0 auto 100px;
  padding: 220px 40px 120px;
  display: grid;
}

.marriott-online__tabs-container {
  flex-direction: column;
  justify-content: flex-end;
  padding-bottom: 40px;
  display: flex;
}

.marriott-online__tabs {
  flex-direction: column;
  gap: 15px;
  display: flex;
}

.marriott-online__tab-wrapper {
  align-items: center;
  gap: 15px;
  display: flex;
}

.marriott-online__tab {
  color: #555;
  cursor: pointer;
  text-transform: uppercase;
  text-align: left;
  background: #ebebeb;
  border: none;
  border-radius: 40px;
  flex: 1;
  padding: 18px 30px;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 24px;
  font-weight: 800;
  line-height: 1;
  transition: all .2s;
}

.marriott-online__tab.active {
  color: #fff;
  background: #1a1a1a;
}

.marriott-online__tab-arrow {
  color: #fff;
  background: #1a1a1a;
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 56px;
  height: 56px;
  display: flex;
}

.marriott-online__tab-arrow svg {
  width: 24px;
  height: 24px;
}

.marriott-online__image-container {
  z-index: -1;
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
}

.marriott-online__image-transition {
  opacity: 0;
  pointer-events: none;
  width: 1258px;
  max-width: none;
  height: auto;
  transition: opacity .5s ease-in-out;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

@media (width <= 1200px) {
  .marriott-online__image-transition {
    object-fit: contain;
    width: 100%;
    max-width: 100%;
    max-height: 400px;
  }
}

.marriott-online__image-transition.active {
  opacity: 1;
  pointer-events: auto;
}

@media (width <= 1200px) {
  .marriott-online__image-transition.active {
    position: relative;
    top: auto;
    left: auto;
    transform: scale(1.6);
  }
}

.marriott-online__details {
  flex-direction: column;
  justify-content: center;
  display: flex;
}

.marriott-online__details-title {
  text-transform: uppercase;
  letter-spacing: -.04em;
  margin: 0 0 20px;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 100%;
}

.marriott-online__details-text {
  letter-spacing: -.02em;
  color: #333;
  margin: 0 0 30px;
  font-family: Swiss721BT Medium, sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 100%;
}

.marriott-online__stats-card {
  color: #fff;
  background: #1a1a1a;
  border-radius: 20px;
  padding: 40px 30px;
}

.marriott-online__stats-card h4 {
  text-transform: uppercase;
  margin: 0 0 15px;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 32px;
}

.marriott-online__stats-card p {
  color: #ccc;
  margin: 0;
  font-size: 18px;
  line-height: 1.4;
}

@media (width <= 1200px) {
  .marriott-online__content {
    grid-template-columns: 1fr;
    gap: 60px;
    padding: 120px 24px 24px;
  }

  .marriott-online__tabs-container {
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    width: 100%;
    padding-bottom: 0;
    overflow: auto hidden;
  }

  .marriott-online__tabs-container::-webkit-scrollbar {
    display: none;
  }

  .marriott-online__tabs {
    white-space: nowrap;
    flex-flow: row;
    gap: 10px;
  }

  .marriott-online__tab-wrapper {
    flex-shrink: 0;
  }

  .marriott-online__tab {
    white-space: nowrap;
    flex: none;
  }

  .marriott-online__tab-arrow {
    display: none;
  }

  .marriott-online__stats-card p {
    font-size: 14px;
  }
}

.curved-header {
  z-index: 1;
  flex-direction: column;
  align-items: center;
  padding: 58px 20px 55px;
  display: flex;
  position: relative;
}

@media (width <= 768px) {
  .curved-header {
    padding: 12px;
  }
}

.curved-header__title {
  text-transform: uppercase;
  letter-spacing: -4px;
  text-align: center;
  margin: 0 0 25px;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 120px;
  line-height: .9;
}

.curved-header__pills-container {
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 15px;
  display: flex;
}

.curved-header__pill {
  letter-spacing: -.02em;
  border-radius: 40px;
  align-items: center;
  gap: 15px;
  padding: 10px 20px;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 20px;
  display: flex;
}

.curved-header__pill:nth-child(2) {
  letter-spacing: -.02em;
  padding: 10px 12px;
  font-size: 16px;
}

.curved-header__pill strong {
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-weight: 800;
}

.curved-header__pill-icon {
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 28px;
  height: 28px;
  display: flex;
}

.curved-header__pill-icon svg {
  width: 16px;
  height: 16px;
}

.curved-header__bottom-mask {
  z-index: -1;
  width: 100%;
  height: calc(100% + 50px);
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
}

.curved-header__bottom-mask svg {
  width: 100%;
  height: 100%;
  display: block;
}

.curved-header__arrow-down-container {
  z-index: 10;
  justify-content: center;
  align-items: flex-end;
  display: flex;
  position: absolute;
  bottom: -40px;
  left: 50%;
  transform: translateX(-50%);
}

.curved-header__arrow-down svg {
  width: 48px;
  height: 48px;
}

@media (width <= 1200px) {
  .curved-header__title {
    font-size: 100px;
  }
}

@media (width <= 768px) {
  .curved-header__title {
    font-size: 60px;
  }

  .curved-header__pill {
    text-align: center;
    flex-direction: row;
    gap: 10px;
    padding: 12px;
    font-size: 16px;
  }

  .curved-header__pill:nth-child(2) {
    margin-bottom: 32px;
  }

  .curved-header__bottom-mask svg {
    min-width: 1440px;
    margin-left: 50%;
    transform: translateX(-50%);
  }
}

.marriott-bonvoy-app {
  flex-direction: column;
  width: 100%;
  display: flex;
}

.marriott-bonvoy-app__content-wrapper {
  background-color: #fff;
  width: 100%;
}

.marriott-bonvoy-app__content {
  grid-template-columns: 350px 1fr 350px;
  gap: 40px;
  width: 100%;
  max-width: 1400px;
  margin: 0 auto 120px;
  padding: 220px 40px 140px;
  display: grid;
}

.marriott-bonvoy-app__tabs-container {
  flex-direction: column;
  justify-content: center;
  padding-bottom: 40px;
  display: flex;
}

.marriott-bonvoy-app__tabs {
  flex-direction: column;
  gap: 15px;
  display: flex;
}

.marriott-bonvoy-app__tab-wrapper {
  align-items: center;
  gap: 15px;
  display: flex;
}

.marriott-bonvoy-app__tab {
  color: #555;
  cursor: pointer;
  text-transform: uppercase;
  text-align: left;
  background: #ebebeb;
  border: none;
  border-radius: 40px;
  flex: 1;
  padding: 18px 30px;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 24px;
  font-weight: 800;
  line-height: 1;
  transition: all .2s;
}

.marriott-bonvoy-app__tab.active {
  background: var(--coral);
  color: #1a1a1a;
}

.marriott-bonvoy-app__tab-arrow {
  background: var(--coral);
  color: #1a1a1a;
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 56px;
  height: 56px;
  display: flex;
}

.marriott-bonvoy-app__tab-arrow svg {
  width: 24px;
  height: 24px;
}

.marriott-bonvoy-app__image-container {
  justify-content: center;
  align-items: center;
  display: flex;
}

.marriott-bonvoy-app__image-container img {
  object-fit: none;
  max-width: 100%;
  height: 100%;
  display: block;
  overflow: visible;
}

@media (width <= 1200px) {
  .marriott-bonvoy-app__image-container img {
    object-fit: contain;
    max-height: 400px;
  }
}

.marriott-bonvoy-app__details {
  flex-direction: column;
  justify-content: center;
  display: flex;
}

.marriott-bonvoy-app__details-title {
  text-transform: uppercase;
  letter-spacing: -.04em;
  margin: 0 0 20px;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 100%;
}

.marriott-bonvoy-app__details-text {
  letter-spacing: -.02em;
  color: #333;
  margin: 0 0 30px;
  font-family: Swiss721BT Medium, sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 100%;
}

.marriott-bonvoy-app__stats-card {
  background: var(--coral);
  color: #1a1a1a;
  border-radius: 20px;
  padding: 40px 30px;
}

.marriott-bonvoy-app__stats-card h4 {
  text-transform: uppercase;
  margin: 0 0 15px;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 32px;
}

.marriott-bonvoy-app__stats-card p {
  margin: 0;
  font-size: 18px;
  line-height: 1.4;
}

@media (width <= 1200px) {
  .marriott-bonvoy-app__content {
    grid-template-columns: 1fr;
    gap: 60px;
    padding: 120px 24px 24px;
  }

  .marriott-bonvoy-app__tabs-container {
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    width: 100%;
    padding-bottom: 0;
    overflow: auto hidden;
  }

  .marriott-bonvoy-app__tabs-container::-webkit-scrollbar {
    display: none;
  }

  .marriott-bonvoy-app__tabs {
    white-space: nowrap;
    flex-flow: row;
    gap: 10px;
  }

  .marriott-bonvoy-app__tab-wrapper {
    flex-shrink: 0;
  }

  .marriott-bonvoy-app__tab {
    white-space: nowrap;
    flex: none;
  }

  .marriott-bonvoy-app__tab-arrow {
    display: none;
  }

  .marriott-bonvoy-app__stats-card p {
    font-size: 14px;
  }
}

.member-emails {
  flex-direction: column;
  width: 100%;
  display: flex;
}

.member-emails__content-wrapper {
  background-color: #fff;
  width: 100%;
  min-height: 800px;
}

.member-emails__content {
  grid-template-columns: 350px 1fr 350px;
  gap: 40px;
  width: 100%;
  max-width: 1400px;
  margin: 0 auto 120px;
  padding: 220px 40px 120px;
  display: grid;
}

.member-emails__tabs-container {
  flex-direction: column;
  justify-content: center;
  padding-bottom: 40px;
  display: flex;
}

.member-emails__tabs {
  flex-direction: column;
  gap: 15px;
  display: flex;
}

.member-emails__tab-wrapper {
  align-items: center;
  gap: 15px;
  display: flex;
}

.member-emails__tab {
  color: #555;
  cursor: pointer;
  text-transform: uppercase;
  text-align: left;
  background: #ebebeb;
  border: none;
  border-radius: 40px;
  flex: 1;
  padding: 18px 30px;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 24px;
  font-weight: 800;
  line-height: 1;
  transition: all .2s;
}

.member-emails__tab.active {
  color: #1a1a1a;
  background: #2cb1e8;
}

.member-emails__tab-arrow {
  color: #1a1a1a;
  background: #2cb1e8;
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 56px;
  height: 56px;
  display: flex;
}

.member-emails__tab-arrow svg {
  width: 24px;
  height: 24px;
}

.member-emails__image-container {
  justify-content: center;
  align-items: center;
  display: flex;
  overflow: hidden;
}

.member-emails__image-container img {
  object-fit: contain;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 600px;
  display: block;
}

@media (width <= 1200px) {
  .member-emails__image-container img {
    max-height: 400px;
  }
}

.member-emails__details {
  flex-direction: column;
  justify-content: center;
  display: flex;
}

.member-emails__details-title {
  text-transform: uppercase;
  letter-spacing: -.04em;
  margin: 0 0 20px;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 100%;
}

.member-emails__details-text {
  letter-spacing: -.02em;
  color: #333;
  margin: 0 0 30px;
  font-family: Swiss721BT Medium, sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 100%;
}

.member-emails__stats-card {
  color: #1a1a1a;
  background: #2cb1e8;
  border-radius: 20px;
  padding: 40px 30px;
}

.member-emails__stats-card h4 {
  text-transform: uppercase;
  margin: 0 0 15px;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 32px;
}

.member-emails__stats-card p {
  margin: 0;
  font-size: 18px;
  line-height: 1.4;
}

@media (width <= 1200px) {
  .member-emails__content {
    grid-template-columns: 1fr;
    gap: 60px;
    padding: 120px 24px 24px;
  }

  .member-emails__tabs-container {
    box-sizing: border-box;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    width: calc(100% + 48px);
    margin-left: -24px;
    margin-right: -24px;
    padding-bottom: 0;
    padding-left: 24px;
    padding-right: 24px;
    overflow: auto hidden;
  }

  .member-emails__tabs-container::-webkit-scrollbar {
    display: none;
  }

  .member-emails__tabs {
    white-space: nowrap;
    flex-flow: row;
    gap: 10px;
  }

  .member-emails__tab-wrapper {
    flex-shrink: 0;
  }

  .member-emails__tab {
    white-space: normal;
    text-align: center;
    flex: none;
    max-width: 260px;
    line-height: 1.1;
  }

  .member-emails__tab-arrow {
    display: none;
  }

  .member-emails__stats-card p {
    font-size: 14px;
  }
}

.mfs {
  contain: paint;
  justify-content: center;
  width: 100%;
  min-height: 900px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.mfs--image {
  background-image: var(--bg-desktop);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.mfs__container {
  justify-content: space-between;
  width: 100%;
  max-width: 1440px;
  padding: 60px 40px 120px;
  display: flex;
  position: relative;
}

.mfs__left {
  z-index: 2;
  flex-direction: column;
  max-width: 720px;
  display: flex;
}

.mfs__title {
  color: #fff;
  letter-spacing: -4%;
  margin: 0 0 20px;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 120px;
  line-height: .9;
}

.mfs__title--nowrap {
  white-space: nowrap;
}

.mfs__desc {
  color: #fff;
  letter-spacing: -4%;
  flex: 1;
  margin: 0 0 60px;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 32px;
  line-height: 1.3;
}

.mfs--light .mfs__desc {
  text-shadow: 0 2px 12px #00000073;
}

.mfs__desc--mobile {
  display: none;
}

.mfs--dark .mfs__desc {
  color: #1a1a1a;
}

.mfs__card {
  backdrop-filter: blur(10px);
  max-width: var(--card-max-width, 438px);
  background: radial-gradient(100.49% 216.49% at 0 39.73%, #1717174d 0% 100%);
  border: 1px solid #ffffff4d;
  border-radius: 16px;
  align-self: flex-start;
  width: 100%;
  margin-bottom: 20px;
  margin-left: 67px;
  padding: 32px 60px 32px 32px;
  box-shadow: 0 10px 30px #0000004d;
}

.mfs__card h3 {
  color: #fff;
  letter-spacing: .5px;
  margin: 0 0 15px;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 2rem;
  line-height: 1.1;
}

.mfs__card-highlight {
  color: var(--coral);
  margin-right: 17px;
  font-size: 32px;
  line-height: 1;
}

.mfs__card p {
  color: #fff;
  letter-spacing: -4%;
  margin: 0;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 22px;
  line-height: 1.4;
}

.mfs__card-right {
  z-index: 2;
  position: absolute;
  top: 50%;
  right: 100px;
  transform: translateY(-40%);
}

.mfs__card-right .mfs__card {
  margin-bottom: 0;
}

.mfs__corner {
  z-index: 2;
  align-items: flex-end;
  display: flex;
  position: absolute;
  bottom: 40px;
  right: 40px;
}

.mfs__corner-text {
  color: #fff;
  letter-spacing: -.04em;
  text-align: right;
  margin: 0;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 6.5rem;
  line-height: .85;
}

@media (width <= 900px) {
  .mfs {
    min-height: 649px;
  }

  .mfs--image {
    background-position: 72% 0;
    background-size: auto 120%;
  }

  .mfs--image[style*="--bg-mobile"] {
    background-image: var(--bg-mobile);
    background-position: center;
    background-size: cover;
  }

  .mfs__container {
    flex-direction: column;
    padding: 40px 20px 24px;
  }

  .mfs__title {
    letter-spacing: -.04em;
    font-size: 48px;
    line-height: 1;
  }

  .mfs__desc {
    letter-spacing: -.02em;
    flex: none;
    margin-bottom: 40px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
  }

  .mfs--dark .mfs__desc {
    color: #1a1a1a;
  }

  .mfs__desc--desktop {
    display: none;
  }

  .mfs__desc--mobile {
    display: block;
  }

  .mfs__card {
    backdrop-filter: blur(70px);
    max-width: 303px;
    margin-bottom: 0;
    padding: 24px;
  }

  .mfs--card-left .mfs__left {
    flex: 1;
  }

  .mfs--card-left .mfs__card {
    margin-top: auto;
    margin-left: 0;
  }

  .mfs__card h3 {
    letter-spacing: -.04em;
    font-size: 24px;
    line-height: 1;
  }

  .mfs__card p {
    letter-spacing: -.02em;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
  }

  .mfs__card-right {
    justify-content: center;
    width: 100%;
    margin-top: auto;
    display: flex;
    position: relative;
    top: auto;
    right: auto;
    transform: none;
  }

  .mfs__corner {
    margin-top: 25px;
    position: static;
  }

  .mfs__corner-text {
    font-size: 56px;
    line-height: 1;
  }
}

.section-bg-video {
  object-fit: cover;
  object-position: var(--sbv-position, center);
  width: 100%;
  height: 100%;
  transform-origin: var(--sbv-position, center);
  transform: scale(var(--sbv-zoom, 1));
  z-index: 0;
  pointer-events: none;
  position: absolute;
  inset: 0;
}

@media (width <= 900px) {
  .section-bg-video {
    object-position: var(--sbv-position-mobile, var(--sbv-position, center));
    transform-origin: var(--sbv-position-mobile, var(--sbv-position, center));
    transform: scale(var(--sbv-zoom-mobile, var(--sbv-zoom, 1)));
  }
}

.orangeSection {
  background-color: var(--coral);
  width: 100%;
  height: 200px;
}

.offsite-digital-page .contact-banner {
  width: calc(100% - 32px);
}

.press-release-page {
  background-color: #f9f6f4;
  padding-bottom: 0;
}

.press-release-container {
  grid-template-columns: 1fr 388px;
  align-items: start;
  gap: 0 48px;
  max-width: 1340px;
  margin: 0 auto;
  padding: 48px 24px 120px;
  display: grid;
}

.press-release-container > .pr-category-badge, .press-release-container > .pr-headline, .press-release-container > .pr-date, .press-release-container > .pr-hero-image {
  grid-column: 1 / -1;
}

.press-release-container > .pr-category-badge {
  justify-self: start;
}

.pr-article-body {
  flex-direction: column;
  grid-column: 1;
  min-width: 0;
  max-width: 792px;
  display: flex;
}

.press-release-container > .pr-sidebar-box {
  grid-column: 2;
  align-self: start;
}

.pr-category-badge {
  color: #171717;
  letter-spacing: -2%;
  background-color: #24ade9;
  border-radius: 100px;
  margin-bottom: 20px;
  padding: 4px 12px;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 16px;
  font-weight: 400;
  display: inline-block;
}

.pr-headline {
  letter-spacing: -.01em;
  text-transform: uppercase;
  color: #1c1c1c;
  margin-bottom: 16px;
  font-family: Swiss721BT Bold Condensed, Swiss721BT, sans-serif;
  font-size: max(28px, min(4vw, 64px));
  font-weight: 700;
  line-height: 1.08;
}

.pr-date {
  color: #545454;
  letter-spacing: -2%;
  margin-bottom: 32px;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: 20px;
}

.pr-hero-image {
  border-radius: 24px;
  width: 100%;
  margin-bottom: 76px;
  overflow: hidden;
}

.pr-hero-image picture, .pr-hero-image img {
  object-fit: cover;
  width: 100%;
  height: auto;
  display: block;
}

.pr-body-text {
  color: #545454;
  letter-spacing: -2%;
  margin-bottom: 28px;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 20px;
  line-height: 26px;
}

.pr-sidebar-box {
  background: #fff;
  border: none;
  border-radius: 24px;
  flex-direction: column;
  gap: 16px;
  padding: 32px;
  display: flex;
}

.pr-sidebar-box .pr-body-text {
  border-bottom: 1.5px solid #e0dbd6;
  margin-bottom: 0;
  padding-bottom: 20px;
}

.pr-section-image {
  aspect-ratio: 792 / 340;
  border-radius: 24px;
  width: 100%;
  margin-bottom: 48px;
  overflow: hidden;
}

.pr-section-image picture, .pr-section-image img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
}

.pr-side-heading {
  letter-spacing: -4%;
  text-transform: uppercase;
  color: #171717;
  margin: 0;
  font-family: Swiss721BT Bold Condensed, Swiss721BT, sans-serif;
  font-size: max(16px, min(2vw, 32px));
  font-weight: 700;
  line-height: 1.15;
}

.pr-large-statement {
  letter-spacing: -4%;
  text-transform: uppercase;
  color: #1c1c1c;
  margin-bottom: 40px;
  font-family: Swiss721BT Bold Condensed, Swiss721BT, sans-serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.25;
}

.pr-pull-quote {
  text-align: center;
  background: #fff;
  border: 2px solid #000;
  border-radius: 40px;
  margin: 0 0 36px;
  padding: 40px 80px;
  position: relative;
}

@media (width <= 1023px) {
  .pr-pull-quote {
    padding: 36px 40px;
  }
}

.pr-pull-quote__bracket {
  color: var(--coral);
}

.pr-pull-quote p {
  color: #1c1c1c;
  letter-spacing: -.03em;
  margin: 0 0 20px;
  font-family: AldineforMarriott, serif;
  font-size: 40px;
  font-style: italic;
  font-weight: 400;
  line-height: 1.1;
}

.pr-pull-quote footer {
  letter-spacing: -3%;
  text-transform: uppercase;
  color: #555;
  font-family: Helvetica Neue, Arial, Helvetica, sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.6;
}

.pr-pull-quote footer strong {
  color: #1c1c1c;
}

.pr-pull-quote--blue {
  text-align: center;
  background: #24ade9;
  border-color: #24ade9;
  margin-bottom: 0;
}

.pr-pull-quote--blue p {
  color: #1c1c1c;
  font-style: italic;
}

.pr-pull-quote--blue footer {
  color: #000000a6;
}

.pr-pull-quote--blue footer strong {
  color: #1c1c1c;
}

.pr-download-row {
  background: none;
  border-radius: 8px;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  margin-bottom: 36px;
  padding: 20px 0;
  display: flex;
}

.pr-download-info {
  background: #fff;
  border-radius: 24px;
  flex-direction: column;
  flex: 1;
  gap: 6px;
  padding: 20px 28px;
  display: flex;
}

.pr-download-label {
  color: #171717;
  letter-spacing: -4%;
  font-family: Swiss721BT Regular, sans-serif;
  font-size: 20px;
}

.pr-download-title {
  letter-spacing: -4%;
  text-transform: uppercase;
  color: #1c1c1c;
  font-family: Swiss721BT Bold Condensed, sans-serif;
  font-size: max(14px, min(1.8vw, 24px));
  font-weight: 700;
}

.pr-download-btn {
  background: var(--coral);
  cursor: pointer;
  color: #fff;
  border: none;
  border-radius: 24px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 182px;
  height: 102px;
  padding: 0;
  transition: background .2s, transform .15s;
  display: flex;
}

.pr-download-btn:hover {
  background: var(--coral);
  transform: scale(1.05);
}

@media (width <= 768px) {
  .press-release-container {
    grid-template-columns: 1fr;
    padding: 32px 20px 48px;
  }

  .press-release-container > .pr-sidebar-box {
    order: 1;
    grid-column: 1;
    margin-bottom: 32px;
  }

  .pr-article-body {
    order: 2;
  }

  .pr-pull-quote {
    padding: 28px 24px;
  }

  .pr-pull-quote p {
    font-size: 35px;
    line-height: 1.04;
  }

  .pr-download-row {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }

  .pr-download-label {
    letter-spacing: -.04em;
    font-family: Swiss721BT Regular, sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
  }

  .pr-download-title {
    letter-spacing: -.04em;
    text-transform: uppercase;
    font-family: Swiss721BT Bold Condensed, sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
  }

  .pr-download-btn {
    border-radius: 16px;
    width: 100%;
    height: 44px;
  }

  .pr-download-btn svg {
    width: 24px;
    height: 24px;
  }
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

:root {
  --content-max-width: 1416px;
  --coral: #ff9662;
}

body {
  color: #333;
  background-color: #f9f6f4;
  font-family: Swiss721BT Regular, sans-serif;
}

.app-container {
  flex-direction: column;
  min-height: 100vh;
  display: flex;
}

.content-wrapper {
  flex: 1 0 auto;
}

.container {
  max-width: var(--content-max-width);
  margin: 0 auto;
  padding: 0 20px;
}

.text-center {
  text-align: center;
}

.section {
  padding: 40px 0;
}

.pb-0 {
  padding-bottom: 0;
}

.pb-1 {
  padding-bottom: 1rem;
}

.pb-2 {
  padding-bottom: 2rem;
}

.pb-3 {
  padding-bottom: 3rem;
}

.pb-4 {
  padding-bottom: 4rem;
}

.pt-0 {
  padding-top: 0;
}

.pt-1 {
  padding-top: 1rem;
}

.pt-2 {
  padding-top: 2rem;
}

.pt-3 {
  padding-top: 3rem;
}

.pt-4 {
  padding-top: 4rem;
}

.mt-0 {
  margin-top: 0;
}

.mt-1 {
  margin-top: 1rem;
}

.mt-2 {
  margin-top: 2rem;
}

.mt-3 {
  margin-top: 3rem;
}

.mt-4 {
  margin-top: 4rem;
}

.mb-0 {
  margin-bottom: 0;
}

.mb-1 {
  margin-bottom: 1rem;
}

.mb-2 {
  margin-bottom: 2rem;
}

.mb-3 {
  margin-bottom: 3rem;
}

.mb-4 {
  margin-bottom: 4rem;
}

.container-fixed {
  max-width: 1024px;
  margin: 0 auto;
}

@font-face {
  font-family: Swiss721BT Regular;
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  src: url("Swiss721BT-Regular.0a845759.woff2") format("woff2"), url("Swiss721BT-Regular.614e488b.woff") format("woff");
}

@font-face {
  font-family: Swiss721BT;
  font-weight: 200;
  font-style: normal;
  font-display: swap;
  src: url("Swiss721BT-Light.3b34f286.otf") format("opentype");
}

@font-face {
  font-family: Swiss721BT Medium;
  font-weight: 600;
  font-style: normal;
  font-display: swap;
  src: url("Swiss721BT-Medium.2e7d5c48.woff2") format("woff2"), url("Swiss721BT-Medium.a47db76e.woff") format("woff");
}

@font-face {
  font-family: Swiss721BT Condensed;
  font-weight: 800;
  font-style: normal;
  font-display: swap;
  src: url("Swiss721BT-BlackCondensed.31b77665.woff2") format("woff2"), url("Swiss721BT-BlackCondensed.0bcf88e9.woff") format("woff");
}

@font-face {
  font-family: Swiss721BT Bold Condensed;
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  src: url("Swiss721BT-BoldCondensed.741e0151.woff2") format("woff2");
}

@font-face {
  font-family: ACaslonPro;
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  src: url("ACaslonPro.91737c52.otf") format("opentype");
}

@font-face {
  font-family: WSupremeWeb-SemiBold;
  font-weight: 600;
  font-style: normal;
  font-display: swap;
  src: url("WSupremeWeb-SemiBold.c7a45936.woff2") format("woff2"), url("WSupremeWeb-SemiBold.9a5ab434.woff") format("woff");
}

@font-face {
  font-family: AldineforMarriott;
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  src: url("AldineforMarriott-Roman.11e36271.woff2") format("woff2");
}

@font-face {
  font-family: AldineforMarriott;
  font-weight: 400;
  font-style: italic;
  font-display: swap;
  src: url("AldineforMarriott-Italic.3ed750bc.woff") format("woff");
}
/*# sourceMappingURL=web-src.8005d576.css.map */
