/*
 * RELISH PRIVATE RESERVE
 * OFFICES FOR RENT IN BEIRUT V1
 * Scoped workplace page design only.
 */

.office-page {
  --office-blue: #2f7bff;
  --office-cyan: #82dcff;
  --office-dark: #050a12;
  --office-panel: rgba(10, 20, 35, 0.9);
  --office-line: rgba(119, 180, 255, 0.2);
  --office-soft: rgba(232, 240, 251, 0.75);
  background:
    radial-gradient(
      circle at 14% 7%,
      rgba(47, 123, 255, 0.2),
      transparent 31rem
    ),
    radial-gradient(
      circle at 89% 24%,
      rgba(82, 207, 255, 0.09),
      transparent 29rem
    ),
    var(--office-dark);
  color: #f7faff;
}

.office-page::before {
  background-image:
    linear-gradient(
      rgba(112, 174, 255, 0.027) 1px,
      transparent 1px
    ),
    linear-gradient(
      90deg,
      rgba(112, 174, 255, 0.027) 1px,
      transparent 1px
    );
  background-size: 52px 52px;
  content: "";
  inset: 0;
  pointer-events: none;
  position: fixed;
  z-index: 0;
}

.office-page > * {
  position: relative;
  z-index: 1;
}

.office-hero {
  border-bottom: 1px solid var(--office-line);
  min-height: 80vh;
  overflow: hidden;
  padding: clamp(7rem, 13vw, 11rem) 0 5rem;
  position: relative;
}

.office-hero::after {
  background:
    linear-gradient(
      118deg,
      transparent 0 60%,
      rgba(47, 123, 255, 0.12) 60.2% 61%,
      transparent 61.2%
    );
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.office-hero-grid {
  align-items: end;
  display: grid;
  gap: 3rem;
  grid-template-columns:
    minmax(0, 1.3fr)
    minmax(17rem, 0.7fr);
}

.office-hero h1 {
  font-size: clamp(3.1rem, 7.6vw, 6.9rem);
  letter-spacing: -0.057em;
  line-height: 0.92;
  margin: 1rem 0 1.5rem;
  max-width: 11ch;
}

.office-hero-copy {
  color: var(--office-soft);
  font-size: clamp(1.02rem, 1.55vw, 1.23rem);
  line-height: 1.75;
  max-width: 51rem;
}

.office-command-card {
  backdrop-filter: blur(14px);
  background:
    linear-gradient(
      145deg,
      rgba(31, 68, 119, 0.48),
      rgba(7, 15, 27, 0.94)
    );
  border: 1px solid rgba(101, 173, 255, 0.29);
  border-radius: 1.45rem;
  box-shadow: 0 2rem 7rem rgba(0, 0, 0, 0.27);
  padding: 1.55rem;
}

.office-command-card strong {
  display: block;
  font-size: 1.16rem;
  margin-bottom: 0.7rem;
}

.office-command-card p {
  color: var(--office-soft);
  line-height: 1.7;
  margin: 0;
}

.office-signal-rail {
  border-bottom: 1px solid var(--office-line);
  padding: 1.2rem 0;
}

.office-signal-grid {
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.office-signal {
  background: rgba(255, 255, 255, 0.025);
  min-height: 7.4rem;
  padding: 1.35rem;
}

.office-signal span {
  color: var(--office-cyan);
  display: block;
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.16em;
  margin-bottom: 0.55rem;
  text-transform: uppercase;
}

.office-signal strong {
  display: block;
  font-size: 1rem;
  line-height: 1.45;
}

.office-chapter {
  border-bottom: 1px solid var(--office-line);
  padding: clamp(4.5rem, 8vw, 7rem) 0;
}

.office-chapter:nth-of-type(even) {
  background: rgba(255, 255, 255, 0.017);
}

.office-chapter-grid {
  display: grid;
  gap: clamp(2.5rem, 7vw, 7rem);
  grid-template-columns:
    minmax(15rem, 0.7fr)
    minmax(0, 1.3fr);
}

.office-chapter-heading {
  align-self: start;
  position: sticky;
  top: 6rem;
}

.office-code {
  color: var(--office-cyan);
  font-size: 0.73rem;
  font-weight: 850;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.office-chapter-heading h2 {
  font-size: clamp(2rem, 4.1vw, 3.65rem);
  letter-spacing: -0.04em;
  line-height: 1.03;
  margin: 1rem 0;
}

.office-chapter-heading p {
  color: var(--office-soft);
  line-height: 1.65;
}

.office-copy {
  color: rgba(239, 245, 253, 0.87);
  font-size: 1.03rem;
  line-height: 1.86;
}

.office-copy p {
  margin: 0 0 1.45rem;
}

.office-copy a {
  color: #9bc8ff;
  font-weight: 760;
}

.office-formats,
.office-network,
.office-faq,
.office-close {
  border-bottom: 1px solid var(--office-line);
  padding: clamp(4.5rem, 8vw, 7rem) 0;
}

.office-format-grid,
.office-network-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 2.5rem;
}

.office-format {
  background:
    linear-gradient(
      145deg,
      rgba(32, 68, 120, 0.29),
      rgba(8, 18, 31, 0.88)
    );
  border: 1px solid var(--office-line);
  border-radius: 1.2rem;
  padding: 1.45rem;
}

.office-format h3 {
  font-size: 1.3rem;
  margin: 0.75rem 0;
}

.office-format p {
  color: var(--office-soft);
  line-height: 1.65;
}

.office-network-card {
  background: rgba(255, 255, 255, 0.024);
  border: 1px solid var(--office-line);
  border-radius: 1.15rem;
  color: inherit;
  min-height: 13rem;
  padding: 1.4rem;
  text-decoration: none;
  transition:
    border-color 180ms ease,
    background 180ms ease,
    transform 180ms ease;
}

.office-network-card:hover {
  background: rgba(47, 123, 255, 0.08);
  border-color: rgba(113, 182, 255, 0.48);
  transform: translateY(-3px);
}

.office-network-card h3 {
  margin: 0.7rem 0;
}

.office-network-card p {
  color: var(--office-soft);
  line-height: 1.62;
}

.office-close-panel {
  background:
    radial-gradient(
      circle at 90% 10%,
      rgba(64, 145, 255, 0.21),
      transparent 22rem
    ),
    linear-gradient(
      145deg,
      rgba(28, 59, 107, 0.62),
      rgba(5, 13, 24, 0.95)
    );
  border: 1px solid rgba(102, 173, 255, 0.3);
  border-radius: 1.7rem;
  padding: clamp(2rem, 6vw, 4.5rem);
}

.office-close-panel h2 {
  font-size: clamp(2.2rem, 5vw, 4.5rem);
  letter-spacing: -0.045em;
  line-height: 1;
  max-width: 14ch;
}

.office-close-panel > p {
  color: var(--office-soft);
  line-height: 1.75;
  max-width: 53rem;
}

@media (max-width: 900px) {
  .office-hero-grid,
  .office-chapter-grid {
    grid-template-columns: 1fr;
  }

  .office-signal-grid,
  .office-format-grid,
  .office-network-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .office-chapter-heading {
    position: static;
  }
}

@media (max-width: 620px) {
  .office-signal-grid,
  .office-format-grid,
  .office-network-grid {
    grid-template-columns: 1fr;
  }

  .office-hero {
    min-height: auto;
    padding-top: 7.5rem;
  }
}
