/* =====================================================================
   IMS Global — styles for the inner content pages
   (about, blog, contact, and the 5 service brochure pages)
   Theme primary color: #f6b138
   ===================================================================== */

.ims-page { color: #3a4047; }

/* ---- Hero / page banner ---- */
.ims-hero {
  background: linear-gradient(135deg, #1b2a38 0%, #2c3e50 100%);
  color: #fff;
  text-align: center;
  padding: 170px 0 70px;
}
.ims-hero .ims-kicker {
  display: inline-block;
  color: #f6b138;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-size: 13px;
  margin-bottom: 14px;
}
.ims-hero h1 {
  color: #fff;
  font-size: 40px;
  line-height: 1.2;
  margin: 0 0 16px;
}
.ims-hero .ims-lead {
  max-width: 840px;
  margin: 0 auto;
  color: #d4dae0;
  font-size: 16px;
  line-height: 1.75;
}

/* ---- Generic content section ---- */
.ims-section { padding: 64px 0; }
.ims-section.alt { background: #f6f8fa; }
.ims-section.dark { background: #1b2a38; color: #d4dae0; }
.ims-section.dark h2 { color: #fff; }

.ims-section-head { text-align: center; max-width: 760px; margin: 0 auto 44px; }
.ims-section-head h2 { font-size: 30px; margin: 0 0 12px; }
.ims-section-head .ims-rule {
  width: 60px; height: 3px; background: #f6b138;
  margin: 14px auto 16px; border-radius: 2px;
}
.ims-section-head p { color: #7b838d; font-size: 16px; line-height: 1.7; margin: 0; }

/* ---- Card grid ---- */
.ims-grid { display: flex; flex-wrap: wrap; margin: -12px; }
.ims-col-2 .ims-card { flex: 1 1 calc(50% - 24px); }
.ims-col-3 .ims-card { flex: 1 1 calc(33.333% - 24px); }
.ims-col-4 .ims-card { flex: 1 1 calc(25% - 24px); }

.ims-card {
  margin: 12px;
  background: #fff;
  border: 1px solid #eceef1;
  border-radius: 8px;
  padding: 28px;
  box-shadow: 0 2px 10px rgba(0,0,0,.04);
  transition: transform .2s ease, box-shadow .2s ease;
  min-width: 240px;
}
.ims-card:hover { transform: translateY(-4px); box-shadow: 0 12px 28px rgba(0,0,0,.10); }
.ims-card .ims-ico { color: #f6b138; font-size: 34px; margin-bottom: 16px; display: block; }
.ims-card h3 { font-size: 19px; margin: 0 0 12px; color: #25303b; }
.ims-card p { color: #5f6772; font-size: 14.5px; line-height: 1.65; margin: 0; }
.ims-card ul { padding-left: 18px; margin: 0; color: #5f6772; font-size: 14px; line-height: 1.75; }
.ims-card ul li { margin-bottom: 4px; }

/* Linked card */
a.ims-card { display: block; text-decoration: none; color: inherit; }
a.ims-card .ims-more { color: #f6b138; font-weight: 700; font-size: 13px; letter-spacing: .5px; }

/* ---- Tag / chip lists ---- */
.ims-tags { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; }
.ims-tags li {
  background: #fff3df; color: #a9700a;
  border-radius: 20px; padding: 6px 15px; margin: 5px;
  font-size: 13.5px; font-weight: 600;
}
.ims-section.dark .ims-tags li { background: rgba(246,177,56,.15); color: #f6b138; }

/* ---- Definition / standards list ---- */
.ims-deflist { margin: 0; padding: 0; list-style: none; }
.ims-deflist li {
  padding: 12px 0 12px 26px; position: relative;
  border-bottom: 1px solid #edf0f2; font-size: 14.5px; line-height: 1.6; color: #4a525c;
}
.ims-deflist li:before {
  content: "\f00c"; font-family: FontAwesome; color: #f6b138;
  position: absolute; left: 0; top: 12px; font-size: 13px;
}
.ims-deflist li strong { color: #25303b; }

/* ---- Stats / key figures ---- */
.ims-stats { display: flex; flex-wrap: wrap; text-align: center; margin: -16px; }
.ims-stats .ims-stat { flex: 1 1 160px; margin: 16px; }
.ims-stats .ims-num { font-size: 40px; font-weight: 700; color: #f6b138; line-height: 1; }
.ims-stats .ims-lbl { display: block; margin-top: 8px; font-size: 14px; color: #7b838d; }
.ims-section.dark .ims-stats .ims-lbl { color: #b8c0c9; }

/* ---- People grid ---- */
.ims-people { display: flex; flex-wrap: wrap; margin: -12px; }
.ims-person { flex: 1 1 200px; margin: 12px; text-align: center; background:#fff; border:1px solid #eceef1; border-radius:8px; padding:24px 16px; }
.ims-person .ims-avatar {
  width: 72px; height: 72px; border-radius: 50%; margin: 0 auto 14px;
  background: #1b2a38; color: #f6b138; font-size: 26px; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
}
.ims-person h4 { margin: 0 0 4px; font-size: 16px; color: #25303b; }
.ims-person span { font-size: 13px; color: #7b838d; }

/* ---- Blog ---- */
.ims-posts { display: flex; flex-wrap: wrap; margin: -14px; }
.ims-post { flex: 1 1 340px; margin: 14px; background:#fff; border:1px solid #eceef1; border-radius:8px; overflow:hidden; box-shadow:0 2px 10px rgba(0,0,0,.04); transition:.2s; }
.ims-post:hover { box-shadow:0 12px 28px rgba(0,0,0,.10); transform: translateY(-4px); }
.ims-post .ims-thumb { height: 200px; background-size: cover; background-position: center; }
.ims-post .ims-post-body { padding: 24px; }
.ims-post .ims-date { font-size: 12.5px; color: #f6b138; text-transform: uppercase; letter-spacing: 1px; font-weight:600; }
.ims-post h3 { font-size: 20px; margin: 8px 0 10px; color:#25303b; }
.ims-post p { color: #5f6772; font-size: 14.5px; line-height: 1.65; margin: 0; }

/* ---- Contact ---- */
.ims-contact-wrap { display: flex; flex-wrap: wrap; margin: -16px; }
.ims-contact-form, .ims-contact-info { margin: 16px; }
.ims-contact-form { flex: 2 1 420px; }
.ims-contact-info { flex: 1 1 280px; }
.ims-contact-form .form-control,
.ims-contact-form input, .ims-contact-form textarea {
  width: 100%; padding: 13px 15px; margin-bottom: 16px;
  border: 1px solid #d8dde2; border-radius: 6px; font-size: 15px; font-family: inherit; background:#fff;
}
.ims-contact-form textarea { min-height: 150px; resize: vertical; }
.ims-btn {
  display: inline-block; background: #f6b138; color: #1b2a38; border: none;
  padding: 14px 34px; border-radius: 6px; font-weight: 700; letter-spacing: .5px;
  cursor: pointer; font-size: 15px; text-decoration: none; transition: background .2s;
}
.ims-btn:hover { background: #e0a02c; color: #1b2a38; }
.ims-contact-info ul { list-style: none; padding: 0; margin: 0; }
.ims-contact-info li { padding: 10px 0 10px 30px; position: relative; color: #4a525c; line-height: 1.6; }
.ims-contact-info li i { position: absolute; left: 0; top: 12px; color: #f6b138; font-size: 16px; }

/* ---- Back / breadcrumb ---- */
.ims-back { display:inline-block; margin-top: 22px; color:#f6b138; font-weight:600; text-decoration:none; font-size:14px; }
.ims-back:hover { color:#e0a02c; }

/* ---- Two-column prose ---- */
.ims-prose p { font-size: 15.5px; line-height: 1.8; color: #4a525c; }
.ims-prose h3 { font-size: 22px; margin: 28px 0 12px; color:#25303b; }

/* ---- Responsive ---- */
@media (max-width: 991px) {
  .ims-col-3 .ims-card, .ims-col-4 .ims-card { flex: 1 1 calc(50% - 24px); }
  .ims-hero h1 { font-size: 32px; }
}
@media (max-width: 600px) {
  .ims-col-2 .ims-card, .ims-col-3 .ims-card, .ims-col-4 .ims-card { flex: 1 1 100%; }
  .ims-hero { padding: 140px 0 50px; }
}
