/*
 * Thera-UP homepage 5.0.3
 * Unified hero visual, four-column feature cards, and corrected Theo contrast.
 */

:root{
  --tu503-ink:#172038;
  --tu503-muted:#566078;
  --tu503-violet:#6350eb;
  --tu503-violet-dark:#4d39d3;
  --tu503-cyan:#35c5dd;
  --tu503-night:#112247;
}

/* Hero: one complete, replaceable image. No independent overlays. */
.tu-hp-hero__grid{
  grid-template-columns:minmax(0,1.08fr) minmax(380px,.82fr)!important;
  gap:48px!important;
  align-items:center!important;
}
.tu-hp-hero-visual{
  width:min(100%,560px);
  margin:0;
  justify-self:center;
}
.tu-hp-hero-visual img{
  display:block;
  width:100%;
  height:auto;
  max-height:570px;
  object-fit:contain;
}
/* Old diagram classes are intentionally neutralized in case cached markup persists briefly. */
.tu-hp-cycle__ring,
.tu-hp-cycle__node,
.tu-hp-cycle__center strong{display:none!important}

/* Main functions: four compact vertical cards on one desktop row. */
.tu-hp-feature-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-auto-rows:1fr;
  gap:16px!important;
}
.tu-hp-feature{
  display:flex!important;
  height:100%;
  min-width:0;
  min-height:0!important;
  padding:22px 20px!important;
  flex-direction:column!important;
  border-radius:15px!important;
}
.tu-hp-feature__icon{
  width:42px!important;
  height:42px!important;
  margin-bottom:14px!important;
}
.tu-hp-feature h3{
  margin:0 0 9px!important;
  font-size:1.04rem!important;
  line-height:1.25!important;
}
.tu-hp-feature p{
  margin:0 0 12px!important;
  font-size:.92rem!important;
  line-height:1.55!important;
}
.tu-hp-feature>strong{
  margin:0!important;
  font-size:.9rem!important;
  line-height:1.45!important;
}
.tu-hp-feature>a{
  position:static!important;
  align-self:flex-start!important;
  margin-top:auto!important;
  padding:9px 14px!important;
  transform:translateY(2px);
}

/* Theo section: definitive white text on the deep-blue surface. */
.tu-hp-theo,
.tu-hp-theo .tu-container{
  color:#fff!important;
}
.tu-hp-theo .tu-hp-heading h2,
.tu-hp-theo .tu-hp-heading p,
.tu-hp-theo-benefits h3,
.tu-hp-theo-benefits p,
.tu-hp-theo-control,
.tu-hp-theo-control p{
  color:#fff!important;
}
.tu-hp-theo .tu-hp-heading p,
.tu-hp-theo-benefits p{
  color:rgba(255,255,255,.82)!important;
}
.tu-hp-theo-benefits article{
  background:rgba(255,255,255,.085)!important;
  border-color:rgba(255,255,255,.18)!important;
}

/* Left Theo module: deep-blue outer container, white image panel inside. */
.tu-hp-theo-visual{
  display:flex!important;
  min-height:390px!important;
  padding:22px!important;
  align-items:center!important;
  justify-content:center!important;
  flex-direction:column!important;
  gap:0!important;
  background:rgba(255,255,255,.055)!important;
  border-color:rgba(255,255,255,.16)!important;
}
.tu-hp-theo-image-card{
  position:relative;
  z-index:1;
  display:grid;
  width:min(100%,350px);
  min-height:260px;
  padding:16px 18px 0;
  place-items:end center;
  overflow:hidden;
  border-radius:15px 15px 8px 8px;
  background:#fff;
  box-shadow:0 14px 32px rgba(0,0,0,.2);
}
.tu-hp-theo-image-card img{
  display:block;
  width:auto;
  max-width:100%;
  height:auto;
  max-height:270px;
  object-fit:contain;
  filter:none!important;
}
.tu-hp-theo-recommendation{
  z-index:2!important;
  width:min(100%,390px)!important;
  margin-top:-2px;
  border-radius:13px!important;
  background:#fff!important;
}
.tu-hp-theo-recommendation strong{
  color:var(--tu503-ink)!important;
}
.tu-hp-theo-recommendation p{
  color:var(--tu503-muted)!important;
}
.tu-hp-theo-recommendation small{
  color:var(--tu503-violet)!important;
}

@media(max-width:1180px){
  .tu-hp-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:1050px){
  .tu-hp-hero__grid{grid-template-columns:1fr!important}
  .tu-hp-hero-visual{width:min(100%,520px)}
}
@media(max-width:680px){
  .tu-hp-feature-grid{grid-template-columns:1fr!important}
  .tu-hp-feature{padding:20px!important}
  .tu-hp-theo-image-card{min-height:230px;padding:14px 14px 0}
  .tu-hp-theo-image-card img{max-height:235px}
}
