/* === Solutio Page Components === */
/* Reusable sc-* classes for styled Joomla article pages. */

/* PAGE WRAPPER */
.sc-page { font-family: 'Lato', sans-serif; color: #333; }

/* PERSON CARD — navy banner with circular avatar and info block */
.sc-card {
  display: flex; align-items: center; gap: 1.75rem;
  background: rgb(23, 73, 144); color: #fff; border-radius: 10px;
  padding: 2rem 2.25rem; margin-bottom: 2.5rem;
  box-shadow: 0 4px 18px rgba(23, 73, 144, 0.22);
}
.sc-card-avatar {
  flex-shrink: 0; width: 88px; height: 88px; border-radius: 50%;
  background: rgb(176, 200, 233); color: rgb(23, 73, 144);
  font-family: 'EB Garamond', serif; font-size: 2rem; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
  border: 3px solid rgba(255, 255, 255, 0.4); letter-spacing: 0.05em;
}
.sc-card-name {
  font-family: 'EB Garamond', serif !important; font-size: 1.85rem !important;
  color: #fff !important; margin: 0 0 0.2rem 0 !important;
  line-height: 1.2 !important; border: none !important;
}
.sc-card-role { font-size: 0.95rem; opacity: 0.85; font-style: italic; margin: 0 0 0.6rem 0; }
.sc-card-contact { font-size: 0.9rem; margin: 0; }
.sc-card-contact a { color: rgb(176, 200, 233); text-decoration: none; transition: color 0.2s; }
.sc-card-contact a:hover { color: #fff; text-decoration: underline; }

/* PROSE — body text section */
.sc-prose p { font-size: 1.05rem; line-height: 1.8; margin-bottom: 1.25rem; color: #2d2d2d; }
.sc-opener { font-size: 1.15rem !important; font-weight: 400; }

/* PULL QUOTE */
.sc-pullquote {
  position: relative; font-family: 'EB Garamond', serif;
  font-size: 1.5rem; font-style: italic; line-height: 1.55;
  color: rgb(23, 73, 144); padding: 1.75rem 2rem 1.75rem 3.5rem; margin: 2rem 0;
  background: rgb(240, 234, 214); border-left: 5px solid rgb(23, 73, 144);
  border-radius: 0 8px 8px 0; border-top: none; border-right: none; border-bottom: none;
}
.sc-pullquote::before {
  content: '\201C'; position: absolute; top: -0.5rem; left: 0.6rem;
  font-size: 5.5rem; line-height: 1; color: rgba(23, 73, 144, 0.18);
  font-family: 'EB Garamond', serif; font-style: normal;
}

/* PILLAR GRID — 2–4 equal columns, wraps on mobile */
.sc-pillars { display: flex; gap: 1.25rem; margin: 2.5rem 0; flex-wrap: wrap; }
.sc-pillar {
  flex: 1 1 160px; background: #fff; border: 2px solid rgb(176, 200, 233);
  border-radius: 10px; padding: 1.75rem 1.25rem; text-align: center;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06); transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.sc-pillar:hover { transform: translateY(-5px); box-shadow: 0 10px 28px rgba(23, 73, 144, 0.14); }
.sc-pillar-icon {
  width: 58px; height: 58px; border-radius: 50%;
  background: rgb(23, 73, 144); color: #fff;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 1rem auto;
}
.sc-pillar-icon i { font-size: 1.45rem; }
.sc-pillar h3 { font-family: 'EB Garamond', serif; font-size: 1.4rem; color: rgb(23, 73, 144); margin: 0 0 0.5rem 0; }
.sc-pillar p { font-size: 0.9rem; line-height: 1.6; color: #555; margin: 0; }
.sc-pillars .sc-pillar:nth-child(2) { transition-delay: 0.12s; }
.sc-pillars .sc-pillar:nth-child(3) { transition-delay: 0.24s; }
.sc-pillars .sc-pillar:nth-child(4) { transition-delay: 0.36s; }

/* SIGNATURE */
.sc-signature { margin-top: 2.5rem; padding-top: 1.75rem; border-top: 2px solid rgb(240, 234, 214); }
.sc-closing-line { font-family: 'EB Garamond', serif; font-size: 1.15rem; font-style: italic; color: #666; margin-bottom: 0.15rem; }
.sc-sig-name { font-family: 'EB Garamond', serif; font-size: 1.7rem; font-weight: 700; color: rgb(23, 73, 144); margin-bottom: 0.1rem; }
.sc-sig-role { font-size: 0.95rem; color: #666; margin-bottom: 0.5rem; }
.sc-sig-contact { font-size: 0.95rem; color: #555; margin: 0; }
.sc-sig-contact a { color: rgb(23, 73, 144); text-decoration: none; transition: color 0.2s; }
.sc-sig-contact a:hover { text-decoration: underline; }

/* SCROLL FADE-IN — add sc-animate to any block element */
.sc-animate { opacity: 0; transform: translateY(24px); transition: opacity 0.65s ease, transform 0.65s ease; }
.sc-animate.sc-in { opacity: 1; transform: translateY(0); }

/* MOBILE */
@media (max-width: 700px) {
  .sc-card { flex-direction: column; text-align: center; padding: 1.5rem; gap: 1rem; }
  .sc-pullquote { font-size: 1.3rem; padding: 1.5rem 1.25rem 1.5rem 2.5rem; }
  .sc-pillars { flex-direction: column; }
  .sc-pillar { flex: 1 1 100%; }
}
