/* TTHI Projects page — brand upgrade, dynamic cards kept */
.elementor-page-134{--navy:#0B1D35;--gold:#C9A35A;--gray:#5B6470;--pale:#D9E0EA;--cream:#F7F5F2}

/* Hide old Elementor hero */
.elementor-element-1f1ab13d{display:none!important}

/* HTML hero */
.tthi-proj{font-family:Inter,Montserrat,Helvetica,Arial,sans-serif;color:var(--gray)}
.tthi-proj-hero{position:relative;min-height:420px;display:flex;align-items:flex-end;overflow:hidden;padding:100px 0 72px}
.tthi-proj-hero__bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.02)}
.tthi-proj-hero__overlay{position:absolute;inset:0;background:linear-gradient(105deg,rgba(11,29,53,.88) 0%,rgba(11,29,53,.55) 55%,rgba(11,29,53,.35) 100%)}
.tthi-proj-hero__inner{position:relative;z-index:1;max-width:1140px;width:100%;margin:0 auto;padding:0 22px}
.tthi-proj-hero__label{font-size:11px;letter-spacing:3px;text-transform:uppercase;font-weight:600;color:var(--gold);margin-bottom:12px}
.tthi-proj-hero h1{font-family:Montserrat,Helvetica,Arial,sans-serif;font-size:clamp(36px,5vw,52px);font-weight:700;color:#fff;margin:0 0 14px;line-height:1.1}
.tthi-proj-hero__rule{width:64px;height:3px;background:var(--gold);margin:0 0 18px}
.tthi-proj-hero p{max-width:560px;margin:0;font-size:16px;line-height:1.7;color:var(--pale)}

/* Main content band */
.elementor-element-20aec24d{background:var(--cream)!important;padding:56px 0 72px!important}
.elementor-element-20aec24d > .elementor-container{max-width:1200px}

/* Posts grid column */
.elementor-element-2fe3f630{--gap:24px}
.elementor-element-2fe3f630 .elementor-posts-container{gap:24px!important}
.elementor-element-2fe3f630 .elementor-posts--skin-cards .elementor-post{margin:0!important}

/* Cards */
.elementor-element-2fe3f630 .elementor-post__card{
  background:#fff!important;
  border-radius:0!important;
  box-shadow:none!important;
  border:1px solid rgba(11,29,53,.08)!important;
  overflow:hidden;
  display:flex!important;
  flex-direction:column!important;
  height:100%;
  transition:border-color .25s ease,box-shadow .25s ease
}
.elementor-element-2fe3f630 .elementor-post__card:hover{
  border-color:rgba(201,163,90,.55)!important;
  box-shadow:0 16px 40px rgba(11,29,53,.1)!important
}

/* Thumbnail clip + image grow (keep Elementor translate centering) */
.elementor-element-2fe3f630 .elementor-post__thumbnail{
  margin:0!important;overflow:hidden!important;position:relative
}
.elementor-element-2fe3f630 .elementor-post__thumbnail__link{
  display:block;overflow:hidden!important;position:relative
}
.elementor-element-2fe3f630 .elementor-posts-container.elementor-has-item-ratio .elementor-post__thumbnail,
.elementor-element-2fe3f630 .elementor-post__thumbnail__link{
  overflow:hidden!important
}
.elementor-element-2fe3f630 .elementor-post__thumbnail img,
.elementor-element-2fe3f630 .elementor-posts-container.elementor-has-item-ratio .elementor-post__thumbnail img{
  transition:transform .45s ease!important;
  will-change:transform
}
.elementor-element-2fe3f630 .elementor-post__card:hover .elementor-post__thumbnail img,
.elementor-element-2fe3f630 .elementor-posts-container.elementor-has-item-ratio .elementor-post__card:hover .elementor-post__thumbnail img{
  transform:scale(1.12) translate(-50%,-50%)!important
}

/* Badge */
.elementor-element-2fe3f630 .elementor-post__badge{
  background:var(--gold)!important;color:var(--navy)!important;
  font-family:Montserrat,Helvetica,Arial,sans-serif!important;
  font-size:10px!important;font-weight:700!important;letter-spacing:1.5px!important;
  text-transform:uppercase!important;border-radius:0!important;padding:6px 10px!important;top:12px!important;right:12px!important
}

/* Card text */
.elementor-element-2fe3f630 .elementor-post__text{padding:22px 22px 18px!important;flex:1;display:flex;flex-direction:column}
.elementor-element-2fe3f630 .elementor-post__title{margin:0 0 10px!important}
.elementor-element-2fe3f630 .elementor-post__title,
.elementor-element-2fe3f630 .elementor-post__title a{
  font-family:Montserrat,Helvetica,Arial,sans-serif!important;
  font-size:17px!important;font-weight:700!important;line-height:1.35!important;
  color:var(--navy)!important;text-decoration:none!important
}
.elementor-element-2fe3f630 .elementor-post__title a:hover{color:var(--gold)!important}
.elementor-element-2fe3f630 .elementor-post__excerpt{margin:0 0 16px!important;flex:1}
.elementor-element-2fe3f630 .elementor-post__excerpt p{
  font-family:Inter,Helvetica,Arial,sans-serif!important;
  font-size:14px!important;line-height:1.65!important;color:var(--gray)!important;margin:0!important
}
.elementor-element-2fe3f630 .elementor-post__read-more{
  font-family:Montserrat,Helvetica,Arial,sans-serif!important;
  font-size:12px!important;font-weight:700!important;letter-spacing:1.2px!important;
  text-transform:uppercase!important;color:var(--gold)!important;text-decoration:none!important;
  display:inline-flex;align-items:center;gap:6px;margin-top:auto!important
}
.elementor-element-2fe3f630 .elementor-post__read-more:hover{color:var(--navy)!important}

/* Date / meta — bottom padding fix */
.elementor-element-2fe3f630 .elementor-post__card .elementor-post__meta-data{
  font-family:Inter,Helvetica,Arial,sans-serif!important;
  font-size:11px!important;letter-spacing:.5px!important;color:#8a939e!important;
  margin:0!important;
  padding:14px 22px 22px!important;
  border:0!important;
  border-top:1px solid rgba(11,29,53,.06)!important
}
.elementor-element-2fe3f630 .elementor-post__avatar{display:none!important}

/* Pagination */
.elementor-element-2fe3f630 .elementor-pagination{
  margin-top:36px!important;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start;align-items:center
}
.elementor-element-2fe3f630 .elementor-pagination .page-numbers{
  font-family:Montserrat,Helvetica,Arial,sans-serif!important;
  font-size:12px!important;font-weight:600!important;letter-spacing:.5px!important;
  min-width:40px;height:40px;display:inline-flex!important;align-items:center;justify-content:center;
  border:1px solid rgba(11,29,53,.15)!important;background:#fff!important;color:var(--navy)!important;
  text-decoration:none!important;border-radius:0!important;padding:0 12px!important;margin:0!important;
  transition:.2s
}
.elementor-element-2fe3f630 .elementor-pagination .page-numbers:hover,
.elementor-element-2fe3f630 .elementor-pagination .page-numbers.current{
  background:var(--navy)!important;border-color:var(--navy)!important;color:#fff!important
}

/* Sidebar form */
.elementor-element-54db0c90,
.elementor-element-1fe05295,
.elementor-element-569a441b{width:100%}
.elementor-element-18e1f0b5{padding-left:12px!important}
.elementor-element-54db0c90{
  background:var(--navy)!important;padding:0!important;position:sticky;top:100px
}
.elementor-element-54db0c90 .elementor-container{padding:28px 24px!important}
.elementor-element-1fe05295 .elementor-heading-title{
  font-family:Montserrat,Helvetica,Arial,sans-serif!important;
  font-size:20px!important;font-weight:700!important;color:#fff!important;
  margin:0 0 8px!important
}
.elementor-element-1fe05295:after{
  content:"";display:block;width:48px;height:3px;background:var(--gold);margin:12px 0 20px
}
.elementor-element-569a441b .elementor-field-group{margin-bottom:12px!important}
.elementor-element-569a441b .elementor-field-label{
  font-family:Montserrat,Helvetica,Arial,sans-serif!important;
  font-size:11px!important;letter-spacing:1px!important;text-transform:uppercase!important;
  color:var(--pale)!important;margin-bottom:6px!important
}
.elementor-element-569a441b .elementor-field{
  background:rgba(255,255,255,.06)!important;border:1px solid rgba(217,224,234,.25)!important;
  border-radius:0!important;color:#fff!important;font-family:Inter,Helvetica,Arial,sans-serif!important;
  font-size:14px!important;padding:12px 14px!important;min-height:46px
}
.elementor-element-569a441b .elementor-field:focus{
  border-color:var(--gold)!important;outline:none!important;box-shadow:none!important
}
.elementor-element-569a441b .elementor-field::placeholder{color:rgba(217,224,234,.55)}
.elementor-element-569a441b .elementor-button{
  background:var(--gold)!important;color:var(--navy)!important;border:2px solid var(--gold)!important;
  border-radius:0!important;width:100%!important;
  font-family:Montserrat,Helvetica,Arial,sans-serif!important;
  font-size:12px!important;font-weight:700!important;letter-spacing:1.5px!important;
  text-transform:uppercase!important;padding:14px 20px!important;transition:.25s!important
}
.elementor-element-569a441b .elementor-button:hover{
  background:transparent!important;color:#fff!important;border-color:var(--gold)!important
}

/* Bottom spacer cleanup */
.elementor-element-43470a47{display:none!important}

@media(max-width:1024px){
  .tthi-proj-hero{min-height:340px;padding:80px 0 56px}
  .elementor-element-18e1f0b5{padding-left:0!important;margin-top:28px!important}
  .elementor-element-54db0c90{position:static}
}
@media(max-width:767px){
  .tthi-proj-hero{min-height:300px;padding:70px 0 48px}
  .elementor-element-20aec24d{padding:36px 0 48px!important}
  .elementor-element-2fe3f630 .elementor-post__text{padding:18px 18px 14px!important}
  .elementor-element-2fe3f630 .elementor-post__card .elementor-post__meta-data{padding:12px 18px 20px!important}
}