/*
Theme Name: Topp Still Child
Theme URI: https://toppstillservices.co.uk/
Description: Child theme for Topp Still Services customisations
Author: Gustas
Version: 1.0.0
Template: hestia
*/

/* Child theme styles start below this line */

/* ============================= */
/* HOME PAGE: HERO & HEADER     */
/* ============================= */

.home .header-filter::before{
  background-color: transparent;
}

.home .wp-site-blocks,
.home .site-content,
.home #content,
.home #primary,
.home #main{
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.home .wp-block-group.alignfull:first-child{
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.home .page-header,
.home .entry-header,
.home .entry-title,
.home .page-title,
.home h1.wp-block-post-title,
.home .wp-block-post-title{
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ============================= */
/* GLOBAL: CONTACT STRIP        */
/* ============================= */

.tss-contact-strip{
  margin: 18px 0 22px;
}

.tss-contact-strip__inner{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 16px;
  border: 1px solid rgba(0,0,0,0.12);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(0,0,0,0.06);
}

.tss-contact-strip__item{
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.tss-contact-strip__icon{
  width: 38px;
  height: 38px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: rgba(0,0,0,0.06);
  font-size: 16px;
  line-height: 1;
}

.tss-contact-strip__label{
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(0,0,0,0.60);
  margin-bottom: 2px;
}

.tss-contact-strip__link{
  font-size: 16px;
  font-weight: 700;
  color: #111;
  text-decoration: none;
  border-bottom: 1px solid rgba(0,0,0,0.12);
  white-space: nowrap;
}

.tss-contact-strip__link:hover{
  border-bottom-color: rgba(0,0,0,0.35);
}

.tss-contact-strip__divider{
  width: 1px;
  align-self: stretch;
  background: rgba(0,0,0,0.10);
}

@media (max-width: 680px){
  .tss-contact-strip__inner{
    flex-direction: column;
    align-items: stretch;
  }

  .tss-contact-strip__divider{
    width: 100%;
    height: 1px;
  }

  .tss-contact-strip__link{
    white-space: normal;
    word-break: break-word;
  }
}

/* ============================= */
/* GLOBAL: FORMS (NINJA FORMS)  */
/* ============================= */

.nf-form-cont .nf-form-content input[type="button"],
.nf-form-cont .nf-form-content input[type="submit"],
.nf-form-cont .nf-form-content button{
  background: #111 !important;
  color: #fff !important;
  border: 0 !important;
  padding: 12px 18px !important;
  border-radius: 10px !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  opacity: 1 !important;
  visibility: visible !important;
  height: auto !important;
  line-height: 1.2 !important;
  cursor: pointer !important;
}

.nf-form-cont .nf-form-content input[type="button"]:hover,
.nf-form-cont .nf-form-content input[type="submit"]:hover,
.nf-form-cont .nf-form-content button:hover{
  filter: brightness(0.95) !important;
}

.nf-form-cont .submit-wrap{
  margin-top: 10px !important;
  display: block !important;
}

/* ============================= */
/* SECTION: OUR CLIENTS SLIDER  */
/* ============================= */

.our-clients-section{
  background: linear-gradient(135deg, #0b1220, #111827);
  padding-top: 60px !important;
  padding-bottom: 60px !important;
}

.our-clients-section .alignwide,
.tss-accreditations-section .alignwide{
  max-width: 1100px;
  margin-left: auto !important;
  margin-right: auto !important;
}

.our-clients-section h2{
  color: #fff !important;
  text-align: left !important;
  margin: 0 0 18px !important;
}

.our-clients-section .metaslider{
  max-width: 1100px;
  margin: 0 auto !important;
}

.our-clients-section .metaslider .flexslider{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  margin: 0 auto !important;
}

.our-clients-section .metaslider .slides > li{
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 120px !important;
  background: #fff !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  border-radius: 16px !important;
  padding: 16px 14px !important;
  box-shadow: 0 10px 26px rgba(0,0,0,0.30) !important;
}

.our-clients-section .metaslider .slides img{
  max-height: 70px !important;
  width: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;
  display: block !important;
  margin: 0 auto !important;
  filter: grayscale(100%);
  opacity: 0.85;
  transition: opacity .15s ease, filter .15s ease, transform .15s ease;
}

.our-clients-section .metaslider .slides > li:hover img{
  filter: none;
  opacity: 1;
  transform: translateY(-1px);
}

.our-clients-section .metaslider .flex-control-nav,
.our-clients-section .metaslider .flex-direction-nav{
  display: none !important;
}

/* ============================= */
/* HOME PAGE: ACCREDITATIONS    */
/* ============================= */

.tss-accreditations-section{
  background: #ffffff;
}

.tss-accreditations-section .wp-block-columns{
  align-items: stretch !important;
}

.tss-accreditations-section .wp-block-column{
  background: #fff;
  border: 1px solid rgba(0,0,0,0.10);
  border-radius: 18px;
  padding: 24px 22px;
  box-shadow: 0 10px 26px rgba(0,0,0,0.06);
}

.tss-accreditations-section .wp-block-column > *{
  text-align: center;
}

.tss-accreditations-section .wp-block-image{
  margin: 0 auto 16px !important;
}

.tss-accreditations-section .wp-block-image img{
  object-fit: contain !important;
  width: 190px !important;
  height: 190px !important;
  max-width: 100% !important;
  display: block !important;
  margin: 0 auto !important;
}

.tss-accreditations-section h2{
  color: #111 !important;
  text-align: left !important;
}

.tss-accreditations-section h3{
  margin-top: 10px !important;
  margin-bottom: 14px !important;
  color: #111 !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.tss-accreditations-section p{
  margin-top: 12px !important;
  margin-bottom: 0 !important;
  color: rgba(0,0,0,0.72) !important;
  line-height: 1.7 !important;
}

.tss-accreditations-section p strong{
  color: rgba(0,0,0,0.92) !important;
}

/* ISO combined card */

.tss-iso-card{
  background: linear-gradient(135deg, #ffffff, #f8fafc);
  border: 1px solid rgba(0,0,0,0.10);
  border-radius: 18px;
  padding: 28px 30px;
  box-shadow: 0 10px 26px rgba(0,0,0,0.06);
}

.tss-iso-card > *{
  text-align: left;
}

.tss-iso-card__eyebrow{
  margin: 0 0 8px !important;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(0,0,0,0.52) !important;
}

.tss-iso-card h3{
  margin: 0 0 18px !important;
  color: #111 !important;
}

.tss-iso-card__list{
  margin: 0 0 18px 0 !important;
  padding-left: 20px !important;
}

.tss-iso-card__list li{
  margin-bottom: 10px;
  color: rgba(0,0,0,0.78);
  line-height: 1.6;
}

.tss-iso-card p{
  margin: 0 !important;
  color: rgba(0,0,0,0.72) !important;
  line-height: 1.7 !important;
}

.tss-iso-card__gallery{
  margin: 6px 0 18px !important;
}

.tss-iso-card__gallery .blocks-gallery-grid,
.tss-iso-card__gallery .wp-block-gallery{
  gap: 14px !important;
}

.tss-iso-card__gallery .wp-block-image{
  margin: 0 !important;
  text-align: center !important;
}

.tss-iso-card__gallery img{
  width: 100px !important;
  height: 100px !important;
  object-fit: contain !important;
  display: block !important;
  margin: 0 auto !important;
}

@media (max-width: 781px){
  .tss-accreditations-section .wp-block-column{
    margin-bottom: 20px;
  }

  .tss-iso-card{
    padding: 22px 20px;
  }
}

/* ============================= */
/* HOME PAGE: SUBCONTRACT CTA   */
/* ============================= */

.subcontract-cta-section{
  background: linear-gradient(135deg, #0b1220, #111827);
  color: #fff;
}

.subcontract-cta-section__card{
  background: #fff;
  border-radius: 20px;
  padding: 40px 44px;
  box-shadow: 0 20px 50px rgba(0,0,0,0.25);
  border: 1px solid rgba(255,255,255,0.08);
}

.subcontract-cta-section__kicker{
  color: rgba(0,0,0,0.55) !important;
  font-weight: 800 !important;
  letter-spacing: 0.12em !important;
}

.subcontract-cta-section__card .wp-block-heading{
  color: #111 !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
}

.subcontract-cta-section__card p{
  color: rgba(0,0,0,0.78) !important;
  line-height: 1.65 !important;
}

.subcontract-cta-section__card p strong{
  color: #111;
}

.subcontract-cta-section__highlights{
  list-style: none !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
}

.subcontract-cta-section__highlights li{
  position: relative;
  padding-left: 0;
  color: rgba(0,0,0,0.72);
  font-size: 15px;
  font-weight: 600;
}

.subcontract-cta-section__highlights li::before{
  content: "✓";
  margin-right: 8px;
  color: #0b1220;
  font-weight: 800;
}

.subcontract-cta-section__btn .wp-block-button__link{
  background: #0b1220 !important;
  color: #fff !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em !important;
  border: 0 !important;
}

.subcontract-cta-section__btn .wp-block-button__link:hover{
  filter: brightness(1.08);
}

@media (max-width: 640px){
  .subcontract-cta-section__card{
    padding: 28px 22px;
  }

  .subcontract-cta-section__highlights{
    flex-direction: column;
    gap: 8px;
  }
}

/* ============================= */
/* GLOBAL: FOOTER               */
/* ============================= */

footer.footer{
  background: #0b1220 !important;
  color: rgba(255,255,255,0.85) !important;
  padding-top: 28px !important;
  margin-top: 0 !important;
}

footer.footer a{
  color: rgba(255,255,255,0.92) !important;
  text-decoration: none !important;
}

footer.footer a:hover{
  color: #fff !important;
  text-decoration: underline !important;
}

footer.footer .widget-title,
footer.footer h5{
  color: #fff !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em;
}

footer.footer .container{
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

footer.footer .copyright,
footer.footer .footer-copyright{
  border-top: 1px solid rgba(255,255,255,0.12) !important;
  margin-top: 16px !important;
  padding-top: 12px !important;
  color: rgba(255,255,255,0.65) !important;
}

/* ============================= */
/* PROJECTS PAGE: LAYOUT        */
/* ============================= */

.page-id-3345 .page-header,
.page-id-3345 .entry-header,
.page-id-3345 .entry-title,
.page-id-3345 .page-title,
.page-id-3345 h1.wp-block-post-title,
.page-id-3345 .wp-block-post-title{
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* ============================= */
/* PROJECTS: HERITAGE BADGE + IMG */
/* ============================= */

.tss-projects .tss-projectCard__status--heritage{
  background: rgba(168,85,247,0.10);
  color: #6d28d9;
  border: 1px solid rgba(168,85,247,0.18);
}

.tss-projects .tss-projectCard__img--placeholder{
  height: 260px;
  background: linear-gradient(135deg, rgba(11,18,32,.92), rgba(17,24,39,.62));
  border-radius: 16px 16px 0 0;
  margin: -16px -16px 14px;
  border-bottom: 1px solid rgba(0,0,0,0.10);
}
/* ============================= */
/* SERVICES & PROJECTS: SHARED  */
/* ============================= */

.tss-services .tss-wrap,
.tss-projects .tss-wrap{
  width: min(1100px, 92%);
  margin: 0 auto;
}

.tss-projects .tss-wrap{
  padding: 32px 0 60px;
}

.tss-services .tss-wrap{
  padding: 40px 0 70px;
}

.tss-services .tss-hero,
.tss-projects .tss-hero{
  position: relative;
  min-height: 75vh;
  background-color: #0b1220;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.tss-services .tss-hero::before,
.tss-projects .tss-hero::before{
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
}

.tss-projects .tss-hero::before{
  background: linear-gradient(135deg, rgba(11,18,32,.92), rgba(11,18,32,.60));
}

.tss-services .tss-hero::before{
  background: linear-gradient(135deg, rgba(11,18,32,.92), rgba(11,18,32,.62));
}

.tss-services .tss-hero__overlay,
.tss-projects .tss-hero__overlay{
  position: absolute;
  inset: 0;
  z-index: 1;
}

.tss-projects .tss-hero__overlay{
  background: rgba(0,0,0,0.20);
}

.tss-services .tss-hero__overlay{
  background: rgba(0,0,0,0.18);
}

.tss-services .tss-hero__inner,
.tss-projects .tss-hero__inner{
  position: relative;
  z-index: 2;
  width: min(1100px, 92%);
  margin: 0 auto;
  color: #fff;
}

.tss-projects .tss-hero__inner{
  padding: 70px 0;
}

.tss-services .tss-hero__inner{
  padding: 78px 0;
}

.tss-services .tss-hero__kicker,
.tss-projects .tss-hero__kicker{
  display: inline-block;
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.18);
}

.tss-projects .tss-hero__kicker{
  margin: 0 0 12px;
}

.tss-services .tss-hero__kicker{
  margin: 0 0 14px;
}

.tss-services .tss-hero__title,
.tss-projects .tss-hero__title{
  margin: 0 0 10px;
  line-height: 1.05;
}

.tss-projects .tss-hero__title{
  font-size: clamp(34px, 4vw, 54px);
}

.tss-services .tss-hero__title{
  font-size: clamp(36px, 4vw, 58px);
  line-height: 1.03;
  color: #fff;
  margin: 0 0 12px;
}

.tss-services .tss-hero__sub,
.tss-projects .tss-hero__sub{
  margin: 0;
  max-width: 75ch;
  color: rgba(255,255,255,0.86);
}

.tss-projects .tss-hero__sub{
  font-size: 16px;
  line-height: 1.6;
}

.tss-services .tss-hero__sub{
  font-size: 17px;
  line-height: 1.65;
}

.tss-services .tss-hero__cta,
.tss-projects .tss-hero__cta{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.tss-projects .tss-hero__cta{
  margin-top: 18px;
}

.tss-services .tss-hero__cta{
  margin-top: 22px;
}

.tss-services .tss-btn,
.tss-projects .tss-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 16px;
  border-radius: 12px;
  font-weight: 800;
  text-decoration: none;
  border: 1px solid rgba(255,255,255,0.18);
  white-space: nowrap;
}

.tss-services .tss-btn--primary,
.tss-projects .tss-btn--primary{
  background: #fff;
  color: #111;
}

.tss-services .tss-btn--ghost,
.tss-projects .tss-btn--ghost{
  background: rgba(255,255,255,0.10);
  color: #fff;
}

.tss-services .tss-grid,
.tss-projects .tss-grid{
  display: grid;
}

.tss-projects .tss-grid{
  gap: 14px;
  margin-top: 14px;
}

.tss-services .tss-grid{
  gap: 16px;
  margin-top: 0;
}

.tss-services .tss-grid--3{ grid-template-columns: repeat(3, 1fr); }
.tss-services .tss-grid--2{ grid-template-columns: repeat(2, 1fr); }
.tss-projects .tss-grid--2{ grid-template-columns: repeat(2, 1fr); }

@media (max-width: 980px){
  .tss-services .tss-grid--3,
  .tss-services .tss-grid--2,
  .tss-projects .tss-grid--2{
    grid-template-columns: 1fr;
  }
}

.tss-services .tss-card,
.tss-projects .tss-card{
  background: #fff;
  border: 1px solid rgba(0,0,0,0.10);
  box-shadow: 0 10px 26px rgba(0,0,0,0.06);
}

.tss-projects .tss-card{
  border-radius: 16px;
  padding: 18px;
}

.tss-services .tss-card{
  border-radius: 18px;
  padding: 22px 20px;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.tss-services .tss-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(0,0,0,0.08);
  border-color: rgba(0,0,0,0.14);
}

.tss-services .tss-card h2,
.tss-services .tss-card h3{
  margin-top: 0;
  margin-bottom: 10px;
  color: #111;
}

.tss-services .tss-card p,
.tss-projects .tss-card p{
  margin: 0;
  color: rgba(0,0,0,0.74);
  line-height: 1.6;
}

.tss-services .tss-card p{
  line-height: 1.65;
}

.tss-services .tss-card__kicker{
  margin: 0 0 8px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(0,0,0,0.46);
}

/* ============================= */
/* SERVICES PAGE                */
/* ============================= */

.tss-services .tss-sectionIntro{
  max-width: 820px;
  margin-bottom: 26px;
}

.tss-services .tss-sectionIntro__kicker{
  margin: 0 0 8px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(0,0,0,0.48);
}

.tss-services .tss-sectionTitle{
  margin: 0 0 10px;
  text-align: left;
  font-size: clamp(28px, 3vw, 40px);
  color: #111;
}

.tss-services .tss-sectionIntro__text{
  margin: 0;
  color: rgba(0,0,0,0.68);
  line-height: 1.7;
  font-size: 16px;
}

.tss-services .tss-services__highlights{
  margin-top: 22px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 12px 14px;
  max-width: 640px;
}

.tss-services .tss-services__highlight{
  padding: 14px 16px;
  border-radius: 16px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.10);
  backdrop-filter: blur(4px);
}

.tss-services .tss-services__highlight strong{
  display: block;
  font-weight: 900;
  color: #fff;
}

.tss-services .tss-services__highlight span{
  display: block;
  color: rgba(255,255,255,.78);
  margin-top: 3px;
}

.tss-services .tss-split{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-top: 26px;
}

.tss-services .tss-list{
  margin: 0;
  padding-left: 18px;
}

.tss-services .tss-list li{
  margin-bottom: 12px;
  color: rgba(0,0,0,0.74);
  line-height: 1.65;
}

.tss-services .tss-crew__photo{
  margin: 18px 0 0;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,0.10);
}

.tss-services .tss-crew__photo img{
  width: 100%;
  height: 260px;
  object-fit: cover;
  display: block;
}

.tss-services .tss-ctaCard,
.tss-projects .tss-ctaCard{
  color: rgba(255,255,255,0.88);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}

.tss-projects .tss-ctaCard{
  margin-top: 18px;
  background: #0b1220;
  border-radius: 18px;
  padding: 18px;
}

.tss-services .tss-ctaCard{
  margin-top: 26px;
  background: linear-gradient(135deg, #0b1220, #111827);
  border-radius: 20px;
  padding: 24px;
  box-shadow: 0 18px 40px rgba(0,0,0,0.16);
}

.tss-services .tss-ctaCard h2,
.tss-projects .tss-ctaCard h2{
  margin: 0 0 6px;
  color: #fff;
}

.tss-services .tss-ctaCard h2{
  margin: 0 0 8px;
}

.tss-services .tss-ctaCard p,
.tss-projects .tss-ctaCard p{
  margin: 0;
  color: rgba(255,255,255,0.80);
}

.tss-projects .tss-ctaCard p{
  max-width: 70ch;
}

.tss-services .tss-ctaCard p{
  max-width: 72ch;
  line-height: 1.65;
}

.tss-services .tss-ctaCard__actions,
.tss-projects .tss-ctaCard__actions{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

@media (max-width: 700px){
  .tss-services .tss-services__highlights{
    grid-template-columns: 1fr;
  }

  .tss-projects .tss-stats{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 980px){
  .tss-services .tss-split{
    grid-template-columns: 1fr;
  }

  .tss-projects .tss-crewBanner{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px){
  .tss-services .tss-wrap{
    padding: 34px 0 56px;
  }

  .tss-services .tss-hero__inner{
    padding: 64px 0;
  }

  .tss-services .tss-ctaCard{
    padding: 20px;
  }
}

/* ============================= */
/* PROJECTS PAGE                */
/* ============================= */

.tss-projects .tss-stats{
  margin-top: 18px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 10px 14px;
  max-width: 520px;
}

.tss-projects .tss-stat strong{
  display: block;
  font-weight: 900;
}

.tss-projects .tss-stat span{
  display: block;
  color: rgba(255,255,255,0.80);
  margin-top: 2px;
}

.tss-projects .tss-sectionTitle{
  margin: 26px 0 10px;
  text-align: left;
}

.tss-projects .tss-projectCard{
  background: #fff;
  border: 1px solid rgba(0,0,0,0.10);
  border-radius: 16px;
  padding: 16px;
  box-shadow: 0 10px 26px rgba(0,0,0,0.06);
}

.tss-projects .tss-projectCard__img{
  margin: -16px -16px 14px;
  border-radius: 16px 16px 0 0;
  overflow: hidden;
  border-bottom: 1px solid rgba(0,0,0,0.10);
}

.tss-projects .tss-projectCard__img img{
  width: 100%;
  height: 260px;
  object-fit: cover;
  display: block;
}

.tss-projects .tss-muted{
  color: rgba(0,0,0,0.62);
  margin: 0 0 6px;
  font-size: 14px;
}

.tss-projects .tss-link{
  display: inline-block;
  margin-top: 10px;
  font-weight: 800;
  text-decoration: none;
  border-bottom: 1px solid rgba(0,0,0,0.18);
  color: #111;
}

.tss-projects .tss-link:hover{
  border-bottom-color: rgba(0,0,0,0.40);
}

.tss-projects .tss-crewBanner{
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 14px;
  align-items: center;
}

.tss-projects .tss-crewBanner__img img{
  width: 100%;
  height: 260px;
  object-fit: cover;
  border-radius: 16px;
  display: block;
  border: 1px solid rgba(0,0,0,0.10);
}

/* ============================= */
/* PROJECTS PAGE ENHANCEMENTS   */
/* ============================= */

.tss-projects__eyebrow{
  margin: 0 0 8px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(0,0,0,0.48);
}

.tss-projects__intro{
  max-width: 820px;
  margin: 30px 0 18px;
}

.tss-projects__intro--completed{
  margin-top: 34px;
}

.tss-projects__introText{
  margin: 0;
  color: rgba(0,0,0,0.68);
  line-height: 1.7;
  font-size: 16px;
}

.tss-projects .tss-crewBanner{
  margin-bottom: 28px;
}

.tss-projects .tss-crewBanner__text h2{
  margin: 0 0 10px;
  color: #111;
}

.tss-projects .tss-crewBanner__text p{
  margin: 0;
  color: rgba(0,0,0,0.74);
  line-height: 1.65;
}

.tss-projects .tss-projectCard{
  overflow: hidden;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.tss-projects .tss-projectCard:hover{
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(0,0,0,0.08);
  border-color: rgba(0,0,0,0.14);
}

.tss-projects .tss-projectCard__body{
  padding: 2px 2px 0;
}

.tss-projects .tss-projectCard__status{
  display: inline-flex;
  align-items: center;
  margin: 0 0 10px;
  padding: 7px 11px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.tss-projects .tss-projectCard__status--live{
  background: rgba(16,185,129,0.12);
  color: #0f766e;
  border: 1px solid rgba(16,185,129,0.20);
}

.tss-projects .tss-projectCard__status--done{
  background: rgba(59,130,246,0.10);
  color: #1d4ed8;
  border: 1px solid rgba(59,130,246,0.18);
}

.tss-projects .tss-projectCard h3{
  margin-top: 0;
  margin-bottom: 8px;
  color: #111;
}

.tss-projects .tss-projectCard p{
  font-size: 15px;
  line-height: 1.6;
}
/* ============================= */
/* HOME PAGE: CONTENT WRAPPERS  */
/* ============================= */

.home .page-header{
  display: none !important;
}

.home .page-content,
.home .main,
.home #content{
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* ============================= */
/* ABOUT PAGE                   */
/* ============================= */

.page-id-3341 .page-header,
.page-id-3341 .entry-header,
.page-id-3341 .entry-title,
.page-id-3341 .page-title,
.page-id-3341 h1.wp-block-post-title,
.page-id-3341 .wp-block-post-title{
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.tss-about .tss-aboutBadges{
  margin-top: 18px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.tss-about .tss-aboutBadges .tss-badge{
  display: inline-flex;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.18);
  color: rgba(255,255,255,0.92);
  font-weight: 800;
  font-size: 12px;
  letter-spacing: 0.06em;
}

.tss-about .tss-pillRow{
  margin-top: 12px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tss-about .tss-pill{
  display: inline-flex;
  align-items: center;
  padding: 8px 10px;
  border-radius: 999px;
  background: rgba(0,0,0,0.05);
  border: 1px solid rgba(0,0,0,0.10);
  font-size: 13px;
  font-weight: 800;
}

.tss-about .tss-strip{
  margin-top: 14px;
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid rgba(0,0,0,0.10);
  background: rgba(0,0,0,0.03);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  box-shadow: 0 10px 26px rgba(0,0,0,0.06);
}

.tss-about .tss-strip__item{
  min-width: 160px;
}

.tss-about .tss-strip__num{
  font-size: 22px;
  font-weight: 900;
  margin-bottom: 2px;
}

.tss-about .tss-strip__label{
  font-size: 12px;
  letter-spacing: .10em;
  text-transform: uppercase;
  color: rgba(0,0,0,.60);
}

.tss-about .tss-strip__divider{
  width: 1px;
  height: 34px;
  background: rgba(0,0,0,.12);
}

@media (max-width: 680px){
  .tss-about .tss-strip__divider{
    display: none;
  }
}

/* ============================= */
/* ABOUT PAGE ENHANCEMENTS      */
/* ============================= */

.tss-about .tss-sectionIntro{
  max-width: 840px;
  margin-bottom: 26px;
}

.tss-about .tss-sectionIntro--tight{
  margin-bottom: 22px;
}

.tss-about .tss-sectionIntro__kicker{
  margin: 0 0 8px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(0,0,0,0.48);
}

.tss-about .tss-sectionTitle{
  margin: 0 0 10px;
  text-align: left;
  font-size: clamp(28px, 3vw, 40px);
  color: #111;
}

.tss-about .tss-sectionIntro__text{
  margin: 0;
  color: rgba(0,0,0,0.68);
  line-height: 1.7;
  font-size: 16px;
}

.tss-about .tss-list{
  margin: 0;
  padding-left: 18px;
}

.tss-about .tss-list li{
  margin-bottom: 12px;
  color: rgba(0,0,0,0.74);
  line-height: 1.65;
}

.tss-about .tss-aboutAccreditations{
  margin-top: 34px;
}

.tss-about .tss-accreditationCard{
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.tss-about .tss-accreditationCard__imageWrap{
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 240px;
  margin-bottom: 18px;
}

.tss-about .tss-accreditationCard__image{
  max-width: 220px;
  max-height: 220px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}

.tss-about .tss-isoPanel{
  margin-top: 22px;
  padding: 26px 24px;
  border-radius: 20px;
  background: linear-gradient(135deg, #ffffff, #f8fafc);
}

.tss-about .tss-isoPanel__header{
  max-width: 850px;
  margin-bottom: 18px;
}

.tss-about .tss-isoPanel__header h3{
  margin-top: 0;
  margin-bottom: 10px;
  color: #111;
}

.tss-about .tss-isoPanel__header p{
  margin: 0;
  color: rgba(0,0,0,0.72);
  line-height: 1.7;
}

.tss-about .tss-isoPanel__gallery{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin: 20px 0 22px;
}

.tss-about .tss-isoPanel__imgBox{
  background: #fff;
  border: 1px solid rgba(0,0,0,0.10);
  border-radius: 18px;
  padding: 16px;
  min-height: 280px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 26px rgba(0,0,0,0.05);
}

.tss-about .tss-isoPanel__imgBox img{
  width: 100%;
  max-width: 100%;
  max-height: 240px;
  object-fit: contain;
  display: block;
}

.tss-about .tss-isoPanel__list{
  margin: 0;
  padding-left: 20px;
}

.tss-about .tss-isoPanel__list li{
  margin-bottom: 10px;
  color: rgba(0,0,0,0.78);
  line-height: 1.6;
}

@media (max-width: 980px){
  .tss-about .tss-isoPanel__gallery{
    grid-template-columns: 1fr;
  }

  .tss-about .tss-isoPanel__imgBox{
    min-height: 240px;
  }
}

/* ============================= */
/* LEGAL PAGES: PRIVACY + TERMS  */
/* ============================= */

.tss-legal .tss-hero{
  position: relative;
  min-height: 55vh;
  background-color: #0b1220;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.tss-legal .tss-hero__overlay{
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(11,18,32,.92), rgba(11,18,32,.62));
}

.tss-legal .tss-hero__inner{
  position: relative;
  z-index: 2;
  width: min(1100px, 92%);
  margin: 0 auto;
  padding: 78px 0;
  color: #fff;
}

.tss-legal .tss-hero__kicker{
  display: inline-block;
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.18);
  margin: 0 0 14px;
}

.tss-legal .tss-hero__title{
  margin: 0 0 12px;
  font-size: clamp(34px, 4vw, 58px);
  line-height: 1.03;
}

.tss-legal .tss-hero__sub{
  margin: 0;
  max-width: 80ch;
  color: rgba(255,255,255,0.86);
  font-size: 16px;
  line-height: 1.65;
}

.tss-legal .tss-wrap{
  width: min(1100px, 92%);
  margin: 0 auto;
  padding: 40px 0 70px;
}

.tss-legal .tss-legalCard{
  background: #fff;
  border: 1px solid rgba(0,0,0,0.10);
  border-radius: 18px;
  padding: 28px 26px;
  box-shadow: 0 10px 26px rgba(0,0,0,0.06);
}

.tss-legal .tss-legalTOC{
  padding: 18px 18px;
  border-radius: 16px;
  background: rgba(0,0,0,0.03);
  border: 1px solid rgba(0,0,0,0.08);
  margin-bottom: 22px;
}

.tss-legal .tss-legalTOC h2{
  margin: 0 0 10px;
  color: #111;
}

.tss-legal .tss-legalTOC ul{
  margin: 0;
  padding-left: 18px;
}

.tss-legal .tss-legalTOC a{
  color: #111;
  font-weight: 800;
  text-decoration: none;
  border-bottom: 1px solid rgba(0,0,0,0.18);
}

.tss-legal .tss-legalTOC a:hover{
  border-bottom-color: rgba(0,0,0,0.40);
}

.tss-legal .tss-legalSection{
  margin-top: 26px;
}

.tss-legal h2{
  margin: 0 0 10px;
  color: #111;
}

.tss-legal p{
  margin: 0 0 12px;
  color: rgba(0,0,0,0.74);
  line-height: 1.7;
}

.tss-legal ul{
  margin: 0 0 12px;
  padding-left: 18px;
}

.tss-legal li{
  margin-bottom: 10px;
  color: rgba(0,0,0,0.74);
  line-height: 1.7;
}

@media (max-width: 640px){
  .tss-legal .tss-hero__inner{
    padding: 64px 0;
  }

  .tss-legal .tss-legalCard{
    padding: 22px 18px;
  }
}

/* HOME: SERVICES SECTION */
.tss-home-services .alignwide{
  max-width: 1100px;
  margin-left: auto !important;
  margin-right: auto !important;
}

.tss-home-card{
  background: #fff;
  border: 1px solid rgba(0,0,0,0.10);
  border-radius: 18px;
  padding: 22px 20px;
  box-shadow: 0 10px 26px rgba(0,0,0,0.06);
}

.tss-home-card__kicker{
  margin: 0 0 8px !important;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(0,0,0,0.46) !important;
}

.tss-home-card h3{
  margin: 0 0 10px !important;
  color: #111 !important;
}

.tss-home-card p{
  margin: 0 0 14px !important;
  color: rgba(0,0,0,0.74) !important;
  line-height: 1.65 !important;
}

.tss-home-card__btn .wp-block-button__link{
  background: #0b1220 !important;
  color: #fff !important;
  font-weight: 800 !important;
  border-radius: 12px !important;
  padding: 12px 16px !important;
}

/* Optional: make the CTA row look like your other cards */
.tss-home-services-cta{
  margin-top: 18px;
  background: linear-gradient(135deg, #0b1220, #111827);
  border-radius: 18px;
  padding: 18px 18px;
  border: 1px solid rgba(0,0,0,0.10);
  box-shadow: 0 10px 26px rgba(0,0,0,0.06);
}

.tss-home-services-cta h3{
  color: #fff !important;
}

.tss-home-services-cta p{
  color: rgba(255,255,255,0.86) !important;
}

.tss-home-services-cta__btn .wp-block-button__link{
  background: #fff !important;
  color: #111 !important;
  font-weight: 900 !important;
  border-radius: 12px !important;
  padding: 12px 16px !important;
}

/* ===================================== */
/* DETAIL / SERVICES PAGE HARD RESET     */
/* Put this at the VERY BOTTOM of style.css */
/* ===================================== */

/* Kill Hestia/WP page-title gap properly */
body.tss-detail-page .page-header,
body.tss-detail-page .entry-header,
body.tss-detail-page .entry-title,
body.tss-detail-page .page-title,
body.tss-detail-page h1.wp-block-post-title,
body.tss-detail-page .wp-block-post-title,
body.tss-detail-page .single-post-wrap .entry-header,
body.tss-detail-page .single-post-wrap .entry-title{
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
}

body.tss-detail-page .wp-site-blocks,
body.tss-detail-page .site-content,
body.tss-detail-page #content,
body.tss-detail-page #primary,
body.tss-detail-page #main,
body.tss-detail-page .main,
body.tss-detail-page article,
body.tss-detail-page .page,
body.tss-detail-page .post,
body.tss-detail-page .hestia-blogs,
body.tss-detail-page .container,
body.tss-detail-page .blog-post{
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.tss-detail-page .entry-content > *:first-child,
body.tss-detail-page .page-content > *:first-child,
body.tss-detail-page .wp-block-post-content > *:first-child{
  margin-top: 0 !important;
}

/* Full width breakout */
.tss-detail{
  width: 100vw !important;
  max-width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  margin: 0 !important;
  overflow: clip;
}

/* All detail heroes full bleed, not just --full */
.tss-detail .tss-hero,
.tss-detail .tss-hero--full{
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  min-height: clamp(520px, 78vh, 920px) !important;
  display: flex !important;
  align-items: center !important;
  background-color: #0b1220 !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

.tss-detail .tss-hero::before{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(11,18,32,.88), rgba(11,18,32,.45)) !important;
  z-index: 0;
}

.tss-detail .tss-hero__overlay{
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.14) !important;
  z-index: 1;
}

.tss-detail .tss-hero__inner{
  position: relative;
  z-index: 2;
  width: min(1400px, 92%) !important;
  margin: 0 auto !important;
  padding: 92px 0 !important;
  color: #fff;
}

.tss-detail .tss-hero__title{
  margin: 0 0 14px !important;
  font-size: clamp(40px, 5vw, 68px) !important;
  line-height: 1.02 !important;
  color: #fff !important;
}

.tss-detail .tss-hero__sub{
  margin: 0 !important;
  max-width: 72ch !important;
  font-size: clamp(17px, 1.4vw, 19px) !important;
  line-height: 1.7 !important;
  color: rgba(255,255,255,.88) !important;
}

.tss-detail .tss-hero__cta{
  margin-top: 24px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

/* Content width */
.tss-detail .tss-wrap{
  width: min(1380px, 92%) !important;
  margin: 0 auto !important;
  padding: 44px 0 72px !important;
}

/* Block cards */
.tss-detail .tss-detailBlock{
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr) !important;
  align-items: stretch !important;
  gap: 0 !important;
  margin: 0 0 28px !important;
  background: #fff !important;
  border: 1px solid rgba(0,0,0,.10) !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  box-shadow: 0 10px 26px rgba(0,0,0,.06) !important;
}

.tss-detail .tss-detailBlock--flip .tss-detailBlock__img{ order: 2 !important; }
.tss-detail .tss-detailBlock--flip .tss-detailBlock__body{ order: 1 !important; }

.tss-detail .tss-detailBlock__img{
  min-height: 380px !important;
  height: 100% !important;
  overflow: hidden !important;
}

.tss-detail .tss-detailBlock__img img{
  width: 100% !important;
  height: 100% !important;
  min-height: 380px !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
}

.tss-detail .tss-detailBlock__body{
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: 38px 34px !important;
}

.tss-detail .tss-detailBlock__kicker{
  margin: 0 0 8px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: rgba(0,0,0,.48) !important;
}

.tss-detail .tss-detailBlock__title{
  margin: 0 0 14px !important;
  font-size: clamp(24px, 2.2vw, 32px) !important;
  line-height: 1.15 !important;
  color: #111 !important;
  text-align: left !important;
}

.tss-detail .tss-detailBlock__text{
  margin: 0 0 14px !important;
  font-size: 16px !important;
  line-height: 1.72 !important;
  color: rgba(0,0,0,.74) !important;
}

.tss-detail .tss-detailBlock__link{
  display: inline-block !important;
  margin-top: 6px !important;
  align-self: flex-start !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  color: #111 !important;
  border-bottom: 2px solid rgba(0,0,0,.18) !important;
}

/* Services section intro */
.tss-services .tss-sectionIntro{
  max-width: 860px !important;
  margin: 10px 0 28px !important;
}

.tss-services .tss-sectionIntro--labour{
  margin-top: 42px !important;
}

.tss-services .tss-sectionIntro__kicker{
  margin: 0 0 8px !important;
}

.tss-services .tss-sectionTitle{
  margin: 0 0 10px !important;
  text-align: left !important;
}

/* CTA card needs content wrapper because your old HTML was loose text */
.tss-services .tss-ctaCard{
  margin-top: 34px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  flex-wrap: wrap !important;
  padding: 28px !important;
  border-radius: 22px !important;
}

.tss-services .tss-ctaCard__content{
  flex: 1 1 420px;
  min-width: 280px;
}

.tss-services .tss-ctaCard__content h2{
  margin: 0 0 10px !important;
}

.tss-services .tss-ctaCard__content p{
  margin: 0 !important;
  max-width: 72ch !important;
  line-height: 1.68 !important;
  color: rgba(255,255,255,.82) !important;
}

.tss-services .tss-ctaCard__actions{
  flex: 0 0 auto;
}

@media (max-width: 980px){
  .tss-detail .tss-detailBlock{
    grid-template-columns: 1fr !important;
  }

  .tss-detail .tss-detailBlock--flip .tss-detailBlock__img,
  .tss-detail .tss-detailBlock--flip .tss-detailBlock__body{
    order: 0 !important;
  }

  .tss-detail .tss-detailBlock__img,
  .tss-detail .tss-detailBlock__img img{
    min-height: 280px !important;
  }

  .tss-detail .tss-detailBlock__body{
    padding: 28px 22px !important;
  }

  .tss-detail .tss-hero,
  .tss-detail .tss-hero--full{
    min-height: 64vh !important;
  }

  .tss-detail .tss-hero__inner{
    padding: 72px 0 !important;
  }
}

@media (max-width: 640px){
  .tss-detail .tss-wrap{
    width: min(1380px, 94%) !important;
    padding: 34px 0 56px !important;
  }

  .tss-detail .tss-hero__inner{
    width: min(1400px, 94%) !important;
    padding: 60px 0 !important;
  }

  .tss-detail .tss-detailBlock__img,
  .tss-detail .tss-detailBlock__img img{
    min-height: 220px !important;
  }

  .tss-services .tss-ctaCard{
    padding: 22px !important;
  }
}

/* Numbered detail list for ladder quality section */
.tss-detail .tss-detailBlock__numberList{
  margin: 6px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
  counter-reset: tss-detail-counter;
  display: grid;
  gap: 14px;
}

.tss-detail .tss-detailBlock__numberList li{
  position: relative;
  margin: 0 !important;
  padding: 0 0 0 42px !important;
  color: rgba(0,0,0,.74) !important;
  font-size: 16px !important;
  line-height: 1.72 !important;
  counter-increment: tss-detail-counter;
}

.tss-detail .tss-detailBlock__numberList li::before{
  content: counter(tss-detail-counter) ".";
  position: absolute;
  top: 0;
  left: 0;
  font-size: 24px;
  line-height: 1;
  font-weight: 900;
  color: #e05252;
}

@media (max-width: 640px){
  .tss-detail .tss-detailBlock__numberList{
    gap: 12px;
  }

  .tss-detail .tss-detailBlock__numberList li{
    padding-left: 34px !important;
    font-size: 15px !important;
  }

  .tss-detail .tss-detailBlock__numberList li::before{
    font-size: 20px;
  }
}

.tss-detail .tss-detailBlock__list{
  margin: 4px 0 0 !important;
  padding-left: 20px !important;
}

.tss-detail .tss-detailBlock__list li{
  margin: 0 0 10px !important;
  color: rgba(0,0,0,.74) !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
}

/* ===================================== */
/* FACADE PAGE CONTENT ENHANCEMENTS      */
/* ===================================== */

.tss-detail .tss-specStrip{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 28px !important;
}

.tss-detail .tss-specStrip__item{
  background: #fff;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 18px;
  padding: 18px 18px;
  box-shadow: 0 10px 26px rgba(0,0,0,.05);
}

.tss-detail .tss-specStrip__label{
  display: block;
  margin: 0 0 6px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(0,0,0,.46);
}

.tss-detail .tss-specStrip__value{
  display: block;
  color: #111;
  font-size: 17px;
  line-height: 1.4;
}

.tss-detail .tss-benefitGrid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 6px;
}

.tss-detail .tss-benefitCard{
  background: #fff;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 20px;
  padding: 24px 22px;
  box-shadow: 0 10px 26px rgba(0,0,0,.06);
}

.tss-detail .tss-benefitCard__kicker{
  margin: 0 0 8px !important;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(0,0,0,.46);
}

.tss-detail .tss-benefitCard h3{
  margin: 0 0 10px !important;
  color: #111 !important;
  font-size: 22px;
  line-height: 1.2;
}

.tss-detail .tss-benefitCard p{
  margin: 0 !important;
  color: rgba(0,0,0,.74) !important;
  line-height: 1.68 !important;
}

@media (max-width: 980px){
  .tss-detail .tss-specStrip{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tss-detail .tss-benefitGrid{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px){
  .tss-detail .tss-specStrip{
    grid-template-columns: 1fr;
  }
}

.tss-detail .tss-detailBlock__img--contain{
  background: #f5f5f5;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 24px !important;
}

.tss-detail .tss-detailBlock__img--contain img{
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: 340px !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block !important;
}

/* ============================= */
/* PROJECTS: LAYOUT OVERRIDE    */
/* ============================= */

/* Override the generic .tss-detail .tss-wrap (1380px) — projects cards
   look better in a narrower container so they aren't stretched. */
.tss-detail.tss-projects .tss-wrap{
  width: min(1100px, 92%) !important;
}

/* ============================= */
/* PROJECTS: LINKED CARD STYLES */
/* ============================= */

.tss-projects .tss-projectCard__meta{
  margin: 0 0 10px;
  font-size: 14px;
  color: rgba(0,0,0,0.62);
  line-height: 1.5;
}

.tss-projects .tss-projectCard__meta strong{
  color: rgba(0,0,0,0.78);
}

.tss-projects .tss-projectCard__link{
  display: inline-block;
  margin-top: 12px;
  font-weight: 800;
  font-size: 14px;
  color: #111;
  text-decoration: none;
  border-bottom: 2px solid rgba(0,0,0,0.18);
  transition: border-color .15s ease;
}

.tss-projects .tss-projectCard__link:hover{
  border-bottom-color: rgba(0,0,0,0.40);
}

/* ============================= */
/* PROJECT DETAIL: INFO STRIP   */
/* ============================= */

.tss-projectDetail__infoStrip{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin: 0 0 28px;
}

.tss-projectDetail__infoItem{
  background: #fff;
  border: 1px solid rgba(0,0,0,0.10);
  border-radius: 16px;
  padding: 18px 18px;
  box-shadow: 0 10px 26px rgba(0,0,0,0.05);
}

.tss-projectDetail__infoLabel{
  display: block;
  margin: 0 0 6px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(0,0,0,0.46);
}

.tss-projectDetail__infoValue{
  display: block;
  color: #111;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
}

.tss-projectDetail__infoValue--live{
  color: #0f766e;
}

.tss-projectDetail__infoValue--done{
  color: #1d4ed8;
}

@media (max-width: 980px){
  .tss-projectDetail__infoStrip{
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px){
  .tss-projectDetail__infoStrip{
    grid-template-columns: 1fr;
  }
}

/* ===================================== */
/* SERVICE PAGE VIDEO SECTION            */
/* ===================================== */

.tss-services .tss-videoSection{
  margin: 0 0 28px;
  padding: 24px;
  background: #fff;
  border: 1px solid rgba(0,0,0,0.10);
  border-radius: 22px;
  box-shadow: 0 10px 26px rgba(0,0,0,0.06);
}

.tss-services .tss-videoSection__intro{
  max-width: 760px;
  margin-bottom: 18px;
}

.tss-services .tss-videoSection__kicker{
  margin: 0 0 8px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(0,0,0,0.48);
}

.tss-services .tss-videoSection__title{
  margin: 0 0 10px;
  font-size: clamp(24px, 2.2vw, 32px);
  line-height: 1.15;
  color: #111;
}

.tss-services .tss-videoSection__text{
  margin: 0;
  color: rgba(0,0,0,0.72);
  line-height: 1.7;
}

.tss-services .tss-videoGrid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 18px;
}

.tss-services .tss-videoGrid--single{
  grid-template-columns: 1fr;
}

.tss-services .tss-videoCard{
  background: #fff;
}

.tss-services .tss-videoCard__frame{
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  background: #0b1220;
  aspect-ratio: 16 / 9;
  box-shadow: 0 10px 24px rgba(0,0,0,0.10);
}

.tss-services .tss-videoCard__frame iframe{
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

.tss-services .tss-videoCard__caption{
  margin: 10px 2px 0;
  color: rgba(0,0,0,0.66);
  line-height: 1.6;
  font-size: 14px;
}

@media (max-width: 900px){
  .tss-services .tss-videoGrid{
    grid-template-columns: 1fr;
  }

  .tss-services .tss-videoSection{
    padding: 20px;
  }
}

/* ===================================== */
/* PROJECT PAGE VIDEO SECTION            */
/* ===================================== */

.tss-projects .tss-videoSection{
  margin: 0 0 28px;
  padding: 24px;
  background: #fff;
  border: 1px solid rgba(0,0,0,0.10);
  border-radius: 22px;
  box-shadow: 0 10px 26px rgba(0,0,0,0.06);
}

.tss-projects .tss-videoSection__intro{
  max-width: 760px;
  margin-bottom: 18px;
}

.tss-projects .tss-videoSection__kicker{
  margin: 0 0 8px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(0,0,0,0.48);
}

.tss-projects .tss-videoSection__title{
  margin: 0 0 10px;
  font-size: clamp(24px, 2.2vw, 32px);
  line-height: 1.15;
  color: #111;
}

.tss-projects .tss-videoSection__text{
  margin: 0;
  color: rgba(0,0,0,0.72);
  line-height: 1.7;
}

.tss-projects .tss-videoGrid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
}

.tss-projects .tss-videoCard__frame{
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  background: #0b1220;
  aspect-ratio: 16 / 9;
  box-shadow: 0 10px 24px rgba(0,0,0,0.10);
}

.tss-projects .tss-videoCard__frame iframe{
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

.tss-projects .tss-videoCard__caption{
  margin: 10px 2px 0;
  color: rgba(0,0,0,0.66);
  line-height: 1.6;
  font-size: 14px;
}

@media (max-width: 900px){
  .tss-projects .tss-videoSection{
    padding: 20px;
  }
}

/* ============================= */
/* HOME PAGE: ENQUIRY SECTION   */
/* ============================= */

.tss-home-enquiry{
  background: linear-gradient(135deg, #f8fafc, #eef2f7);
}

.tss-home-enquiry .alignwide{
  max-width: 1100px;
  margin-left: auto !important;
  margin-right: auto !important;
}

.tss-home-enquiry__intro{
  max-width: 760px;
  margin: 0 0 22px 0;
}

.tss-home-enquiry__kicker{
  margin: 0 0 8px !important;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(0,0,0,0.48) !important;
}

.tss-home-enquiry__title{
  margin: 0 0 12px !important;
  color: #111 !important;
  font-size: clamp(30px, 3.5vw, 42px);
  line-height: 1.08;
  text-align: left !important;
}

.tss-home-enquiry__text{
  margin: 0 0 16px !important;
  color: rgba(0,0,0,0.72) !important;
  line-height: 1.7 !important;
  max-width: 62ch;
}

.tss-home-enquiry__list{
  margin: 0 !important;
  padding-left: 20px !important;
}

.tss-home-enquiry__list li{
  margin-bottom: 8px !important;
  color: rgba(0,0,0,0.74) !important;
  line-height: 1.55 !important;
}

.tss-home-enquiry__formWrap{
  background: #fff;
  border: 1px solid rgba(0,0,0,0.10);
  border-radius: 20px;
  padding: 26px 24px;
  box-shadow: 0 10px 26px rgba(0,0,0,0.06);
}

/* Ninja form cleanup inside enquiry section */
.tss-home-enquiry .nf-form-cont{
  margin: 0;
}

.tss-home-enquiry .nf-form-layout{
  margin: 0 !important;
}

.tss-home-enquiry .nf-before-form-content,
.tss-home-enquiry .nf-after-form-content{
  display: none !important;
}

.tss-home-enquiry .nf-form-fields-required{
  display: none !important;
}

.tss-home-enquiry .nf-form-content{
  padding: 0 !important;
}

.tss-home-enquiry .nf-form-content .nf-field-container{
  margin-bottom: 18px !important;
}

.tss-home-enquiry .nf-form-content label{
  font-weight: 700 !important;
  color: #111 !important;
  margin-bottom: 6px !important;
  font-size: 15px !important;
}

.tss-home-enquiry .nf-form-content input[type="text"],
.tss-home-enquiry .nf-form-content input[type="email"],
.tss-home-enquiry .nf-form-content input[type="tel"],
.tss-home-enquiry .nf-form-content input[type="number"],
.tss-home-enquiry .nf-form-content textarea,
.tss-home-enquiry .nf-form-content select{
  border: 1px solid rgba(0,0,0,0.14) !important;
  border-radius: 12px !important;
  background: #fff !important;
  min-height: 48px !important;
  padding: 12px 14px !important;
  color: #111 !important;
  box-shadow: none !important;
}

.tss-home-enquiry .nf-form-content textarea{
  min-height: 140px !important;
}

.tss-home-enquiry .nf-form-content input:focus,
.tss-home-enquiry .nf-form-content textarea:focus,
.tss-home-enquiry .nf-form-content select:focus{
  border-color: #111 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(17,17,17,0.08) !important;
}

.tss-home-enquiry .submit-wrap{
  margin-top: 10px !important;
}

/* ============================= */
/* MOBILE FIXES                 */
/* ============================= */

@media (max-width: 781px){
  .tss-home-enquiry{
    padding-top: 42px !important;
    padding-bottom: 42px !important;
  }

  .tss-home-enquiry__intro{
    margin-bottom: 16px;
  }

  .tss-home-enquiry__kicker{
    margin-bottom: 6px !important;
    font-size: 11px;
    letter-spacing: 0.10em;
  }

  .tss-home-enquiry__title{
    margin-bottom: 10px !important;
    font-size: clamp(28px, 8vw, 40px) !important;
    line-height: 1.06 !important;
  }

  .tss-home-enquiry__text{
    margin-bottom: 12px !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
  }

  .tss-home-enquiry__list{
    padding-left: 18px !important;
  }

  .tss-home-enquiry__list li{
    margin-bottom: 6px !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
  }

  .tss-home-enquiry__formWrap{
    border-radius: 16px;
    padding: 18px 16px;
  }

  .tss-home-enquiry .nf-form-content .nf-field-container{
    margin-bottom: 14px !important;
  }

  .tss-home-enquiry .nf-form-content label{
    font-size: 14px !important;
  }

  .tss-home-enquiry .nf-form-content input[type="text"],
  .tss-home-enquiry .nf-form-content input[type="email"],
  .tss-home-enquiry .nf-form-content input[type="tel"],
  .tss-home-enquiry .nf-form-content input[type="number"],
  .tss-home-enquiry .nf-form-content textarea,
  .tss-home-enquiry .nf-form-content select{
    min-height: 44px !important;
    padding: 10px 12px !important;
    border-radius: 10px !important;
  }

  .tss-home-enquiry .nf-form-content textarea{
    min-height: 120px !important;
  }
}

.subcontract-cta-section__btn--ghost .wp-block-button__link{
  background: transparent !important;
  color: #111 !important;
  font-weight: 800 !important;
  border: 1px solid rgba(17,17,17,0.16) !important;
}

.subcontract-cta-section__btn--ghost .wp-block-button__link:hover{
  background: rgba(11,18,32,0.04) !important;
}

.tss-home-enquiry__intro{
  max-width: 760px;
  margin: 0 auto 22px auto;
  text-align: center;
}

.tss-home-enquiry__kicker{
  text-align: center !important;
}

.tss-home-enquiry__title{
  text-align: center !important;
}

.tss-home-enquiry__text{
  margin: 0 auto 16px !important;
  max-width: 62ch;
  text-align: center !important;
}

.tss-home-enquiry__list{
  display: inline-block;
  text-align: left;
  margin: 0 auto !important;
  padding-left: 20px !important;
}

.tss-home-enquiry .tss-home-enquiry__intro{
  display: flex;
  flex-direction: column;
  align-items: center;
}