:root {
  --color-description: #3b332b;
  --color-secondary-button: #f7f2ed;
  --color-case-media: #fff;
  --hero-max-width: 1440px;
  --hero-gutter: 64px;
}


.hero {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 48px;
  width: 100%;
  padding: 48px var(--hero-gutter);
  background: var(--color-page);
}

.hero__content {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 48px;
  width: 100%;
  max-width: var(--hero-max-width);
}

.hero__copy {
  display: flex;
  flex: none;
  flex-direction: column;
  align-items: flex-start;
  gap: 32px;
  width: 664px;
  max-width: 100%;
}

.hero__intro {
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: 100%;
}

.hero h1 {
  margin: 0;
  width: 100%;
  font-family: 'Neue Montreal', Arial, sans-serif;
  font-size: 48px;
  font-weight: 500;
  line-height: 56px;
  letter-spacing: -0.96px;
  font-feature-settings: 'calt' 0, 'liga' 0;
}

.hero__period {
  color: var(--color-brand);
}

.hero__description {
  margin: 0;
  width: 100%;
  color: var(--color-description);
  font-size: 18px;
  font-weight: 400;
  line-height: 28px;
}

.hero__description u {
  text-decoration-skip-ink: none;
  text-underline-position: from-font;
}

.hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 12px;
  max-width: 100%;
}

.secondary-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 16px;
  border-radius: 999px;
  background: var(--color-secondary-button);
  color: var(--color-text);
  font-size: 16px;
  line-height: 1;
  white-space: nowrap;
}

.hero-case-study {
  display: flex;
  flex: none;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  width: 400px;
  max-width: min(100%, 400px);
  padding: 16px;
  border-radius: 16px;
  background: var(--color-subtle);
  scroll-margin-top: 160px;
}

.hero-case-study__media {
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 16px;
  background: var(--color-case-media);
}

.hero-case-study__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  width: 100%;
  color: var(--color-description);
  font-size: 14px;
}

.hero-case-study h2 {
  margin: 0;
  font-size: inherit;
  font-weight: 500;
  line-height: 1;
}

.hero-case-study p {
  margin: 0;
  font-weight: 400;
  line-height: 20px;
}

.hero-partners {
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 100%;
  max-width: var(--hero-max-width);
}

.hero-partners__row {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 4px;
  width: 100%;
}

.partner-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  height: 48px;
  padding: 12px 16px;
  border-radius: 8px;
  background: var(--color-subtle);
}

.partner-logo img {
  flex: none;
  max-width: none;
}

.partner-logo--top-left { border-top-left-radius: 16px; }
.partner-logo--top-right { border-top-right-radius: 16px; }
.partner-logo--bottom-left { border-bottom-left-radius: 16px; }

.partner-logo--others {
  padding: 16px;
  border-bottom-right-radius: 16px;
  background: #1d1a16;
  color: #eee5dd;
  font-size: 16px;
  line-height: 1;
  text-align: center;
}

.partner-lockup {
  display: flex;
  flex: none;
  align-items: center;
}

.partner-lockup--tradezella { gap: 5.447px; }
.partner-lockup--atlas { gap: 7.619px; }
.partner-lockup--menufit { gap: 5px; }
.partner-lockup--buildable { gap: 5.4px; }
.partner-logo__raster { object-fit: cover; }
.partner-logo__monochrome { mix-blend-mode: luminosity; }

.partner-cal {
  position: relative;
  flex: none;
  width: 64.015px;
  height: 18px;
}

.partner-cal__symbol {
  position: absolute;
  inset: 0 auto auto 0;
  width: 17.91px;
  height: 18px;
  background: var(--color-text);
  -webkit-mask: url('/assets/partners/cal-ai-symbol.png') 0 0 / 17.91px 18px no-repeat;
  mask: url('/assets/partners/cal-ai-symbol.png') 0 0 / 17.91px 18px no-repeat;
  mask-mode: alpha;
}

.partner-cal__wordmark {
  position: absolute;
  top: 4.6px;
  left: 20.49px;
}

.partner-menufit {
  position: relative;
  flex: none;
  width: 17.551px;
  height: 20px;
}

.partner-menufit__crop {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.partner-menufit__raster {
  position: absolute;
  top: -2.86%;
  left: -1.4%;
  width: 103.3%;
  height: 104.24%;
}

.partner-menufit__detail {
  position: absolute;
  top: 11.84px;
  left: 9.99px;
  width: 3.666px;
  height: 1.75px;
}

.partner-menufit__detail img {
  /* The export has a 32px square root; its Figma slot is 3.666 by 1.75px. */
  transform: scale(0.1145625, 0.0546875);
  transform-origin: top left;
}

.partner-menufit__detail-2 {
  position: absolute;
  top: 9.1px;
  left: 11.22px;
}

.partner-soldier {
  position: relative;
  flex: none;
  width: 90.4px;
  height: 16.025px;
}

.partner-soldier__symbol {
  position: absolute;
  top: 0;
  left: 0;
}

.partner-soldier__wordmark {
  position: absolute;
  top: 3.79%;
  left: 30.48%;
}


@media (hover: hover) and (pointer: fine) {
  .secondary-button:hover {
    opacity: 0.8;
  }
}

@media (max-width: 1239px) {
  .hero__content { flex-wrap: wrap; }
  .hero-partners__row { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 1039px) {
  :root { --hero-gutter: 32px; }
}

@media (max-width: 599px) {
  :root { --hero-gutter: 20px; }
  .hero { gap: 32px; padding-block: 32px; }
  .hero__content { gap: 32px; }
  .hero h1 { font-size: 36px; line-height: 42px; letter-spacing: -0.72px; }
  .hero__description { font-size: 16px; line-height: 26px; }
  .hero__actions .booking-button,
  .hero__actions .secondary-button { min-height: 44px; }
  .hero-partners__row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

