.tsi-grant-hero.page-hero {
  background: var(--hero-gradient);
  color: var(--primary-foreground);
  padding: 56px 0 48px;
}

.tsi-grant-hero .breadcrumb, .tsi-grant-hero .breadcrumb a {
  color: hsl(0 0% 100% / 0.72);
}

.tsi-grant-hero h1 { color: var(--primary-foreground) !important; margin: 0 0 12px; }

.tsi-grant-hero .subtle { color: hsl(0 0% 100% / 0.9); max-width: 42rem; }

.tsi-grant-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  margin: 20px 0 28px;
  padding: 16px 20px;
  background: color-mix(in srgb, var(--tsi-primary) 6%, #fff);
  border-radius: 12px;
  border: 1px solid color-mix(in srgb, var(--tsi-primary) 15%, transparent);
}

.tsi-grant-content h2 { margin-top: 28px; font-size: 1.25rem; color: var(--tsi-primary); }
.tsi-grant-content h2:first-child { margin-top: 0; }
.tsi-grant-content ul { padding-left: 1.25rem; }
.tsi-grant-content li { margin-bottom: 8px; }
.tsi-grant-ref { font-size: 0.9rem; color: var(--tsi-text-muted, #666); }

.tsi-grant-form fieldset { border: none; margin: 0 0 28px; padding: 0; }
.tsi-grant-form legend {
  font-size: 1.1rem; font-weight: 700; color: var(--tsi-primary);
  margin-bottom: 14px; padding-bottom: 8px; border-bottom: 2px solid color-mix(in srgb, var(--tsi-primary) 15%, transparent);
  width: 100%;
}

.tsi-grant-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.tsi-grant-grid .full { grid-column: 1 / -1; }
@media (max-width: 640px) { .tsi-grant-grid { grid-template-columns: 1fr; } }

.tsi-grant-form label.req::after { content: " *"; color: #c00; }
.tsi-grant-form input, .tsi-grant-form select, .tsi-grant-form textarea {
  width: 100%; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font: inherit;
}

.tsi-grant-phone { display: flex; gap: 8px; }
.tsi-grant-phone select { width: 110px; flex-shrink: 0; }

.tsi-grant-mail-preview {
  border: 1px solid #ddd; border-radius: 10px; padding: 16px; background: #fafafa; margin-bottom: 24px;
}

.tsi-grant-detail dl {
  display: grid; grid-template-columns: 160px 1fr; gap: 8px 16px; margin: 0;
}
.tsi-grant-detail dt { font-weight: 600; color: var(--tsi-text-muted, #666); }
.tsi-grant-detail dd { margin: 0; }
