/* Kalisterre — Titres de pages v1.0.1: soft connection to header, clearer content spacing. */
.kalisterre-pt,
.kalisterre-pt * { box-sizing: border-box; }
.kalisterre-pt {
  position: relative;
  z-index: 1;
  clear: both;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: clamp(18px,2.2vw,27px) clamp(16px,3vw,36px) clamp(46px,3.6vw,58px);
  border: 0;
  background: radial-gradient(ellipse 58% 72% at 50% 42%, rgba(198,234,211,.20) 0%, rgba(246,252,248,.06) 76%, transparent 100%),
              linear-gradient(180deg, #fff 0%, #fbfdfb 42%, #fff 100%);
  text-align: center;
  color: #195c44;
}
.kalisterre-pt__inner { width:100%; max-width: 1160px; margin: 0 auto; }
.kalisterre-pt .kalisterre-pt__title {
  padding: 0;
  margin: 0;
  border: 0;
  font-family: inherit;
  font-size: clamp(25px,2.3vw,35px);
  font-weight: 650;
  line-height: 1.23;
  letter-spacing: -.015em;
  color: #15815b;
  text-align:center;
  text-transform:none;
}
.kalisterre-pt__rule {
  display: block;
  width: 74px;
  height: 3px;
  margin: 13px auto 0;
  border-radius: 6px;
  background: linear-gradient(90deg,#58bc91,#008d61,#58bc91);
}
.kalisterre-pt .kalisterre-pt__subtitle {
  color: #60756b;
  font-family:inherit;
  font-size:clamp(14px,1.15vw,16px);
  line-height: 1.55;
  max-width:850px;
  margin: 12px auto 0;
  text-align:center;
}
@media(max-width:600px) {
  .kalisterre-pt { padding: 17px 16px 38px; }
  .kalisterre-pt .kalisterre-pt__title { font-size:clamp(23px,5.5vw,29px); }
  .kalisterre-pt__rule { margin-top:10px; }
}
