:root {
  --paper: #fbf9f4;
  --ink: #302c24;
  --muted: #746f65;
  --line: #e4ded2;
  --accent: #aa7418;
}

.brand img {
  width: 72px;
  height: 72px;
  object-fit: contain;
}

.header-cta {
  border-color: #c9b78e;
}

.hero-shade {
  background: linear-gradient(90deg, #211d16e0 0%, #211d1680 48%, #211d1612 100%), linear-gradient(0deg, #211d16bd, transparent 32%);
}

.ticker {
  background: #302c24;
  color: #f3eee2;
}

.ticker span {
  display: inline-block;
  width: 16px;
  height: 22px;
  flex: 0 0 auto;
  overflow: hidden;
  color: transparent;
  font-size: 0;
  background: var(--texara-crane-image, url("crane-star.png")) center / contain no-repeat;
}

.asterisk {
  width: 52px;
  height: 66px;
  flex: 0 0 auto;
  overflow: hidden;
  color: transparent;
  font-size: 0;
  background: var(--texara-crane-image, url("crane-star.png")) center / contain no-repeat;
}

.vision-strip .eyebrow,
.service-copy .eyebrow {
  color: var(--accent);
}

.expertise {
  background: #f1eee7;
}

.contact {
  background: #eee9df;
}

.service-picture > span {
  background: #302c24d4;
}

.text-link {
  border-color: #c9bda8;
}

.status.ongoing {
  background: #efe5cd;
}

.status.holding {
  background: #f2e5d7;
}

.loading-screen {
  position: fixed;
  inset: 0;
  z-index: 300;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 28px;
  background: var(--paper);
  animation: loading-screen-exit 2.4s ease forwards;
}

.loading-screen img {
  width: min(180px, 42vw);
  height: auto;
  object-fit: contain;
}

.loading-line {
  width: 110px;
  height: 2px;
  overflow: hidden;
  background: #e7dfce;
}

.loading-line::after {
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background: #c58b21;
  transform: scaleX(0);
  transform-origin: left;
  animation: loading-line-progress 1.9s ease-out forwards;
}

@keyframes loading-line-progress {
  to { transform: scaleX(1); }
}

@keyframes loading-screen-exit {
  0%, 72% { opacity: 1; visibility: visible; }
  100% { opacity: 0; visibility: hidden; }
}

@media (prefers-reduced-motion: reduce) {
  .loading-screen {
    animation-duration: 0.8s;
  }

  .loading-line::after {
    animation-duration: 0.6s;
  }
}
