.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; }
}
