:root {
  --home-ink: var(--holxn-text, #1f2925);
  --home-muted: var(--holxn-muted, #6f7c76);
  --home-line: var(--holxn-border, rgba(31, 41, 37, .14));
  --home-card: var(--holxn-surface, rgba(255, 255, 255, .94));
  --home-accent: var(--holxn-brand, #287a63);
}

.fill:has(.home-shell) {
  padding-right: clamp(.9rem, 2.5vw, 1.5rem);
  padding-left: clamp(.9rem, 2.5vw, 1.5rem);
}

.home-shell {
  width: 100%;
  max-width: 1240px;
  min-height: calc(100vh - 150px);
  margin: 0 auto;
  padding: 1.5rem 0 4rem;
  color: var(--home-ink);
}

.home-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
}

.home-card {
  min-width: 0;
  min-height: 8.4rem;
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  padding: 1.35rem;
  color: var(--home-ink);
  background: var(--home-card);
  border: 1px solid var(--home-line);
  border-radius: 1rem;
  box-shadow: 0 .45rem 1.25rem rgba(39, 54, 74, .055);
  text-decoration: none;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.home-card:hover,
.home-card:focus-visible {
  color: var(--home-ink);
  background: #fff;
  border-color: rgba(50, 141, 108, .36);
  box-shadow: 0 .6rem 1.35rem rgba(31, 41, 37, .08);
  transform: translateY(-2px);
}

.home-card:focus-visible {
  outline: 3px solid rgba(50, 141, 108, .18);
  outline-offset: 2px;
}

.home-card-icon {
  width: 3rem;
  height: 3rem;
  display: grid;
  place-items: center;
  color: var(--home-accent);
  background: #eaf8f2;
  border: 1px solid var(--home-line);
  border-radius: .85rem;
  transition: background-color .18s ease, border-color .18s ease, transform .18s ease;
}

.home-card:nth-child(2) .home-card-icon {
  color: #f59e0b;
  background: #fff6e9;
}

.home-card:nth-child(3) .home-card-icon {
  color: #3b82f6;
  background: #edf4ff;
}

.home-card-icon svg {
  width: 1.4rem;
  height: 1.4rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.home-card:nth-child(2) .home-card-icon svg { fill: currentColor; stroke: none; }

.home-card h2 {
  min-width: 0;
  margin: 0;
  font-size: clamp(1.05rem, 1.7vw, 1.25rem);
  font-weight: 650;
  letter-spacing: -.025em;
}

.home-card-action {
  display: inline-flex;
  gap: .4rem;
  align-items: center;
  color: var(--home-muted);
  font-size: .82rem;
  white-space: nowrap;
}

.home-card-action > span {
  font-size: 1.25rem;
  line-height: 1;
  transition: transform .18s ease;
}

.home-card:hover .home-card-icon,
.home-card:focus-visible .home-card-icon {
  border-color: currentColor;
  transform: scale(1.06);
}

.home-card:hover .home-card-action,
.home-card:focus-visible .home-card-action { color: #236f55; }

.home-card:hover .home-card-action > span,
.home-card:focus-visible .home-card-action > span { transform: translateX(2px); }

@media (max-width: 991.98px) {
  .home-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 575.98px) {
  .home-shell { padding-top: .85rem; padding-bottom: 3rem; }
  .home-grid { grid-template-columns: 1fr; gap: .65rem; }
  .home-card { min-height: 7.25rem; padding: 1.05rem; }
}

@media (prefers-reduced-motion: reduce) {
  .home-card,
  .home-card-icon,
  .home-card-action > span { transition: none; }
}
