:root {
  --gala-wine: #7b3655;
  --gala-ink: #1c181a;
  --gala-cream: #f7f2ef;
}

body { background: #fff; color: var(--gala-ink); }

.galastili-category-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--category-gap, 10px);
}

.galastili-category-card {
  position: relative;
  display: block;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border-radius: var(--category-radius, 4px);
  background: linear-gradient(145deg, #e8deda, var(--gala-wine));
}

.galastili-category-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}

.galastili-category-card:hover img { transform: scale(1.035); }
.galastili-category-card::after {
  content: "";
  position: absolute;
  inset: 45% 0 0;
  background: linear-gradient(transparent, rgba(0, 0, 0, .72));
}

.galastili-category-card span {
  position: absolute;
  z-index: 1;
  right: 12px;
  bottom: 16px;
  left: 12px;
  color: #fff;
  font-size: clamp(.86rem, 2.5vw, 1.15rem);
  font-weight: 700;
  letter-spacing: .035em;
  text-align: center;
  text-shadow: 0 1px 5px rgba(0,0,0,.35);
}

@media (min-width: 800px) {
  .galastili-category-grid { gap: 18px; }
  .galastili-category-card { aspect-ratio: 4 / 5; }
}


/* GALASTILI LEGAL READABILITY V3 */
main .prose{
  font-size:16px;
  line-height:1.82;
  font-weight:500;
  color:#2d2026;
}
main .prose p{
  margin:0 0 16px;
  font-weight:500;
  line-height:1.82;
}
main .prose h2{
  margin:30px 0 12px;
  font-size:21px;
  line-height:1.35;
  font-weight:800;
  color:#5f2441;
}
main .prose h3{
  margin:22px 0 10px;
  font-size:18px;
  line-height:1.4;
  font-weight:800;
  color:#6f2c4c;
}
main .prose strong{font-weight:800;color:#3a202d}
main .prose ul,main .prose ol{margin:8px 0 18px 22px}
main .prose li{margin:6px 0}
main .prose .legal-lead{
  font-size:17px;
  line-height:1.72;
  font-weight:650;
  background:#f9eef3;
  border:1px solid #ead2dd;
  border-radius:14px;
  padding:16px;
  margin:0 0 24px;
}
main .prose .legal-note{
  background:#fff8fa;
  border:1px solid #ead2dd;
  border-left:4px solid #8b3b61;
  border-radius:10px;
  padding:14px 16px;
  margin:20px 0;
}
main .prose .legal-table{width:100%;border-collapse:collapse;margin-top:10px}
main .prose .legal-table th,
main .prose .legal-table td{
  text-align:left;
  vertical-align:top;
  padding:8px 6px;
  border-bottom:1px solid #eadde3;
  font-size:14px;
}
main .prose .legal-table th{width:38%;font-weight:800;color:#4b2638}
@media(max-width:640px){
  main .prose{font-size:15.5px;line-height:1.78}
  main .prose p{line-height:1.78}
  main .prose h2{font-size:19px;margin-top:25px}
  main .prose h3{font-size:17px}
  main .prose .legal-lead{font-size:16px;padding:14px}
  main .prose .legal-table th,
  main .prose .legal-table td{display:block;width:100%;padding:5px 2px;border:0}
  main .prose .legal-table th{padding-top:10px}
}