.tsc-main-logo,
.tsc-offcanvas-logo,
.tsc-footer-logo,
.tsc-preloader-logo {
  object-fit: contain;
}

/* Straightforward styles for template-based internal pages. */
.tsc-inner-body header.homepage2-body {
  position: relative;
  z-index: 10;
  height: 126px;
  background: #ffffff;
}

.tsc-inner-body header.homepage2-body .vl-header-area,
.tsc-inner-body header.homepage2-body .vl-header-content-area,
.tsc-inner-body header.homepage2-body .vl-header-content-area > .container,
.tsc-inner-body header.homepage2-body .vl-header-content-area > .container > .row {
  height: 126px;
}

.tsc-inner-body header.homepage2-body .vl-header-content-area {
  padding: 0;
  transform: translateY(-48px);
}

.tsc-inner-body header.homepage2-body .tsc-menu-icon-button,
.tsc-inner-body header.homepage2-body .tsc-explore-trigger {
  color: #034321;
}

.tsc-inner-body .homepage2-body .vl-header-action-item .tsc-menu-icon-button {
  border-color: #034321;
  color: #034321;
}

.tsc-inner-body .homepage2-body .tsc-menu-icon path {
  stroke: #034321;
}

.tsc-inner-body .homepage2-body .vl-transparent-header .vl-logo img.tsc-main-logo {
  width: 320px;
  max-width: 90%;
  height: 115px;
  object-fit: contain;
  transform: none;
}

