/* Base layout for legal pages */

.isl-main {
  padding-top: var(--iss-header-offset, 84px);
}

.isl-hero {
  padding-block: 3.5rem 2.25rem;
  background:
    radial-gradient(circle at 0 0, #ffe5cf 0, #ffe5cf00 55%),
    radial-gradient(circle at 100% 0, #e5f0e8 0, #e5f0e800 55%),
    #fef7f0;
  border-radius: 0 0 32px 32px;
  box-shadow: 0 22px 50px rgba(0, 0, 0, 0.12);
}

.isl-hero--privacy {
  background:
    radial-gradient(circle at 0 0, #ffe5cf 0, #ffe5cf00 55%),
    radial-gradient(circle at 100% 0, #e4f0f4 0, #e4f0f400 55%),
    #fff7f1;
}

.isl-hero--terms {
  background:
    radial-gradient(circle at 0 0, #ffe5cf 0, #ffe5cf00 55%),
    radial-gradient(circle at 100% 0, #e7efe4 0, #e7efe400 55%),
    #fdf6ef;
}

.isl-hero-inner {
  max-width: 840px;
}

.isl-hero-kicker {
  font-size: 0.82rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8b6f55;
  margin-bottom: 0.5rem;
}

.isl-hero-title {
  font-size: clamp(1.8rem, 3vw, 2.2rem);
  line-height: 1.15;
  color: #20130f;
  margin-bottom: 0.75rem;
}

.isl-hero-lead {
  font-size: 0.96rem;
  color: #5f4b38;
  margin-bottom: 0.35rem;
}

.isl-hero-meta {
  font-size: 0.88rem;
  color: #7a624b;
}

/* Generic sections */

.isl-section {
  padding-block: 2.2rem;
}

.isl-section-inner {
  max-width: 860px;
}

.isl-section + .isl-section {
  border-top: 1px solid rgba(199, 166, 131, 0.25);
}

.isl-section-title {
  font-size: 1.15rem;
  margin-bottom: 0.7rem;
  color: #20130f;
}

.isl-section-text {
  font-size: 0.9rem;
  line-height: 1.6;
  color: #634f3c;
  margin-bottom: 0.7rem;
}

.isl-section-text:last-child {
  margin-bottom: 0;
}

.isl-list {
  margin: 0 0 0.7rem 1.1rem;
  padding: 0;
  font-size: 0.9rem;
  color: #634f3c;
}

.isl-list li + li {
  margin-top: 0.25rem;
}

/* Columns block (used on privacy page) */

.isl-columns {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 0.75rem;
}

.isl-col-card {
  padding: 0.85rem 0.9rem;
  border-radius: 18px;
  background: rgba(250, 239, 228, 0.9);
  border: 1px solid rgba(195, 163, 129, 0.45);
  box-shadow: 0 16px 32px rgba(0, 0, 0, 0.06);
}

.isl-col-title {
  font-size: 0.92rem;
  margin-bottom: 0.35rem;
  color: #3c2d21;
}

/* Contact list */

.isl-contact-list {
  margin: 0.25rem 0 0;
  padding-left: 1.1rem;
  font-size: 0.9rem;
  color: #634f3c;
}

.isl-contact-list li + li {
  margin-top: 0.25rem;
}

/* Footer */

.iss-footer {
  margin-top: 2.5rem;
}

/* Basic responsive tweaks */

@media (max-width: 960px) {
  .isl-hero {
    border-radius: 0 0 24px 24px;
  }

  .isl-columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .isl-main {
    padding-top: var(--iss-header-offset-mobile, 72px);
  }

  .isl-hero {
    padding-block: 2.8rem 1.7rem;
  }

  .isl-columns {
    grid-template-columns: minmax(0, 1fr);
  }

  .isl-section {
    padding-block: 1.7rem;
  }
}
