/* Site-wide layout + inner pages (loads after tracesense-industrial.css) */
body.ts-mes .page-wrapper {
  background: linear-gradient(180deg, #f4f6f9 0%, #fafbfc 8%, #ffffff 18%);
  min-height: 100vh;
}

/* —— Page title band (all inner pages) —— */
.ts-mes .page-title {
  position: relative;
  padding: 68px 0 80px;
  min-height: 0;
  overflow: hidden;
  background: linear-gradient(125deg, #0c1828 0%, #152d4a 42%, #1e3d5c 78%, #9a1a0f 220%);
  border-bottom: 1px solid rgba(12, 18, 32, 0.2);
}

.ts-mes .page-title::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.035) 0 1px, transparent 1px 52px),
    repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.02) 0 1px, transparent 1px 44px);
  opacity: 0.4;
  pointer-events: none;
}

.ts-mes .page-title .auto-container {
  position: relative;
  z-index: 2;
}

.ts-mes .page-title .title {
  font-size: clamp(1.85rem, 3.5vw, 2.75rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.15;
  margin-bottom: 14px;
  color: #ffffff;
}

.ts-mes .page-breadcrumb {
  margin-top: 0;
}

.ts-mes .page-breadcrumb li {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.78);
  font-family: var(--ts-font-mono, "IBM Plex Mono", monospace);
}

.ts-mes .page-breadcrumb li a {
  color: rgba(255, 255, 255, 0.92);
}

.ts-mes .page-breadcrumb li a:hover {
  color: #ffffff;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* —— Content sections rhythm —— */
.ts-mes .features-section,
.ts-mes .about-section,
.ts-mes .about-section-six,
.ts-mes .contact-details,
.ts-mes .services-details,
.ts-mes .services-section,
.ts-mes .team-section,
.ts-mes .faq-section,
.ts-mes .pricing-section {
  position: relative;
}

.ts-mes .features-section {
  background: #ffffff;
  border-top: 1px solid var(--ts-line, rgba(12, 18, 32, 0.08));
}

.ts-mes .about-section-six {
  background: linear-gradient(180deg, #ffffff 0%, #f6f8fb 100%);
}

/* About page — module grid (uses homepage strip styles + spacing for centered intro) */
.ts-mes .services-section-four.ts-about-modules .sec-title {
  margin-bottom: 48px;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}

.ts-mes .about-section-six.ts-about-story {
  border-top: 1px solid var(--ts-line, rgba(12, 18, 32, 0.08));
}

/* About — Managing Director quote (FMS-style band) */
.ts-mes .ts-about-founder-quote {
  position: relative;
  padding: 88px 0 96px;
  overflow: hidden;
  background: linear-gradient(128deg, #0b1522 0%, #152d4a 48%, #122030 100%);
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.ts-mes .ts-about-founder-quote::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.04) 0 1px, transparent 1px 56px),
    repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.025) 0 1px, transparent 1px 44px);
  opacity: 0.35;
  pointer-events: none;
}

.ts-mes .ts-about-founder-quote::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: linear-gradient(180deg, var(--theme-color1, #df2313) 0%, #9a1a0f 100%);
  pointer-events: none;
}

.ts-mes .ts-founder-quote {
  position: relative;
  z-index: 1;
  max-width: 820px;
  margin: 0 auto;
  padding-left: 28px;
}

@media (max-width: 575px) {
  .ts-mes .ts-founder-quote {
    padding-left: 20px;
  }
}

.ts-mes .ts-founder-quote__label {
  font-family: var(--ts-font-mono, "IBM Plex Mono", monospace);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
  margin: 0 0 20px;
}

.ts-mes .ts-founder-quote__body {
  position: relative;
  margin: 8px 0 28px;
  padding: 4px 0 0;
  border: none;
  font-size: clamp(1.05rem, 1.9vw, 1.25rem);
  line-height: 1.65;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.94);
  letter-spacing: -0.01em;
}

.ts-mes .ts-founder-quote__body::before {
  content: "\201C";
  position: absolute;
  left: -4px;
  top: -6px;
  font-size: 3.5rem;
  line-height: 1;
  color: rgba(223, 35, 19, 0.28);
  font-family: Georgia, "Times New Roman", serif;
  pointer-events: none;
}

.ts-mes .ts-founder-quote__body p {
  margin: 0;
}