.tsc-page { background: #fff; overflow: hidden; }
.tsc-page-banner {
  margin-top: 0;
  min-height: 480px;
  display: flex;
  align-items: flex-end;
  padding: 210px 0 80px;
  background: linear-gradient(90deg, rgba(3,67,33,.94), rgba(3,67,33,.62)), url('../tsc-img/banner-2.png') center/cover no-repeat;
}
.tsc-page-banner .inner-hero-info h2 { color: #fff; font-size: 64px; line-height: 1.1; }
.tsc-page-banner .inner-hero-info li,
.tsc-page-banner .inner-hero-info a { color: #fff; }
.tsc-page-image { height: 520px; overflow: hidden; border-radius: 8px; }
.tsc-page-image img { width: 100%; height: 100%; object-fit: cover; }
.tsc-page-copy { max-width: 570px; padding-left: 35px; }
.tsc-page-copy h3,
.tsc-title-center > h3 { color: #034321; font-size: 16px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; }
.tsc-page-copy h2,
.tsc-title-center > h2 { color: #092d1d; font-size: 48px; line-height: 1.15; }
.tsc-page-copy p,
.tsc-title-center > p,
.tsc-template-card p { color: #59685f; line-height: 1.75; }
.tsc-content-placeholder { padding: 14px 16px; border: 1px dashed #a9b6ad; border-radius: 5px; background: #f7f8f6; font-size: 14px; }
.tsc-simple-section { padding: 100px 0; background: #f4f6f1; }
.tsc-title-center { max-width: 760px; margin: 0 auto 45px; text-align: center; }
.tsc-template-card { height: 100%; padding: 32px; border: 1px solid #e0e7e2; border-radius: 8px; background: #fff; }
.tsc-template-card h3,
.tsc-product-card h3 { color: #092d1d; font-size: 24px; margin-bottom: 14px; }
.tsc-template-card a,
.tsc-product-card a { color: #034321; font-weight: 700; }
.tsc-product-card { height: 100%; overflow: hidden; border: 1px solid #e0e7e2; border-radius: 8px; background: #fff; }
.tsc-product-card > a { display: block; height: 290px; overflow: hidden; }
.tsc-product-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.tsc-product-card:hover img { transform: scale(1.04); }
.tsc-product-card .content { padding: 26px; }
.tsc-template-form { padding: 36px; border-radius: 8px; background: #f4f6f1; }
.tsc-template-form label { display: block; margin-bottom: 7px; color: #092d1d; font-weight: 700; }
.tsc-template-form input,
.tsc-template-form select,
.tsc-template-form textarea { width: 100%; padding: 13px 14px; border: 1px solid #d4ddd7; border-radius: 5px; background: #fff; }
.tsc-form-note { margin-top: 12px; font-size: 13px; }
.tsc-page-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.tsc-page-gallery button { position: relative; height: 330px; padding: 0; overflow: hidden; border: 0; border-radius: 8px; }
.tsc-page-gallery img { width: 100%; height: 100%; object-fit: cover; }
.tsc-page-gallery span { position: absolute; right: 15px; bottom: 15px; padding: 8px 14px; border-radius: 20px; color: #fff; background: rgba(3,67,33,.85); }
.tsc-page-lightbox { position: fixed; inset: 0; z-index: 999999; display: flex; align-items: center; justify-content: center; padding: 70px; background: rgba(0,20,10,.94); opacity: 0; visibility: hidden; }
.tsc-page-lightbox.is-open { opacity: 1; visibility: visible; }
.tsc-page-lightbox figure { max-width: 1100px; margin: 0; text-align: center; }
.tsc-page-lightbox figure img { max-width: 100%; max-height: 78vh; object-fit: contain; }
.tsc-page-lightbox figcaption { margin-top: 12px; color: #fff; }

@media (max-width: 991px) {
  .tsc-page-banner { min-height: 400px; padding: 175px 0 65px; }
  .tsc-page-banner .inner-hero-info h2 { font-size: 48px; }
  .tsc-page-copy { max-width: none; padding: 35px 0 0; }
  .tsc-page-copy h2, .tsc-title-center > h2 { font-size: 38px; }
  .tsc-page-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 575px) {
  .tsc-inner-body .homepage2-body .vl-transparent-header .vl-logo img.tsc-main-logo { width: 170px; height: 52px; }
  .tsc-page-banner { min-height: 340px; padding: 155px 0 50px; }
  .tsc-page-banner .inner-hero-info h2 { font-size: 38px; }
  .tsc-page-image { height: 340px; }
  .tsc-simple-section { padding: 65px 0; }
  .tsc-page-copy h2, .tsc-title-center > h2 { font-size: 32px; }
  .tsc-template-form { padding: 22px; }
  .tsc-page-gallery { grid-template-columns: 1fr; }
  .tsc-page-gallery button { height: 270px; }
  .tsc-page-lightbox { padding: 70px 12px 95px; }
}

/* ==========================================================
   COMPANY PROFILE PAGE
   ========================================================== */
.tsc-company-profile { overflow: hidden; background: #fff; color: #18372a; }
.tsc-profile-hero { position: relative; min-height: 690px; display: flex; align-items: flex-end; padding: 175px 0 85px; background: linear-gradient(90deg, rgba(0,48,29,.98) 0%, rgba(0,48,29,.88) 36%, rgba(0,48,29,.2) 76%), url('../tsc-img/company-profile-hero.png') center/cover no-repeat !important; }
.tsc-profile-hero::after { content: "TSC"; position: absolute; right: 4%; bottom: -35px; color: rgba(255,255,255,.055); font-size: clamp(130px, 19vw, 300px); line-height: .8; font-weight: 800; pointer-events: none; }
.tsc-profile-hero .container { position: relative; z-index: 1; }
.tsc-profile-hero .inner-hero-info h1 { color: #fff; font-size: clamp(54px, 7vw, 104px); line-height: .95; letter-spacing: -4px; margin: 15px 0 22px; }
.tsc-profile-hero .inner-hero-info > p { max-width: 720px; color: rgba(255,255,255,.83); font-size: 18px; line-height: 1.75; }
.tsc-profile-hero .inner-hero-info ul { margin-top: 30px; }
.tsc-profile-eyebrow, .tsc-profile-heading > span, .tsc-profile-section-head > div > span, .tsc-profile-cta-box > div > span { display: inline-flex; align-items: center; gap: 10px; color: #d9a725; font-size: 13px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; }
.tsc-profile-eyebrow::before, .tsc-profile-heading > span::before, .tsc-profile-section-head > div > span::before { content: ""; width: 28px; height: 2px; background: currentColor; }
.tsc-profile-download-wrap { display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
.tsc-profile-download { width: min(100%, 330px); min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border: 0; border-radius: 8px; padding: 18px 22px; background: #f4bd24; color: #063d27; text-align: left; cursor: pointer; transition: .3s ease; }
.tsc-profile-download:hover { color: #063d27; transform: translateY(-4px); box-shadow: 0 16px 35px rgba(0,0,0,.18); }
.tsc-profile-download span { font-size: 17px; font-weight: 700; line-height: 1.3; }
.tsc-profile-download strong { flex: 0 0 52px; height: 52px; display: grid; place-items: center; border-radius: 50%; background: #fff; font-size: 13px; }
.tsc-profile-download-wrap small { max-width: 330px; color: rgba(255,255,255,.65); text-align: right; }
.tsc-profile-breadcrumb { border-bottom: 1px solid #e1e7e3; background: #fff; }
.tsc-profile-breadcrumb nav { display: flex; align-items: center; gap: 12px; min-height: 70px; color: #738079; font-size: 14px; }
.tsc-profile-breadcrumb a { color: #1d583d; }
.tsc-profile-breadcrumb strong { color: #c18e08; font-weight: 700; }

.tsc-profile-heading h2, .tsc-profile-section-head h2 { color: #123b29; font-size: clamp(38px, 4.2vw, 62px); line-height: 1.08; letter-spacing: -2px; margin-top: 14px; }
.tsc-profile-intro p, .tsc-profile-section-head > p, .tsc-profile-network p { color: #597066; font-size: 17px; line-height: 1.8; }
.tsc-profile-intro .tsc-profile-lead { margin: 24px 0 12px; color: #18372a; font-size: 21px; font-weight: 600; }
.tsc-profile-collage { position: relative; min-height: 570px; margin-right: 45px; }
.tsc-profile-image-main { position: absolute; inset: 0 80px 65px 0; overflow: hidden; border-radius: 9px; }
.tsc-profile-image-main img, .tsc-profile-image-overlap img, .tsc-profile-network-image img { width: 100%; height: 100%; object-fit: cover; }
.tsc-profile-image-overlap { position: absolute; right: 0; bottom: 0; width: 48%; height: 270px; overflow: hidden; border: 10px solid #fff; border-radius: 9px; }
.tsc-profile-since { position: absolute; left: 24px; bottom: 25px; width: 128px; height: 128px; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 7px solid #fff; border-radius: 50%; background: #f4bd24; color: #063d27; }
.tsc-profile-since strong { font-size: 13px; letter-spacing: 1px; text-transform: uppercase; }
.tsc-profile-since span { font-size: 32px; font-weight: 800; line-height: 1.1; }
.tsc-profile-pill-row { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.tsc-profile-pill-row span { padding: 9px 15px; border: 1px solid #d8e1dc; border-radius: 50px; color: #1b563b; font-size: 13px; font-weight: 700; }

.tsc-profile-at-glance { background: #f4bd24; }
.tsc-profile-glance-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.tsc-profile-glance-grid article { position: relative; min-height: 190px; padding: 42px 30px; border-right: 1px solid rgba(6,61,39,.18); }
.tsc-profile-glance-grid article:last-child { border-right: 0; }
.tsc-profile-glance-grid article > span { position: absolute; right: 18px; top: 12px; color: rgba(6,61,39,.15); font-size: 54px; font-weight: 800; }
.tsc-profile-glance-grid small { display: block; margin-bottom: 12px; color: rgba(6,61,39,.7); font-size: 12px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; }
.tsc-profile-glance-grid h3 { color: #063d27; font-size: 28px; line-height: 1.2; }

.tsc-profile-purpose, .tsc-profile-business { background: #f7f5ef; }
.tsc-profile-section-head { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 45px; }
.tsc-profile-section-head > p { max-width: 500px; }
.tsc-purpose-card { position: relative; min-height: 365px; padding: 42px 38px; overflow: hidden; border: 1px solid #dfe5e1; border-radius: 8px; background: #fff; }
.tsc-purpose-card .tsc-card-number { display: grid; place-items: center; width: 50px; height: 50px; margin-bottom: 75px; border: 1px solid #bdd0c5; border-radius: 50%; color: #176040; font-weight: 700; }
.tsc-purpose-card h3 { color: #123b29; font-size: 30px; margin-bottom: 18px; }
.tsc-purpose-card p { color: #64766d; line-height: 1.75; }
.tsc-purpose-card-dark { border-color: #063d27; background: #063d27; }
.tsc-purpose-card-dark h3, .tsc-purpose-card-dark p { color: #fff; }
.tsc-purpose-card-dark p { color: rgba(255,255,255,.72); }
.tsc-purpose-card-dark .tsc-card-number { border-color: rgba(255,255,255,.35); color: #f4bd24; }
.tsc-purpose-card-gold { border-color: #f4bd24; background: #f4bd24; }
.tsc-purpose-card-gold .tsc-card-number { border-color: rgba(6,61,39,.3); }
.tsc-purpose-card-gold p { color: rgba(6,61,39,.75); }

.tsc-profile-values { background: #063d27; }
.tsc-profile-heading.light h2, .tsc-profile-values h3 { color: #fff; }
.tsc-profile-values .col-lg-5 > p { color: rgba(255,255,255,.66); line-height: 1.8; margin-top: 25px; }
.tsc-value-list article { display: grid; grid-template-columns: 72px 1fr; gap: 20px; padding: 25px 0; border-bottom: 1px solid rgba(255,255,255,.15); }
.tsc-value-list article:first-child { border-top: 1px solid rgba(255,255,255,.15); }
.tsc-value-list b { color: #f4bd24; font-size: 14px; }
.tsc-value-list h3 { font-size: 23px; margin-bottom: 7px; }
.tsc-value-list p { color: rgba(255,255,255,.62); line-height: 1.65; }

.tsc-business-card { position: relative; min-height: 315px; padding: 34px 28px; border-radius: 7px; background: #fff; box-shadow: 0 15px 45px rgba(18,59,41,.07); transition: .3s ease; }
.tsc-business-card:hover { transform: translateY(-6px); }
.tsc-business-card b { display: inline-block; margin-bottom: 75px; color: #d9a725; font-size: 42px; line-height: 1; }
.tsc-business-card h3 { color: #123b29; font-size: 23px; margin-bottom: 14px; }
.tsc-business-card p { color: #65776e; line-height: 1.7; }

.tsc-profile-portfolio { background: #fff; }
.tsc-profile-portfolio p { margin: 22px 0 26px; color: #63766c; font-size: 17px; line-height: 1.8; }
.tsc-portfolio-image { height: 680px; overflow: hidden; border-radius: 9px; }
.tsc-portfolio-image img { width: 100%; height: 100%; object-fit: cover; object-position: 62% center; }
.tsc-portfolio-list { border-top: 1px solid #dce5df; }
.tsc-portfolio-list a { display: grid; grid-template-columns: 42px 1fr 35px; align-items: center; gap: 15px; padding: 20px 0; border-bottom: 1px solid #dce5df; color: #143d2b; }
.tsc-portfolio-list a > b { color: #d5a018; font-size: 13px; }
.tsc-portfolio-list a > span { display: flex; flex-direction: column; gap: 3px; }
.tsc-portfolio-list strong { font-size: 18px; }
.tsc-portfolio-list small { color: #75847c; font-size: 13px; }
.tsc-portfolio-list i { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; background: #edf3ef; font-style: normal; transition: .25s ease; }
.tsc-portfolio-list a:hover i { background: #f4bd24; transform: rotate(45deg); }

.tsc-profile-strengths { background: #f7f5ef; }
.tsc-profile-strengths .tsc-profile-heading { max-width: 820px; margin: 0 auto 48px; }
.tsc-strength-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #d7dfda; border-left: 1px solid #d7dfda; }
.tsc-strength-grid article { min-height: 285px; padding: 35px 30px; border-right: 1px solid #d7dfda; border-bottom: 1px solid #d7dfda; background: rgba(255,255,255,.45); }
.tsc-strength-grid b { color: #d1a01c; font-size: 13px; }
.tsc-strength-grid h3 { margin: 55px 0 14px; color: #133d2a; font-size: 22px; }
.tsc-strength-grid p { color: #66786f; line-height: 1.72; }

.tsc-profile-journey { background: #fff; }
.tsc-profile-journey .tsc-profile-heading { max-width: 800px; margin: 0 auto 55px; }
.tsc-profile-timeline { position: relative; max-width: 1020px; margin: auto; }
.tsc-profile-timeline::before { content: ""; position: absolute; top: 0; bottom: 0; left: 50%; width: 1px; background: #cfdbd4; }
.tsc-profile-timeline article { position: relative; width: 50%; min-height: 175px; display: grid; grid-template-columns: 100px 1fr; gap: 22px; padding: 0 55px 45px 0; }
.tsc-profile-timeline article:nth-child(even) { margin-left: 50%; padding: 0 0 45px 55px; }
.tsc-profile-timeline article::after { content: ""; position: absolute; top: 8px; right: -7px; width: 15px; height: 15px; border: 4px solid #fff; border-radius: 50%; background: #f4bd24; box-shadow: 0 0 0 1px #cfdbd4; }
.tsc-profile-timeline article:nth-child(even)::after { right: auto; left: -7px; }
.tsc-profile-timeline time { color: #d9a725; font-size: 25px; font-weight: 800; }
.tsc-profile-timeline h3 { color: #123b29; font-size: 21px; margin-bottom: 10px; }
.tsc-profile-timeline p { color: #687970; line-height: 1.65; }

.tsc-profile-network { background: #eef3ef; }
.tsc-profile-network-image { height: 545px; overflow: hidden; border-radius: 8px; }
.tsc-profile-network .tsc-profile-heading { margin-bottom: 22px; }
.tsc-profile-checks { margin: 27px 0 32px; }
.tsc-profile-checks li { position: relative; padding: 11px 0 11px 30px; border-bottom: 1px solid #d4dfd8; color: #234c39; font-weight: 600; }
.tsc-profile-checks li::before { content: "✓"; position: absolute; left: 0; color: #d5a018; font-weight: 800; }

.tsc-profile-final-cta { padding: 80px 0; background: #fff; }
.tsc-profile-cta-box { display: flex; align-items: center; justify-content: space-between; gap: 45px; padding: 55px 65px; border-radius: 10px; background: #f4bd24; }
.tsc-profile-cta-box h2 { color: #063d27; font-size: clamp(34px, 4vw, 55px); margin: 12px 0; }
.tsc-profile-cta-box p { color: rgba(6,61,39,.72); }
.tsc-profile-cta-actions { flex: 0 0 260px; display: flex; flex-direction: column; gap: 16px; }
.tsc-profile-contact-btn { display: flex; justify-content: space-between; padding: 18px 22px; border-radius: 5px; background: #063d27; color: #fff; font-weight: 700; }
.tsc-profile-contact-btn:hover { color: #fff; }
.tsc-profile-text-link { border: 0; background: transparent; color: #063d27; font-weight: 700; text-decoration: underline; cursor: pointer; }

@media (max-width: 991px) {
  .tsc-profile-hero { padding: 130px 0 70px; }
  .tsc-profile-hero .inner-hero-info h1 { letter-spacing: -2px; }
  .tsc-profile-download-wrap { align-items: flex-start; margin-top: 35px; }
  .tsc-profile-download-wrap small { text-align: left; }
  .tsc-profile-collage { min-height: 520px; margin-right: 0; }
  .tsc-profile-glance-grid { grid-template-columns: repeat(2, 1fr); }
  .tsc-profile-glance-grid article:nth-child(2) { border-right: 0; }
  .tsc-profile-section-head { display: block; }
  .tsc-profile-section-head > p { margin-top: 22px; }
  .tsc-profile-network-image { height: 450px; }
  .tsc-strength-grid { grid-template-columns: repeat(2, 1fr); }
  .tsc-portfolio-image { height: 520px; }
  .tsc-profile-cta-box { align-items: flex-start; padding: 45px; }
}

@media (max-width: 767px) {
  .tsc-profile-hero { padding: 115px 0 58px; }
  .tsc-profile-hero .inner-hero-info h1 { font-size: 48px; }
  .tsc-profile-hero .inner-hero-info > p { font-size: 16px; }
  .tsc-profile-heading h2, .tsc-profile-section-head h2 { font-size: 38px; letter-spacing: -1px; }
  .tsc-profile-collage { min-height: 430px; }
  .tsc-profile-image-main { inset: 0 35px 50px 0; }
  .tsc-profile-image-overlap { width: 52%; height: 205px; border-width: 7px; }
  .tsc-profile-since { width: 105px; height: 105px; left: 15px; bottom: 12px; }
  .tsc-profile-since span { font-size: 26px; }
  .tsc-profile-glance-grid { grid-template-columns: 1fr; }
  .tsc-profile-glance-grid article { min-height: 145px; border-right: 0; border-bottom: 1px solid rgba(6,61,39,.18); }
  .tsc-profile-timeline::before { left: 7px; }
  .tsc-profile-timeline article, .tsc-profile-timeline article:nth-child(even) { width: 100%; margin-left: 0; grid-template-columns: 75px 1fr; padding: 0 0 40px 32px; }
  .tsc-profile-timeline article::after, .tsc-profile-timeline article:nth-child(even)::after { left: 0; right: auto; }
  .tsc-profile-network-image { height: 350px; }
  .tsc-strength-grid { grid-template-columns: 1fr; }
  .tsc-strength-grid article { min-height: auto; }
  .tsc-strength-grid h3 { margin-top: 30px; }
  .tsc-portfolio-image { height: 390px; margin-top: 10px; }
  .tsc-profile-cta-box { display: block; padding: 35px 25px; }
  .tsc-profile-cta-actions { margin-top: 30px; }
}

/* Header option 2: keep the template dropdown system and correctly anchor its nested level. */
@media (min-width: 1200px) {
  .homepage6-body .vl-menu-hm6-fxr > ul > li > .sub-menu li.has-dropdown {
    position: relative;
  }

  .homepage6-body .vl-menu-hm6-fxr > ul > li > .sub-menu li.has-dropdown > .sub-menu {
    top: 0 !important;
    left: calc(100% + 20px);
  }

  .homepage6-body .vl-menu-hm6-fxr > ul > li > .sub-menu li.has-dropdown:hover > .sub-menu {
    top: 0 !important;
  }
}

@media print {
  .preloader, .vl-header-area, .vl-offcanvas, .vl-offcanvas-overlay, .vl-footer2-area, .progress-wrap, .tsc-profile-download-wrap, .tsc-profile-cta-actions { display: none !important; }
  .tsc-company-profile, .tsc-profile-purpose, .tsc-profile-business, .tsc-profile-network { background: #fff !important; }
  .tsc-profile-hero { padding: 45px 0 !important; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .tsc-profile-intro.sp1, .tsc-profile-purpose.sp1, .tsc-profile-values.sp1, .tsc-profile-business.sp1, .tsc-profile-journey.sp1, .tsc-profile-network.sp1 { padding: 45px 0 !important; }
  .tsc-purpose-card, .tsc-business-card, .tsc-value-list article, .tsc-profile-glance-grid article { break-inside: avoid; }
  .tsc-profile-final-cta { padding: 35px 0; }
}

.homepage2-body .vl-transparent-header .vl-logo {
  height: 110px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
}

.homepage2-body .vl-transparent-header .vl-logo > a,
.homepage2-body .vl-transparent-header .vl-logo picture {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.homepage2-body .vl-transparent-header .vl-logo img.tsc-main-logo {
  width: 430px;
  max-width: 94%;
  height: auto;
  transform: translateY(-38px);
}

@media only screen and (min-width: 1400px) and (max-width: 1599px) {
  .homepage2-body .vl-transparent-header .vl-logo {
    height: 98px;
  }

  .homepage2-body .vl-transparent-header .vl-logo img.tsc-main-logo {
    width: 375px;
    max-width: 90%;
    transform: translateY(-30px);
  }
}

.homepage2-body .vl-offcanvas .vl-offcanvas-logo img.tsc-offcanvas-logo {
  width: 164px;
  height: 64px;
}

@media only screen and (min-width: 1200px) and (max-width: 1399px) {
  .homepage2-body .vl-transparent-header .vl-logo {
    height: 92px;
  }

  .homepage2-body .vl-transparent-header .vl-logo img.tsc-main-logo {
    width: 350px;
    max-width: 92%;
    transform: translateY(-28px);
  }
}

@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .homepage2-body .vl-transparent-header .vl-logo {
    height: 76px;
  }

  .homepage2-body .vl-transparent-header .vl-logo img.tsc-main-logo {
    width: 285px;
    max-width: 90%;
    transform: translateY(-18px);
  }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .homepage2-body .vl-transparent-header .vl-logo {
    height: 78px;
  }

  .homepage2-body .vl-transparent-header .vl-logo img.tsc-main-logo {
    width: 320px;
    max-width: 88%;
    transform: translateY(-18px);
  }
}

@media only screen and (min-width: 576px) and (max-width: 767px) {
  .homepage2-body .vl-transparent-header .vl-logo {
    height: 70px;
  }

  .homepage2-body .vl-transparent-header .vl-logo img.tsc-main-logo {
    width: 235px;
    max-width: 88%;
    transform: translateY(-10px);
  }
}

.tsc-preloader-logo {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.preloader {
  background: #fff;
}

.preloader .loading-container,
.preloader .loading {
  width: 300px;
  height: 300px;
}

.preloader .loading {
  border-color: transparent #034321 transparent #034321;
}

.preloader #loading-icon {
  top: 50%;
  left: 50%;
  width: 260px;
  height: 160px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.footer2-logo-area img.tsc-footer-logo {
  width: 280px;
  max-width: 100%;
  height: 125px;
}

.tsc-menu-icon {
  display: block;
  color: #fff;
}

.homepage2-body .vl-header-action-item.tsc-menu-trigger-wrap {
  float: none;
  width: max-content;
  padding: 0;
  gap: 13px;
  border: 0;
}

.homepage2-body .vl-header-action-item .tsc-menu-icon-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, .9);
  border-radius: 4px;
}

.homepage2-body .vl-header-action-item .tsc-explore-trigger {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 5px 0 3px;
  border-bottom: 1px solid currentColor;
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  line-height: 1;
}

.tsc-explore-trigger svg {
  width: 34px;
  height: 16px;
}

.tsc-explore-trigger span {
  color: inherit;
}

.tsc-inline-icon {
  width: 20px;
  height: 20px;
  margin-right: 8px;
  vertical-align: -4px;
}

.social_link a svg,
.vl-offcanvas-social a svg,
.footer2-widget-social a svg {
  width: 18px;
  height: 18px;
  display: block;
}

/* Keep the banner social icons centered inside the original circular rail. */
.social_link_hm2 .social_link li a {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.social_link_hm2 .social_link li a svg {
  flex: 0 0 18px;
  color: #fff;
}

/* Align side-navigation social icons and replace missing font dropdown glyphs. */
.homepage2-body .vl-offcanvas-social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  vertical-align: middle;
  margin-right: 8px;
}

.homepage2-body .vl-offcanvas-social a:last-child {
  margin-right: 0;
}

.homepage2-body .vl-menu-close {
  top: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.homepage2-body .vl-menu-close i {
  display: none;
}

.homepage2-body .vl-menu-close::before,
.homepage2-body .vl-menu-close::after {
  content: "";
  position: absolute;
  width: 12px;
  height: 1.5px;
  border-radius: 2px;
  background: currentColor;
  transition: transform .3s ease;
}

.homepage2-body .vl-menu-close::after {
  transform: rotate(90deg);
}

.homepage2-body .vl-offcanvas-menu li.active > .vl-menu-close::after {
  transform: rotate(0deg);
}

.homepage2-body .vl-offcanvas-info span a {
  display: flex;
  align-items: flex-start;
}

.homepage2-body .vl-offcanvas-info .tsc-inline-icon {
  flex: 0 0 20px;
  margin-top: 2px;
}

/* TSC replacement imagery */
.hero2-slide-thumb {
  overflow: hidden;
}

.hero2-slide-thumb img {
  display: block;
  width: 100%;
  height: clamp(360px, 43vw, 610px);
  object-fit: cover;
  object-position: center;
}

.about6-thumb {
  position: relative;
  min-height: 650px;
}

.about6-thumb img.thumb1 {
  display: block;
  width: 86%;
  height: 610px;
  object-fit: cover;
  object-position: center;
}

.about6-thumb img.thumb2 {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 58%;
  height: 370px;
  margin: 0;
  object-fit: cover;
  object-position: center;
}

.vl-story-thumb {
  overflow: hidden;
  border-radius: 16px;
}

.vl-story-thumb img {
  display: block;
  object-fit: cover;
  object-position: center;
}

.testimonial1_thumb,
.faq9-thumb {
  overflow: hidden;
  border-radius: 12px;
}

.testimonial1_thumb img,
.faq9-thumb img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: center;
}

@media (max-width: 1199px) {
  .about6-thumb {
    min-height: auto;
  }

  .about6-thumb img.thumb1,
  .about6-thumb img.thumb2 {
    position: relative;
    right: auto;
    bottom: auto;
    width: 100%;
    height: 500px;
    margin: 0;
  }

  .about6-thumb img.thumb2 {
    height: 390px;
    margin-top: 24px;
  }
}

@media (max-width: 575px) {
  .hero2-slide-thumb img {
    height: 320px;
  }

  .about6-thumb img.thumb1 {
    height: 430px;
  }

  .about6-thumb img.thumb2 {
    height: 350px;
    margin-top: 18px;
  }

  .preloader .loading-container,
  .preloader .loading {
    width: 220px;
    height: 220px;
  }

  .preloader #loading-icon {
    width: 190px;
    height: 120px;
  }

  .homepage2-body .vl-header-action-item.tsc-menu-trigger-wrap {
    gap: 7px;
  }

  .homepage2-body .vl-header-action-item .tsc-menu-icon-button {
    width: 40px;
    height: 40px;
  }

  .homepage2-body .vl-header-action-item .tsc-explore-trigger {
    gap: 5px;
    font-size: 13px;
  }

  .tsc-explore-trigger svg {
    width: 25px;
  }

  .homepage2-body .vl-transparent-header .vl-logo {
    height: 58px;
    overflow: hidden;
  }

  .homepage2-body .vl-transparent-header .vl-logo img.tsc-main-logo {
    width: 190px;
    max-width: 92%;
    height: 52px;
    object-fit: contain;
    transform: translateY(0);
    filter: none;
  }
}

/* TSC two-image field gallery */
.tsc-field-gallery {
  overflow: hidden;
  background: #f6f7f1;
}

.tsc-gallery-intro {
  max-width: 520px;
  margin-left: auto;
}

.tsc-gallery-swiper {
  overflow: visible;
}

.tsc-gallery-pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.tsc-gallery-item {
  position: relative;
  display: block;
  height: 520px;
  overflow: hidden;
  border-radius: 8px;
  background: #173c28;
}

.tsc-gallery-item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .65s ease;
}

.tsc-gallery-item:hover img {
  transform: scale(1.045);
}

.tsc-gallery-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: #fff;
  background: rgba(3, 67, 33, .58);
  opacity: 0;
  transition: opacity .35s ease;
}

.tsc-gallery-overlay svg {
  width: 42px;
  height: 42px;
}

.tsc-gallery-overlay span {
  color: #fff;
  font-size: 15px;
  font-weight: 700;
}

.tsc-gallery-item:hover .tsc-gallery-overlay,
.tsc-gallery-item:focus-visible .tsc-gallery-overlay {
  opacity: 1;
}

.tsc-gallery-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin-top: 32px;
}

.tsc-gallery-prev,
.tsc-gallery-next {
  width: 48px;
  height: 48px;
  border: 1px solid #034321;
  border-radius: 50%;
  background: transparent;
  color: #034321;
  font-size: 20px;
  transition: .3s ease;
}

.tsc-gallery-prev:hover,
.tsc-gallery-next:hover {
  background: #034321;
  color: #fff;
}

.tsc-gallery-pagination {
  position: static !important;
  width: auto !important;
}

.tsc-gallery-pagination .swiper-pagination-bullet {
  width: 9px;
  height: 9px;
  margin: 0 5px !important;
  background: #034321;
}

body.tsc-lightbox-open {
  overflow: hidden;
}

.tsc-lightbox {
  position: fixed;
  inset: 0;
  z-index: 9999999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 90px;
  background: rgba(5, 20, 12, .94);
  opacity: 0;
  visibility: hidden;
  transition: opacity .25s ease, visibility .25s ease;
}

.tsc-lightbox.is-open {
  opacity: 1;
  visibility: visible;
}

.tsc-lightbox-stage {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(1180px, calc(100vw - 220px));
  height: calc(100vh - 90px);
}

.tsc-lightbox-stage img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  border-radius: 5px;
}

.tsc-lightbox-count {
  position: absolute;
  right: 0;
  bottom: 12px;
  padding: 7px 12px;
  border-radius: 20px;
  color: #fff;
  background: rgba(0, 0, 0, .55);
  font-size: 13px;
}

.tsc-lightbox-close,
.tsc-lightbox-prev,
.tsc-lightbox-next {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  border: 1px solid rgba(255, 255, 255, .7);
  border-radius: 50%;
  background: rgba(255, 255, 255, .08);
  color: #fff;
  font-size: 24px;
}

.tsc-lightbox-close {
  top: 24px;
  right: 28px;
  font-size: 32px;
}

.tsc-lightbox-prev { left: 25px; }
.tsc-lightbox-next { right: 25px; }

@media (max-width: 991px) {
  .tsc-gallery-intro {
    margin: 20px 0 0;
  }

  .tsc-gallery-item {
    height: 390px;
  }
}

@media (max-width: 767px) {
  .tsc-gallery-pair {
    gap: 12px;
  }

  .tsc-gallery-item {
    height: 300px;
    border-radius: 5px;
  }

  .tsc-lightbox {
    padding: 65px 15px 45px;
  }

  .tsc-lightbox-stage {
    width: 100%;
    height: calc(100vh - 110px);
  }

  .tsc-lightbox-prev,
  .tsc-lightbox-next {
    top: auto;
    bottom: 14px;
    z-index: 2;
  }

  .tsc-lightbox-prev { left: calc(50% - 62px); }
  .tsc-lightbox-next { right: calc(50% - 62px); }
  .tsc-lightbox-count { bottom: 70px; }
}

@media (max-width: 575px) {
  .tsc-gallery-item {
    height: 230px;
  }

  .tsc-gallery-overlay span {
    display: none;
  }
}

/* ==========================================================
   OUR HISTORY PAGE
   ========================================================== */
.tsc-history-page { overflow: hidden; background: #fff; color: #173c2b; }
.tsc-history-hero { min-height: 670px; display: flex; align-items: flex-end; padding: 185px 0 90px; background: linear-gradient(90deg, rgba(0,48,29,.97), rgba(0,48,29,.82) 48%, rgba(0,48,29,.12)), url('../tsc-img/story.png') center/cover no-repeat; }
.tsc-history-kicker, .tsc-history-intro-title > span, .tsc-history-section-head > span { display: inline-flex; align-items: center; gap: 10px; color: #e1ae23; font-size: 13px; font-weight: 800; letter-spacing: 2px; text-transform: uppercase; }
.tsc-history-kicker::before, .tsc-history-intro-title > span::before, .tsc-history-section-head > span::before { content: ""; width: 30px; height: 2px; background: currentColor; }
.tsc-history-hero h1 { margin: 17px 0 24px; color: #fff; font-size: clamp(62px, 8vw, 116px); line-height: .87; letter-spacing: -5px; }
.tsc-history-hero p { max-width: 760px; color: rgba(255,255,255,.78); font-size: 18px; line-height: 1.75; }
.tsc-history-hero-note { margin-left: auto; width: 260px; padding: 28px; border-left: 3px solid #f4bd24; background: rgba(0,41,25,.6); backdrop-filter: blur(7px); }
.tsc-history-hero-note b, .tsc-history-hero-note span { display: block; color: #fff; }
.tsc-history-hero-note b { margin-bottom: 11px; color: #f4bd24; font-size: 13px; letter-spacing: 1.5px; text-transform: uppercase; }
.tsc-history-hero-note span { line-height: 1.6; }
.tsc-history-breadcrumb { border-bottom: 1px solid #e0e7e2; }
.tsc-history-breadcrumb nav { min-height: 70px; display: flex; align-items: center; gap: 12px; color: #77847d; font-size: 14px; }
.tsc-history-breadcrumb a { color: #205b40; }
.tsc-history-breadcrumb strong { color: #c3910e; }

.tsc-history-intro-title h2, .tsc-history-section-head h2 { margin-top: 15px; color: #123b29; font-size: clamp(40px, 5vw, 68px); line-height: 1.06; letter-spacing: -2px; }
.tsc-history-intro p { color: #61756a; font-size: 16px; line-height: 1.8; }
.tsc-history-intro p.lead { margin-bottom: 14px; color: #1b4934; font-size: 21px; font-weight: 600; }

.tsc-history-timeline-section { padding: 110px 0 130px; background: #f6f4ed; }
.tsc-history-section-head { max-width: 760px; margin: 0 auto 80px; text-align: center; }
.tsc-history-section-head > span { justify-content: center; }
.tsc-history-section-head p { margin-top: 20px; color: #6c7c74; font-size: 17px; }
.tsc-history-timeline { position: relative; }
.tsc-history-timeline::before { content: ""; position: absolute; top: 34px; bottom: 35px; left: 50%; width: 4px; transform: translateX(-50%); border-radius: 10px; background: linear-gradient(#e0ad24, #0a5537 45%, #e0ad24); }
.tsc-history-entry { position: relative; display: grid; grid-template-columns: minmax(0,1fr) 150px minmax(0,1fr); align-items: center; min-height: 440px; margin-bottom: 70px; }
.tsc-history-entry:last-child { margin-bottom: 0; }
.tsc-history-marker { position: relative; z-index: 2; display: flex; justify-content: center; grid-column: 2; grid-row: 1; }
.tsc-history-marker::before { content: ""; position: absolute; top: 50%; left: 50%; width: 96px; height: 96px; transform: translate(-50%,-50%); border: 1px solid rgba(10,85,55,.23); border-radius: 50%; background: #f6f4ed; }
.tsc-history-marker span { position: relative; z-index: 1; width: 72px; height: 72px; display: grid; place-items: center; border: 6px solid #fff; border-radius: 50%; background: #0a5537; color: #fff; box-shadow: 0 8px 30px rgba(12,72,48,.18); font-size: 16px; font-weight: 800; }
.tsc-history-visual { grid-column: 1; grid-row: 1; height: 390px; overflow: hidden; border-radius: 8px; box-shadow: 0 20px 50px rgba(29,62,46,.12); }
.tsc-history-visual img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.tsc-history-entry:hover .tsc-history-visual img { transform: scale(1.04); }
.tsc-history-story { grid-column: 3; grid-row: 1; padding: 45px; border-radius: 8px; background: #fff; box-shadow: 0 16px 50px rgba(29,62,46,.08); }
.tsc-history-story small { color: #c08e0b; font-size: 12px; font-weight: 800; letter-spacing: 1.6px; text-transform: uppercase; }
.tsc-history-story h3 { margin: 13px 0 15px; color: #103b28; font-size: 30px; line-height: 1.15; }
.tsc-history-story p { color: #65776e; line-height: 1.75; }
.tsc-history-story strong { display: block; margin-top: 22px; padding-top: 18px; border-top: 1px solid #e1e7e3; color: #1a593c; font-size: 14px; }
.tsc-history-entry:nth-child(even) .tsc-history-visual { grid-column: 3; }
.tsc-history-entry:nth-child(even) .tsc-history-story { grid-column: 1; }
.tsc-history-present .tsc-history-marker span { background: #e0ad24; color: #083c27; }

.tsc-history-principles { background: #063d27; }
.tsc-history-principles .tsc-history-intro-title { max-width: 750px; margin: 0 auto 50px; }
.tsc-history-principles .tsc-history-intro-title h2 { color: #fff; }
.tsc-history-principle-grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid rgba(255,255,255,.16); border-left: 1px solid rgba(255,255,255,.16); }
.tsc-history-principle-grid article { min-height: 300px; padding: 38px; border-right: 1px solid rgba(255,255,255,.16); border-bottom: 1px solid rgba(255,255,255,.16); }
.tsc-history-principle-grid b { color: #f4bd24; font-size: 14px; }
.tsc-history-principle-grid h3 { margin: 75px 0 16px; color: #fff; font-size: 25px; }
.tsc-history-principle-grid p { color: rgba(255,255,255,.62); line-height: 1.7; }

.tsc-history-closing { padding: 85px 0; background: #fff; }
.tsc-history-closing-box { display: flex; align-items: center; justify-content: space-between; gap: 40px; padding: 55px 60px; border-radius: 10px; background: #f4bd24; }
.tsc-history-closing-box > div > span { color: rgba(6,61,39,.68); font-size: 13px; font-weight: 800; letter-spacing: 1.6px; text-transform: uppercase; }
.tsc-history-closing-box h2 { margin-top: 10px; color: #063d27; font-size: clamp(35px,4vw,55px); }
.tsc-history-closing-actions { flex: 0 0 285px; display: flex; flex-direction: column; gap: 12px; }
.tsc-history-closing-actions a { display: flex; align-items: center; justify-content: space-between; padding: 17px 20px; border-radius: 5px; background: #063d27; color: #fff; font-weight: 700; }
.tsc-history-closing-actions a:last-child { border: 1px solid rgba(6,61,39,.3); background: transparent; color: #063d27; }

@media (max-width: 991px) {
  .tsc-history-hero { min-height: 590px; padding: 155px 0 70px; }
  .tsc-history-hero-note { width: 100%; margin-top: 35px; }
  .tsc-history-entry { grid-template-columns: minmax(0,1fr) 110px minmax(0,1fr); min-height: 390px; }
  .tsc-history-visual { height: 340px; }
  .tsc-history-story { padding: 30px; }
  .tsc-history-story h3 { font-size: 24px; }
  .tsc-history-principle-grid { grid-template-columns: 1fr; }
  .tsc-history-principle-grid article { min-height: auto; }
  .tsc-history-principle-grid h3 { margin-top: 35px; }
}

@media (max-width: 767px) {
  .tsc-history-hero { min-height: 550px; padding: 140px 0 60px; }
  .tsc-history-hero h1 { font-size: 55px; letter-spacing: -3px; }
  .tsc-history-timeline-section { padding: 80px 0; }
  .tsc-history-timeline::before { left: 36px; }
  .tsc-history-entry, .tsc-history-entry:nth-child(even) { display: grid; grid-template-columns: 72px minmax(0,1fr); min-height: auto; margin-bottom: 65px; }
  .tsc-history-marker { grid-column: 1; grid-row: 1; align-self: start; padding-top: 18px; }
  .tsc-history-marker::before { width: 68px; height: 68px; }
  .tsc-history-marker span { width: 58px; height: 58px; border-width: 4px; font-size: 13px; }
  .tsc-history-visual, .tsc-history-entry:nth-child(even) .tsc-history-visual { grid-column: 2; grid-row: 1; height: 260px; margin-bottom: 15px; }
  .tsc-history-story, .tsc-history-entry:nth-child(even) .tsc-history-story { grid-column: 2; grid-row: 2; padding: 25px 22px; }
  .tsc-history-closing-box { display: block; padding: 35px 25px; }
  .tsc-history-closing-actions { margin-top: 30px; }
}

/* ==========================================================
   TSC BLOG, HOME BLOG & ARTICLE DETAILS
   ========================================================== */
.tsc-blog-page,.tsc-blog-detail{overflow:hidden;background:#fff;color:#173c2b}.tsc-blog-hero{min-height:560px;display:flex;align-items:flex-end;padding:205px 0 85px;background:linear-gradient(90deg,rgba(3,55,35,.97),rgba(3,55,35,.83) 55%,rgba(3,55,35,.36)),url('../tsc-img/banner1.png') center/cover no-repeat}.tsc-blog-eyebrow,.tsc-blog-heading>div>span,.tsc-home-blog-head>div>span,.tsc-blog-cta-inner span,.tsc-blog-next>.container>span{display:inline-flex;align-items:center;gap:10px;color:#efb820;font-size:13px;font-weight:800;letter-spacing:1.8px;text-transform:uppercase}.tsc-blog-eyebrow:before,.tsc-blog-heading>div>span:before,.tsc-home-blog-head>div>span:before{content:"";width:30px;height:2px;background:currentColor}.tsc-blog-hero h1{max-width:850px;margin:17px 0 24px;color:#fff;font-size:clamp(52px,7vw,94px);line-height:.94;letter-spacing:-4px}.tsc-blog-hero p{max-width:700px;color:rgba(255,255,255,.76);font-size:18px;line-height:1.75}.tsc-blog-search{margin-left:auto;padding:26px;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:rgba(255,255,255,.1);backdrop-filter:blur(8px)}.tsc-blog-search label{display:block;margin-bottom:12px;color:#fff;font-size:13px;font-weight:700;letter-spacing:.6px}.tsc-blog-search>div{display:flex;overflow:hidden;border-radius:5px;background:#fff}.tsc-blog-search input{min-width:0;width:100%;height:56px;padding:0 17px;border:0;outline:0;color:#163e2c}.tsc-blog-search button{flex:0 0 56px;border:0;background:#efb820;color:#123d29}.tsc-blog-breadcrumb{border-bottom:1px solid #e2e9e5}.tsc-blog-breadcrumb .container{min-height:68px;display:flex;align-items:center;gap:12px;color:#8a9890;font-size:14px}.tsc-blog-breadcrumb a{color:#1a5b3d}.tsc-blog-breadcrumb strong{color:#c08e0b}.tsc-blog-heading,.tsc-home-blog-head{display:flex;align-items:end;justify-content:space-between;gap:60px;margin-bottom:52px}.tsc-blog-heading h2,.tsc-home-blog-head h2{margin-top:12px;color:#113d29;font-size:clamp(42px,5vw,66px);line-height:1;letter-spacing:-2.4px}.tsc-blog-heading>p,.tsc-home-blog-head>div:last-child{max-width:510px;color:#687a70;line-height:1.75}.tsc-blog-card{height:100%;overflow:hidden;border:1px solid #dfe8e2;border-radius:8px;background:#fff;transition:transform .35s ease,box-shadow .35s ease}.tsc-blog-card:hover{transform:translateY(-6px);box-shadow:0 22px 60px rgba(20,62,42,.12)}.tsc-blog-card-image{position:relative;display:block;height:285px;overflow:hidden}.tsc-blog-card-featured .tsc-blog-card-image{height:390px}.tsc-blog-card-image img,.tsc-home-blog-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.tsc-blog-card:hover .tsc-blog-card-image img,.tsc-home-blog-card:hover .tsc-home-blog-image img{transform:scale(1.05)}.tsc-blog-card-image>span,.tsc-home-blog-image>span{position:absolute;left:20px;bottom:20px;padding:8px 12px;border-radius:4px;background:#efb820;color:#103b28;font-size:12px;font-weight:800;text-transform:uppercase}.tsc-blog-card-body{padding:30px}.tsc-blog-meta{display:flex;align-items:center;flex-wrap:wrap;gap:19px;color:#7d8a83;font-size:13px}.tsc-blog-meta span+span:before{content:"";display:inline-block;width:5px;height:5px;margin:0 10px 2px 0;border-radius:50%;background:#d9a715}.tsc-blog-card h2{margin:15px 0 13px;font-size:25px;line-height:1.28}.tsc-blog-card-featured h2{font-size:34px}.tsc-blog-card h2 a,.tsc-home-blog-card h3 a{color:#143d2b}.tsc-blog-card h2 a:hover,.tsc-home-blog-card h3 a:hover{color:#b98608}.tsc-blog-card p,.tsc-home-blog-card p{color:#6a7b72;line-height:1.7}.tsc-blog-read{display:inline-flex;align-items:center;gap:12px;margin-top:21px;color:#125338;font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}.tsc-blog-read i{transition:transform .25s ease}.tsc-blog-read:hover i{transform:translateX(5px)}.tsc-blog-empty{margin-top:30px;padding:60px 20px;border-radius:8px;background:#f3f6f2;text-align:center}.tsc-blog-empty i{color:#d5a217;font-size:40px}.tsc-blog-empty h3{margin:17px 0 8px;color:#123d2a}.tsc-blog-empty button{margin-top:18px;padding:12px 18px;border:0;border-radius:4px;background:#0d5136;color:#fff;font-weight:700}.tsc-blog-result[hidden],.tsc-blog-empty[hidden]{display:none!important}.tsc-blog-cta{padding:0 0 110px}.tsc-blog-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:52px 58px;border-radius:9px;background:#efb820}.tsc-blog-cta-inner span{color:rgba(8,58,38,.65)}.tsc-blog-cta-inner h2{margin-top:7px;color:#0b412b;font-size:clamp(34px,4vw,52px)}.tsc-blog-cta-inner>a{display:inline-flex;align-items:center;gap:15px;padding:17px 21px;border-radius:5px;background:#0b412b;color:#fff;font-weight:700}
.tsc-home-blog{background:#f4f1e8}.tsc-home-blog-head>div:last-child p{margin-bottom:25px}.tsc-home-blog-card{height:100%;overflow:hidden;border-radius:8px;background:#fff;box-shadow:0 15px 45px rgba(17,61,41,.07)}.tsc-home-blog-image{position:relative;display:block;height:360px;overflow:hidden}.tsc-home-blog-content{padding:30px}.tsc-home-blog-card h3{margin:14px 0 12px;font-size:27px;line-height:1.24}.tsc-home-blog-featured h3{font-size:34px}.tsc-home-blog-horizontal{display:grid;grid-template-columns:42% 58%;min-height:260px}.tsc-home-blog-horizontal+.tsc-home-blog-horizontal{margin-top:24px}.tsc-home-blog-horizontal .tsc-home-blog-image{height:100%;min-height:260px}.tsc-home-blog-horizontal .tsc-home-blog-content{padding:25px}.tsc-home-blog-horizontal h3{font-size:23px}
.tsc-blog-detail-head{padding:210px 0 80px;background:#073d28;text-align:center}.tsc-blog-back{display:inline-flex;align-items:center;gap:10px;margin-bottom:34px;color:rgba(255,255,255,.72);font-size:14px}.tsc-blog-detail-meta{display:flex;justify-content:center;flex-wrap:wrap;gap:24px;color:rgba(255,255,255,.68);font-size:14px}.tsc-blog-detail-meta span:first-child{color:#efb820;font-weight:800;text-transform:uppercase}.tsc-blog-detail-head h1{max-width:1000px;margin:20px auto;color:#fff;font-size:clamp(45px,6vw,78px);line-height:1.03;letter-spacing:-3px}.tsc-blog-detail-head p{color:rgba(255,255,255,.65)}.tsc-blog-detail-body{padding:80px 0 110px}.tsc-blog-detail-image{height:590px;margin:0 0 75px;overflow:hidden;border-radius:9px}.tsc-blog-detail-image img{width:100%;height:100%;object-fit:cover}.tsc-blog-article{color:#61736a;font-size:17px;line-height:1.85}.tsc-blog-article .tsc-blog-lead{margin-bottom:42px;color:#214b37;font-size:22px;font-weight:600;line-height:1.65}.tsc-blog-article h2{margin:42px 0 14px;color:#113d29;font-size:32px;line-height:1.2}.tsc-blog-takeaway{margin:48px 0;padding:32px 35px;border-left:5px solid #efb820;background:#f4f2e9}.tsc-blog-takeaway span{color:#b78200;font-size:12px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase}.tsc-blog-takeaway p{margin:9px 0 0;color:#163f2c;font-size:20px;font-weight:600}.tsc-blog-share{padding-top:26px;border-top:1px solid #dfe7e2}.tsc-blog-share strong{display:block;margin-bottom:16px;color:#173e2c}.tsc-blog-share div{display:flex;flex-wrap:wrap;gap:9px}.tsc-blog-share a{padding:8px 12px;border-radius:4px;background:#edf3ef;color:#18543a;font-size:13px;font-weight:700}.tsc-blog-side{position:sticky;top:120px;padding:32px;border-radius:7px;background:#0b432d}.tsc-blog-side>span{color:#efb820;font-size:12px;font-weight:800;text-transform:uppercase}.tsc-blog-side h3{margin:17px 0 14px;color:#fff;font-size:27px;line-height:1.25}.tsc-blog-side p{color:rgba(255,255,255,.66);line-height:1.7}.tsc-blog-side a{display:inline-flex;align-items:center;gap:10px;margin-top:24px;color:#efb820;font-weight:700}.tsc-blog-next{padding:75px 0;background:#efb820;text-align:center}.tsc-blog-next>.container>span{color:rgba(8,58,38,.64)}.tsc-blog-next h2{margin:9px 0 22px;color:#0b412b;font-size:clamp(37px,5vw,58px)}.tsc-blog-next a{display:inline-flex;align-items:center;gap:12px;color:#0b412b;font-weight:800}
@media(max-width:991px){.tsc-blog-hero{min-height:auto;padding:175px 0 70px}.tsc-blog-search{margin:40px 0 0}.tsc-blog-heading,.tsc-home-blog-head{display:block}.tsc-blog-heading>p,.tsc-home-blog-head>div:last-child{margin-top:25px}.tsc-blog-card-featured .tsc-blog-card-image{height:340px}.tsc-home-blog-horizontal{grid-template-columns:38% 62%}.tsc-blog-detail-image{height:470px}.tsc-blog-side{position:static;margin-top:50px}}
@media(max-width:767px){.tsc-blog-hero h1,.tsc-blog-detail-head h1{letter-spacing:-2px}.tsc-blog-card-featured .tsc-blog-card-image,.tsc-blog-card-image,.tsc-home-blog-image{height:270px}.tsc-blog-card-featured h2,.tsc-home-blog-featured h3{font-size:28px}.tsc-blog-cta-inner{display:block;padding:38px 25px}.tsc-blog-cta-inner>a{margin-top:25px}.tsc-home-blog-horizontal{display:block}.tsc-home-blog-horizontal .tsc-home-blog-image{min-height:240px}.tsc-blog-detail-head{padding:165px 0 60px}.tsc-blog-detail-body{padding:55px 0 80px}.tsc-blog-detail-image{height:320px;margin-bottom:45px}.tsc-blog-article .tsc-blog-lead{font-size:19px}.tsc-blog-article h2{font-size:27px}}

/* Footer social icon alignment */
.footer2-widget-social {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
}

.footer2-widget-social .social1-footer2 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 0;
  padding: 0;
}

.footer2-widget-social .social1-footer2 li {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
}

.footer2-widget-social .social1-footer2 li a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  line-height: 1;
}

.footer2-widget-social .social1-footer2 li a svg {
  display: block;
  width: 18px;
  height: 18px;
  margin: 0;
  flex: 0 0 18px;
}

/* Blog card height and read-link arrow corrections */
.tsc-home-blog-horizontal {
  height: auto;
}

.tsc-home-blog-horizontal .tsc-home-blog-content {
  min-width: 0;
}

.tsc-blog-read .tsc-blog-read-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  background: #efb820;
  color: #103d29;
  font-family: Arial, sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  transition: transform .25s ease, background-color .25s ease;
}

.tsc-blog-read:hover .tsc-blog-read-arrow {
  transform: translateX(4px);
  background: #103d29;
  color: #fff;
}

@media (min-width: 992px) {
  .tsc-home-blog > .container > .row > .col-lg-6:last-child {
    display: flex;
    flex-direction: column;
    gap: 24px;
  }

  .tsc-home-blog-horizontal + .tsc-home-blog-horizontal {
    margin-top: 0;
  }

  .tsc-home-blog-horizontal {
    flex: 1 1 0;
    min-height: 0;
  }
}

/* Keep the desktop Contact Us CTA visually connected to the last nav item. */
@media (min-width: 1200px) {
  .homepage6-body .vl-main-menu,
  .homepage6-body .vl-main-menu ul {
    text-align: right;
  }

  .homepage6-body .vl-menu-sidebar-area {
    justify-content: flex-start;
  }

  .homepage6-body .menu-line {
    margin-left: 10px;
    margin-right: 18px;
  }
}

/* Enlarge the visible desktop logo without changing header height. */
@media (min-width: 1200px) {
  .homepage6-body .vl-logo {
    overflow: visible;
  }

  .homepage6-body .vl-logo img.tsc-main-logo {
    max-width: none;
    transform: scale(1.38);
    transform-origin: left center;
  }
}

/* Mobile-only header, off-canvas and homepage About corrections. */
@media (max-width: 1199px) {
  .homepage6-body .vl-header-action-item .vl-offcanvas-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
  }

  .homepage6-body .tsc-mobile-menu-icon {
    display: block;
    width: 22px;
    height: 22px;
    color: #173f2c;
  }

  .homepage1-body .vl-offcanvas .vl-offcanvas-logo {
    width: 220px;
    height: 88px;
    overflow: visible;
  }

  .homepage1-body .vl-offcanvas-logo img.tsc-offcanvas-logo {
    display: block;
    width: 220px;
    max-width: none;
    height: 88px;
    object-fit: contain;
  }

  .homepage1-body .vl-offcanvas-close-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    padding: 0;
  }

  .homepage1-body .tsc-mobile-svg {
    display: block;
    width: 25px;
    height: 25px;
  }

  .homepage1-body .vl-menu-close {
    top: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
  }

  .homepage1-body .vl-menu-close i {
    display: none;
  }

  .homepage1-body .vl-menu-close::before,
  .homepage1-body .vl-menu-close::after {
    content: "";
    position: absolute;
    width: 12px;
    height: 1.5px;
    border-radius: 2px;
    background: currentColor;
    transition: transform .3s ease;
  }

  .homepage1-body .vl-menu-close::after {
    transform: rotate(90deg);
  }

  .homepage1-body .vl-offcanvas-menu li.active > .vl-menu-close::after {
    transform: rotate(0deg);
  }

  .homepage1-body .vl-offcanvas-info span a {
    display: flex;
    align-items: flex-start;
    gap: 8px;
  }

  .homepage1-body .vl-offcanvas-info .tsc-inline-icon {
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    margin: 1px 0 0;
  }

  .homepage1-body .vl-offcanvas-social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-right: 8px;
    line-height: 1;
    vertical-align: middle;
  }

  .homepage1-body .vl-offcanvas-social a:last-child {
    margin-right: 0;
  }

  .homepage1-body .vl-offcanvas-social a svg {
    width: 17px;
    height: 17px;
    margin: 0;
  }
}

@media (max-width: 767px) {
  .vl-about6-area .about6-thumb .thumb1 {
    display: none;
  }

  .vl-about6-area .about6-thumb .thumb2 {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    object-fit: cover;
  }
}
/* Contact details and location map */
.tsc-contact-details {
  display: grid;
  gap: 12px;
}

.tsc-contact-details a {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 14px 16px;
  border: 1px solid rgba(0, 67, 37, .14);
  border-radius: 12px;
  color: #004325;
  background: #fff;
}

.tsc-contact-details a:hover {
  border-color: #004325;
}

.tsc-contact-details strong {
  font-size: 14px;
}

.tsc-contact-details span {
  color: #52645b;
  overflow-wrap: anywhere;
}

.tsc-contact-socials {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 20px;
}

.tsc-contact-socials a {
  color: #004325;
  font-weight: 700;
}

.tsc-contact-map iframe {
  display: block;
  width: 100%;
  height: 500px;
  border: 0;
}

@media (max-width: 767px) {
  .tsc-contact-map iframe {
    height: 360px;
  }
}

/* ===== Knowledge Center page styles ===== */
    /* Popular Topics */
    .tsc-topics-section{background:#f4f6f1}
    .tsc-topics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
    .tsc-topic-card{position:relative;padding:38px 32px 32px;border-radius:14px;background:#fff;box-shadow:0 10px 30px rgba(9,45,29,.06);border:1px solid #e7ede8;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}
    .tsc-topic-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#0d5136,#efb820);transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
    .tsc-topic-card:hover{transform:translateY(-8px);box-shadow:0 24px 50px rgba(9,45,29,.14)}
    .tsc-topic-card:hover:before{transform:scaleX(1)}
    .tsc-topic-num{position:absolute;top:22px;right:24px;color:#d9e2db;font-size:26px;font-weight:800}
    .tsc-topic-icon{display:grid;place-items:center;width:60px;height:60px;margin-bottom:22px;border-radius:14px;background:linear-gradient(145deg,#0d5136,#093b28);color:#efb820;font-size:24px;transition:transform .3s ease}
    .tsc-topic-card:hover .tsc-topic-icon{transform:rotate(-6deg) scale(1.06)}
    .tsc-topic-card h3{margin-bottom:10px;color:#0b2f1e;font-size:21px}
    .tsc-topic-card p{margin-bottom:18px;color:#63756b;line-height:1.7;font-size:15px}
    .tsc-topic-card a{display:inline-flex;align-items:center;gap:8px;color:#0d5136;font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:.4px}
    .tsc-topic-card a span{transition:transform .25s ease}
    .tsc-topic-card a:hover span{transform:translateX(5px)}
    @media(max-width:991px){.tsc-topics-grid{grid-template-columns:repeat(2,1fr)}}
    @media(max-width:575px){.tsc-topics-grid{grid-template-columns:1fr}}

    /* Talk with TSC CTA */
    .tsc-know-cta{padding:20px 0 110px}
    .tsc-know-cta-box{position:relative;display:flex;align-items:center;gap:36px;padding:56px 60px;border-radius:18px;overflow:hidden;background:linear-gradient(120deg,rgba(6,45,29,.94),rgba(6,45,29,.86)),url('../tsc-img/field-team-visit.jpg') center/cover no-repeat;color:#fff}
    .tsc-know-cta-icon{flex:0 0 84px;display:grid;place-items:center;width:84px;height:84px;border-radius:50%;background:rgba(239,184,32,.15);border:1px solid rgba(239,184,32,.4);color:#efb820;font-size:34px}
    .tsc-know-cta-copy{flex:1 1 auto;min-width:220px}
    .tsc-know-cta-copy span{display:inline-flex;align-items:center;gap:10px;color:#efb820;font-size:13px;font-weight:800;letter-spacing:1.8px;text-transform:uppercase}
    .tsc-know-cta-copy span:before{content:"";width:26px;height:2px;background:currentColor}
    .tsc-know-cta-copy h2{margin:12px 0 10px;color:#fff;font-size:clamp(28px,3.4vw,40px);line-height:1.15}
    .tsc-know-cta-copy p{max-width:480px;margin:0;color:rgba(255,255,255,.72);line-height:1.7}
    .tsc-know-cta-actions{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:16px}
    .tsc-know-cta-btn{display:inline-flex;align-items:center;gap:12px;padding:17px 26px;border-radius:6px;background:#efb820;color:#0b2f1e;font-weight:800;white-space:nowrap;transition:background .25s ease,transform .25s ease}
    .tsc-know-cta-btn:hover{background:#fff;transform:translateY(-3px)}
    .tsc-know-cta-link{display:inline-flex;align-items:center;gap:8px;color:rgba(255,255,255,.8);font-size:14px;white-space:nowrap}
    .tsc-know-cta-link:hover{color:#efb820}
    @media(max-width:767px){.tsc-know-cta-box{flex-direction:column;align-items:flex-start;padding:42px 30px;text-align:left}.tsc-know-cta-actions{align-items:flex-start;width:100%}}
/* Contact submission feedback. */
#contact-form, #home-contact-form { scroll-margin-top: 130px; }
.tsc-form-status { margin-bottom: 24px; padding: 18px 20px; border: 1px solid; border-left-width: 5px; border-radius: 6px; scroll-margin-top: 130px; }
.tsc-form-status strong { display: block; margin-bottom: 6px; font-size: 18px; }
.tsc-form-status p { margin: 0; color: inherit; }
.tsc-form-status--success { color: #14532d; background: #ecfdf3; border-color: #86c99e; }
.tsc-form-status--error { color: #8a1c1c; background: #fff1f1; border-color: #e7a0a0; }
.tsc-form-status { position: relative; transition: opacity .4s ease; }
.tsc-form-status strong { padding-right: 32px; }
.tsc-form-status.is-hiding { opacity: 0; }
.tsc-form-status-close { position: absolute; top: 8px; right: 10px; padding: 2px 8px; border: 0; background: none; color: inherit; font-size: 24px; line-height: 1; cursor: pointer; opacity: .7; }
.tsc-form-status-close:hover, .tsc-form-status-close:focus-visible { opacity: 1; }
/* Field errors shown under each input instead of the browser's popup. */
form .tsc-invalid, form .nice-select.tsc-invalid { border: 1px solid #d93025 !important; box-shadow: 0 0 0 1px #d93025 !important; }
.tsc-field-error { margin: 6px 0 0; color: #d93025; font-size: 14px; line-height: 1.4; text-align: left; }
/* The home page form sits on dark green, where standard red is hard to read. */
.contact2-form-area .tsc-field-error { color: #ffc2b8; }
.contact2-form-area form .tsc-invalid, .contact2-form-area form .nice-select.tsc-invalid { border-color: #ff9d8f !important; box-shadow: 0 0 0 1px #ff9d8f !important; }
.tsc-form-status--sending { color: #1f3d2b; background: #f1f5f2; border-color: #b9cbbf; }
/* Opening hours heading in the footer (from the sarina branch). */
.vl-footer2-area .footer-widget-hour h4 { color: #ffffff; }
