/* Homepage Master-Mnemosine — sezione introduttiva centralizzata v0.6.220 */
.ct25-brand-intro.ct25-brand-intro--central {
  --ct25-home-blue: #1b5cce;
  --ct25-home-navy: #062b71;
  width: 100%;
  margin: clamp(24px, 3.5vw, 48px) auto;
  padding: 0 clamp(14px, 2.2vw, 24px);
  box-sizing: border-box;
  background: transparent;
}
.ct25-brand-intro--central, .ct25-brand-intro--central * { box-sizing: border-box; }
.ct25-brand-intro--central .ct25-brand-intro__wrap {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.43fr) minmax(0, .87fr);
  gap: clamp(16px, 2.7vw, 34px);
  align-items: stretch;
  width: 100%; max-width: 1160px; margin: 0 auto;
  padding: clamp(22px, 3vw, 40px);
  overflow: hidden;
  background: linear-gradient(120deg, #fff 0%, #fff 48%, #f2f7ff 100%);
  border: 1px solid #d8e6fa;
  border-radius: 24px;
  box-shadow: 0 12px 36px rgba(6, 43, 113, .07);
}
.ct25-brand-intro--central .ct25-brand-intro__wrap::before {
  content: ''; position: absolute; inset: 0 auto 0 0; width: 5px;
  background: linear-gradient(180deg, #1b5cce, #062b71);
}
.ct25-brand-intro--central .ct25-brand-intro__main { min-width: 0; align-self: center; }
.ct25-brand-intro--central .ct25-brand-intro__eyebrow {
  display: inline-flex; align-items: center; gap: 9px;
  margin-bottom: 12px; color: #1952a8;
  font-weight: 800; font-size: 12px; line-height: 1.5;
  letter-spacing: .095em; text-transform: uppercase;
}
.ct25-brand-intro--central .ct25-brand-intro__eyebrow-dot {
  width: 9px; height: 9px; flex: 0 0 9px; border-radius: 50%;
  background: #1b5cce; box-shadow: 0 0 0 4px #e6efff;
}
.ct25-brand-intro--central h2#ct25-brand-intro-title {
  margin: 0 0 15px; color: #092d6b;
  font-size: clamp(25px, 2.45vw, 33px); font-weight: 800;
  line-height: 1.2; letter-spacing: -.025em;
  text-align: left;
}
.ct25-brand-intro--central .ct25-brand-intro__lead {
  margin: 0; color: #344766; font-size: 15.5px; line-height: 1.75;
  font-weight: 400; text-align: left; overflow-wrap: anywhere;
}
.ct25-brand-intro--central .ct25-brand-intro__topics {
  display: flex; flex-wrap: wrap; gap: 8px; margin-top: 19px;
}
.ct25-brand-intro--central .ct25-brand-intro__topics > span {
  display: inline-flex; align-items: center; padding: 6px 11px;
  border: 1px solid #dae6fa; border-radius: 999px;
  background: #f3f7ff; color: #1d4a92;
  font-size: 12px; line-height: 1.4; font-weight: 700;
}
.ct25-brand-intro--central .ct25-brand-intro__support {
  position: relative; isolation: isolate; min-width: 0;
  display: flex; flex-direction: column; justify-content: center;
  padding: clamp(20px, 2.5vw, 30px);
  border-radius: 19px;
  background: linear-gradient(135deg, #1b5cce 0%, #093d93 55%, #062b71 100%);
  color: #fff; overflow: hidden;
  box-shadow: 0 9px 23px rgba(9, 61, 147, .16);
}
.ct25-brand-intro--central .ct25-brand-intro__support::after {
  content: ''; z-index: -1; position: absolute; width: 210px; height: 210px;
  top: -126px; right: -90px; border-radius: 50%;
  border: 38px solid rgba(255,255,255,.075);
}
.ct25-brand-intro--central .ct25-brand-intro__support-heading {
  display: flex; align-items: center; gap: 11px;
  margin: 0 0 12px; color: #fff;
  font-size: 17px; line-height: 1.35; font-weight: 800;
}
.ct25-brand-intro--central .ct25-brand-intro__support-icon {
  display: inline-grid; place-items: center; flex: 0 0 34px;
  width: 34px; height: 34px; border-radius: 11px;
  background: rgba(255,255,255,.18); color: #fff; font-size: 20px;
}
.ct25-brand-intro--central .ct25-brand-intro__support p {
  margin: 0 0 14px; color: #f0f6ff;
  font-size: 14px; line-height: 1.75; text-align: left;
}
.ct25-brand-intro--central .ct25-brand-intro__contact {
  align-self: flex-start; display: inline-flex; align-items: center; gap: 7px;
  color: #fff; text-decoration: underline; text-underline-offset: 4px;
  font-size: 13.5px; font-weight: 800; line-height: 1.6;
}
.ct25-brand-intro--central .ct25-brand-intro__contact:hover,
.ct25-brand-intro--central .ct25-brand-intro__contact:focus-visible { color: #dceaff; }
.ct25-brand-intro--central .ct25-brand-intro__contact:focus-visible {
  outline: 2px solid #fff; outline-offset: 4px; border-radius: 3px;
}
@media (max-width: 760px) {
  .ct25-brand-intro--central .ct25-brand-intro__wrap {
    grid-template-columns: minmax(0,1fr); gap: 20px; border-radius: 20px;
  }
  .ct25-brand-intro--central .ct25-brand-intro__support { border-radius: 15px; }
  .ct25-brand-intro--central h2#ct25-brand-intro-title { font-size: clamp(23px, 5vw, 28px); }
}
@media (max-width: 480px) {
  .ct25-brand-intro.ct25-brand-intro--central { padding: 0 12px; margin: 22px auto; }
  .ct25-brand-intro--central .ct25-brand-intro__wrap { padding: 22px 19px; }
  .ct25-brand-intro--central .ct25-brand-intro__lead { font-size: 14.5px; line-height: 1.72; }
  .ct25-brand-intro--central .ct25-brand-intro__topics { gap: 7px; }
  .ct25-brand-intro--central .ct25-brand-intro__topics > span { font-size: 11.5px; }
  .ct25-brand-intro--central .ct25-brand-intro__support p { font-size: 13.5px; }
}