.ts-mes .ts-founder-quote__footer {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px 16px;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.ts-mes .ts-founder-quote__name {
  font-family: var(--title-font, "Outfit", sans-serif);
  font-size: 1.1rem;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: -0.02em;
}

.ts-mes .ts-founder-quote__role {
  font-family: var(--ts-font-mono, "IBM Plex Mono", monospace);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
}

@media (max-width: 767px) {
  .ts-mes .ts-about-founder-quote {
    padding: 56px 0 64px;
  }
}

/* About page — team (calmer background, less busy pattern) */
.ts-mes .team-section-two.ts-about-team {
  padding-top: 96px;
  padding-bottom: 96px;
  background: linear-gradient(180deg, #f4f6f9 0%, #ffffff 55%);
  border-top: 1px solid var(--ts-line, rgba(12, 18, 32, 0.08));
}

.ts-mes .team-section-two.ts-about-team::before {
  opacity: 0.1;
  margin-top: 0;
  min-height: 120%;
  background-size: auto;
}

.ts-mes .team-section-two.ts-about-team .sec-title h2 {
  margin-top: 12px;
}

.ts-mes .contact-details {
  padding-top: 88px;
  padding-bottom: 100px;
  background: linear-gradient(180deg, #f8fafc 0%, #ffffff 35%);
  border-top: 1px solid var(--ts-line, rgba(12, 18, 32, 0.08));
}

.ts-mes .contact-details .container {
  max-width: 1200px;
}

.ts-mes .contact-details .form-control {
  border-radius: 4px;
  border: 1px solid rgba(12, 18, 32, 0.12);
  padding: 12px 16px;
  font-size: 15px;
  -webkit-transition: border-color 0.2s ease, box-shadow 0.2s ease;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.ts-mes .contact-details .form-control:focus {
  border-color: rgba(223, 35, 19, 0.45);
  -webkit-box-shadow: 0 0 0 3px rgba(223, 35, 19, 0.12);
  box-shadow: 0 0 0 3px rgba(223, 35, 19, 0.12);
  outline: none;
}

.ts-mes .services-details {
  padding-top: 88px;
  padding-bottom: 100px;
  background: linear-gradient(180deg, #f4f6f9 0%, #fafbfc 40%, #ffffff 100%);
  border-top: 1px solid var(--ts-line, rgba(12, 18, 32, 0.08));
}

.ts-mes .services-details .container {
  max-width: 1200px;
}

.ts-mes .service-sidebar .service-list ul {
  border-radius: 4px;
  border: 1px solid var(--ts-line, rgba(12, 18, 32, 0.1));
  overflow: hidden;
  background: #ffffff;
  -webkit-box-shadow: 0 8px 28px rgba(12, 18, 32, 0.05);
  box-shadow: 0 8px 28px rgba(12, 18, 32, 0.05);
}

.ts-mes .service-sidebar .service-list li a {
  border-bottom: 1px solid rgba(12, 18, 32, 0.06);
}

.ts-mes .service-sidebar .service-list li:last-child a {
  border-bottom: none;
}

.ts-mes .services-details__content .rich-text,
.ts-mes .services-details__content .rich-text p {
  font-size: 17px;
  line-height: 1.65;
  color: var(--ts-ink, #0c1220);
}

.ts-mes .services-details__content .rich-text h2,
.ts-mes .services-details__content .rich-text h3,
.ts-mes .services-details__content .rich-text h4 {
  letter-spacing: -0.02em;
  color: var(--ts-ink, #0c1220);
  margin-top: 1.25em;
}

/* —— Projects carousel —— */
.ts-mes .project-section.style-two {
  padding-top: 96px;
  padding-bottom: 72px;
}

.ts-mes .project-section .sec-title.light .sub-title {
  font-family: var(--ts-font-mono, "IBM Plex Mono", monospace);
  letter-spacing: 0.14em;
}

/* —— Testimonials —— */
.ts-mes .testimonial-section-four {
  padding-top: 88px;
}

.ts-mes .testimonial-block-four .inner-box {
  background: #fafbfc;
}

/* —— Clients strip —— */
.ts-mes .clients-section {
  padding-top: 72px;
  padding-bottom: 80px;
}

/* —— Modules listing page —— */
.ts-mes .services-section-four.ts-modules-listing {
  position: relative;
  padding-top: 96px;
  padding-bottom: 96px;
  background: linear-gradient(180deg, #eef1f6 0%, #f6f8fb 50%, #ffffff 100%);
}

.ts-mes .services-section-four.ts-modules-listing::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    repeating-linear-gradient(90deg, rgba(12, 18, 32, 0.03) 0 1px, transparent 1px 56px);
  opacity: 0.5;
  pointer-events: none;
}

.ts-mes .services-section-four.ts-modules-listing .auto-container {
  position: relative;
  z-index: 1;
}

.ts-mes .services-section-four.ts-modules-listing .sec-title.light h2 {
  letter-spacing: -0.02em;
}

/* —— News / generic lists —— */
.ts-mes .blog-grid,
.ts-mes .news-section,
.ts-mes .ts-news-page {
  padding-top: 88px;
  padding-bottom: 96px;
  background: #ffffff;
  border-top: 1px solid var(--ts-line, rgba(12, 18, 32, 0.08));
}

.ts-mes .ts-news-page .sec-title .text {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}

/* —— Blog post —— */
.ts-mes .ts-blog-details {
  padding-top: 88px;
  padding-bottom: 96px;
  background: #ffffff;
  border-top: 1px solid var(--ts-line, rgba(12, 18, 32, 0.08));
}

.ts-mes .ts-blog-details .blog-details__content {
  font-size: 17px;
  line-height: 1.65;
  color: var(--ts-ink, #0c1220);
}

.ts-mes .ts-blog-details .blog-details__content h2,
.ts-mes .ts-blog-details .blog-details__content h3 {
  letter-spacing: -0.02em;
  margin-top: 1.35em;
}

/* —— Vacancies listing —— */
.ts-mes .ts-vacancies-page {
  padding-top: 88px;
  padding-bottom: 96px;
  background: #ffffff;
  border-top: 1px solid var(--ts-line, rgba(12, 18, 32, 0.08));
}

/* —— Projects index (inner page) —— */
.ts-mes .project-section.style-two.ts-projects-index {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

/* —— Scroll to top —— */
.ts-mes .scroll-to-top {
  border-radius: 4px;
  -webkit-box-shadow: 0 8px 24px rgba(12, 18, 32, 0.15);
  box-shadow: 0 8px 24px rgba(12, 18, 32, 0.15);
}

/* —— Reduce decorative clutter on inner pages —— */
.ts-mes .services-section-four .bg-image {
  opacity: 0.25;
}

@media (max-width: 767px) {
  .ts-mes .page-title {
    padding: 48px 0 56px;
  }

  .ts-mes .contact-details,
  .ts-mes .services-details {
    padding-top: 56px;
    padding-bottom: 64px;
  }
}
