/* Two creative leads, three supporting services. One layout source of truth. */
.realm-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}
.realm-card {
  grid-column: span 2;
  min-width: 0;
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
  background: #fffefa;
  border: 1px solid #dedbd2;
  border-radius: 12px;
  color: var(--ink);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.realm-card:nth-child(-n+2) { grid-column: span 3; }
.realm-card:hover {
  transform: translateY(-4px);
  border-color: #b9c1b4;
  box-shadow: 0 16px 32px #292b2810;
}
.realm-card[hidden] { display: none !important; }
.realm-card .realm-art {
  height: auto;
  min-height: 0;
  max-height: none;
  flex: 0 0 auto;
  width: 100%;
  aspect-ratio: 16 / 10;
  overflow: hidden;
}
.realm-card:nth-child(-n+2) .realm-art { aspect-ratio: 16 / 9; }
.realm-card .realm-illustration {
  object-fit: cover;
  transition: transform .45s ease;
}
.realm-card:hover .realm-illustration { transform: scale(1.025); }
.realm-topline { display: none; }
.realm-card-copy {
  padding: 24px;
  display: flex;
  flex-direction: column;
  flex: 1 0 auto;
  gap: 0;
}
.realm-ident {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .1em;
  color: var(--forest);
}
.realm-ident img { width: 21px; height: 21px; object-fit: contain; }
.realm-card-copy h2, .realm-card-copy h3 {
  font: 500 25px/1.22 var(--serif);
  letter-spacing: -.025em;
  margin: 13px 0 10px;
}
.realm-card:nth-child(-n+2) .realm-card-copy h2 { font-size: 30px; }
.realm-card-copy p { font-size: 14px; line-height: 1.55; color: #62695f; margin: 0; }
.realm-arrow {
  display: flex;
  align-items: center;
  margin-top: 22px;
  padding-top: 16px;
  border-top: 1px solid #e5e7df;
  font-size: 12px;
  font-weight: 600;
  color: var(--burgundy);
}
.service-index .realm-grid { margin-bottom: 40px; }
.service-filters { margin-bottom: 24px; gap: 10px; }
.service-filters button { font-size: 12px; padding: 9px 17px; }
.service-filters>span:first-child, .service-filters .filter-status { font-size: 12px; }
.realm-grid.is-filtered { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.realm-grid.is-filtered .realm-card { grid-column: auto; }
.realm-grid.is-filtered .realm-card .realm-art { aspect-ratio: 16 / 10; }
.realm-grid.is-filtered .realm-card .realm-card-copy h2 { font-size: 25px; }
@media (max-width: 900px) {
  .realm-grid, .realm-grid.is-filtered { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
  .realm-card:nth-child(n) { grid-column: auto; }
  .realm-card:nth-child(-n+2) .realm-card-copy h2 { font-size: 26px; }
  .realm-grid:not(.is-filtered) .realm-card:last-child {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 1fr 1.4fr;
  }
  .realm-grid:not(.is-filtered) .realm-card:last-child .realm-art { height: 100%; min-height: 220px; aspect-ratio: auto; }
  .realm-card-copy { padding: 22px; }
}
@media (max-width: 600px) {
  .realm-grid, .realm-grid.is-filtered { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .realm-grid:not(.is-filtered) .realm-card:last-child { display: flex; grid-column: auto; }
  .realm-card:nth-child(n) .realm-art,
  .realm-grid:not(.is-filtered) .realm-card:last-child .realm-art { height: auto; min-height: 0; aspect-ratio: 16 / 10; }
  .realm-card:nth-child(n) .realm-card-copy h2 { font-size: 25px; }
  .realm-card-copy { padding: 21px; }
  .service-filters { gap: 8px; }
  .service-filters button { padding: 8px 13px; }
}
@media (prefers-reduced-motion: reduce) {
  .realm-card, .realm-card .realm-illustration { transition: none; }
  .realm-card:hover, .realm-card:hover .realm-illustration { transform: none; }
}
.realm-card.reveal:not(.is-visible){opacity:1;transform:none}
.services{padding-top:90px;padding-bottom:90px}.services .section-heading{margin-bottom:36px}@media(max-width:600px){.services{padding-top:65px;padding-bottom:65px}}
