/* ===== Solution detail pages ===== */

/* hero — same blue family as the home AI Solutions banner */
.sol-hero {
  background: linear-gradient(125deg, #234a76 0%, #35618d 48%, #7cc3cc 100%);
  color: #fff;
  margin-top: -78px;
  padding: calc(78px + clamp(34px, 4.5vw, 58px)) 0 clamp(30px, 4vw, 52px);
}
.sol-hero-eyebrow {
  display: inline-block; font-family: var(--ff-mono, monospace); font-size: 12px;
  letter-spacing: 0.16em; text-transform: uppercase; color: var(--lime);
  border: 1px solid rgba(198, 217, 54, 0.4); border-radius: 100px; padding: 6px 16px; margin-bottom: 20px;
}
.sol-hero-title {
  font-family: var(--ff-display); font-weight: 800; font-size: clamp(28px, 3.8vw, 48px);
  line-height: 1.1; letter-spacing: -0.02em; color: #fff; margin: 0 0 16px; max-width: 18ch;
}
.sol-hero-tagline { font-size: clamp(14.5px, 1.7vw, 18px); line-height: 1.55; color: rgba(255, 255, 255, 0.88); max-width: 56ch; margin: 0 0 22px; }
.sol-hero-actions { display: flex; gap: 14px; flex-wrap: wrap; }
.sol-hero-btn {
  display: inline-flex; align-items: center; background: #fff; color: var(--navy);
  font-weight: 600; font-size: 14px; padding: 14px 34px; border-radius: 100px;
  transition: background 0.3s var(--ease), color 0.3s, transform 0.3s var(--ease);
}
.sol-hero-btn:hover { background: var(--lime); color: var(--navy); transform: translateY(-2px); }
.sol-hero-btn.ghost { background: transparent; color: #fff; border: 1px solid rgba(255, 255, 255, 0.4); }
.sol-hero-btn.ghost:hover { border-color: var(--lime); color: var(--lime); background: transparent; }
.sol-hero-btn.lime { background: var(--lime); color: var(--navy); }
.sol-hero-btn.lime:hover { background: #fff; }

/* intro sentence — serif, like the home intro */
.sol-intro-sec { background: #fff; position: relative; z-index: 1; }
.sol-intro-txt {
  max-width: 62ch; margin: 0 auto; text-align: center;
  font-family: Georgia, "Times New Roman", serif; font-size: clamp(18px, 2.1vw, 27px);
  line-height: 1.45; color: #9a9385;
}

/* outcomes */
.sol-outcomes { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; max-width: 760px; }
.sol-outcomes li {
  display: flex; align-items: flex-start; gap: 14px;
  font-size: clamp(15px, 1.7vw, 19px); color: var(--navy); font-weight: 500; line-height: 1.5;
  background: #fff; border: 1px solid rgba(31, 46, 91, 0.1); border-radius: 14px; padding: 18px 22px;
}
.sol-check {
  flex: 0 0 auto; width: 26px; height: 26px; margin-top: 1px; display: grid; place-items: center;
  border-radius: 50%; background: var(--lime); color: var(--navy);
}
.sol-check svg { width: 14px; height: 14px; }

/* related cards */
.sol-rel-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.sol-rel-card {
  position: relative; display: block; padding: clamp(22px, 2.6vw, 32px); border-radius: 16px;
  background: #fff; border: 1px solid rgba(31, 46, 91, 0.1);
  transition: transform 0.3s var(--ease), box-shadow 0.3s var(--ease), border-color 0.3s;
}
.sol-rel-card:hover { transform: translateY(-4px); box-shadow: 0 24px 54px -30px rgba(31, 46, 91, 0.4); border-color: rgba(31, 46, 91, 0.2); }
.sol-rel-card h3 { font-family: var(--ff-display); font-weight: 700; font-size: clamp(17px, 1.9vw, 21px); color: var(--navy); margin: 0 0 8px; }
.sol-rel-card p { font-size: 14px; color: var(--fog); line-height: 1.5; margin: 0; }
.sol-rel-go { position: absolute; top: 20px; right: 22px; color: var(--lime); font-size: 20px; transition: transform 0.3s var(--ease); }
.sol-rel-card:hover .sol-rel-go { transform: translateX(4px); }

/* article cards on solution pages */
.sol-art-meta { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.sol-art-cat {
  font-family: var(--ff-display); font-size: 10.5px; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--lime-ink, #6f7d18); background: rgba(198, 217, 54, 0.16); padding: 5px 12px; border-radius: 100px;
}
.sol-art-read { font-family: var(--ff-mono, monospace); font-size: 12px; color: var(--fog); }
.sol-art-sec .sol-rel-card h3 { line-height: 1.35; padding-right: 26px; }

/* bottom CTA — navy band */
.sol-cta { background: linear-gradient(150deg, #1f2e5b, #16224a); color: #fff; padding: clamp(56px, 8vw, 100px) 0; }
.sol-cta-inner { text-align: center; display: grid; justify-items: center; }
.sol-cta-title { font-family: var(--ff-display); font-weight: 800; font-size: clamp(26px, 3.6vw, 44px); color: #fff; margin: 0 0 12px; letter-spacing: -0.02em; }
.sol-cta-sub { font-size: clamp(15px, 1.7vw, 18px); color: rgba(255, 255, 255, 0.78); max-width: 52ch; margin: 0 0 28px; }

@media (max-width: 860px) {
  .sol-rel-grid { grid-template-columns: 1fr; }
}

/* compact intro section on all solution pages */
.sol-intro-sec.section { padding-block: clamp(28px, 3.5vw, 48px); }
.sol-intro-txt { font-size: clamp(16px, 1.8vw, 22px); max-width: 68ch; }
