
/* ===== Scope reset (ONLY this module) ===== */
#tc-hero{
  font-family: Inter, "Segoe UI", Arial, sans-serif; /* v2.2 global font stack */
}
#tc-hero *{ box-sizing:border-box; }

/* ===== Hero outer wrap ===== */
#tc-hero .tc-hero-wrap{
  width:100%;
  max-width:1920px;
  margin:0 auto 40px;
  position:relative;
  overflow:hidden;
  border-radius:8px;
}

/* ===== Hero height ===== */
#tc-hero .tc-hero{
  position:relative;
  width:100%;
  height:520px;          /* v2.2 policy hero desktop */
  overflow:hidden;
  border-radius:8px;
}
@media (max-width:768px){
  #tc-hero .tc-hero{ height:420px; } /* v2.2 policy hero mobile */
}

/* ===== Background image ===== */
#tc-hero .tc-hero-img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .5s ease-in-out;
  transform-origin:center center;
}

/* ===== Overlay (no pointer events) ===== */
#tc-hero .tc-hero-overlay{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,0.22);
  z-index:1;
  pointer-events:none;
}

/* ===== Content layer (no pointer events) ===== */
#tc-hero .tc-hero-content{
  position:absolute;
  inset:0;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:0 20px;
  pointer-events:none;
}
#tc-hero .tc-hero-content-inner{
  width:100%;
  max-width:1100px;
  margin:0 auto;
}

/* ===== Title (v2.2 Hero H1) ===== */
#tc-hero .tc-hero-title{
  font-size:clamp(52px, 4.2vw, 68px);
  font-weight:600;
  line-height:1.12;
  letter-spacing:-0.015em;
  color:#fff;
  margin:0;
  text-shadow:0 2px 4px rgba(0,0,0,0.3);
}

/* Mobile H1 range (v2.2) */
@media (max-width:768px){
  #tc-hero .tc-hero-title{
    font-size:clamp(34px, 6vw, 44px);
    letter-spacing:-0.01em;
  }
}

/* ===== HOVER: whole hero area triggers zoom ===== */
@media (hover:hover) and (pointer:fine){
  #tc-hero .tc-hero-wrap:hover .tc-hero-img{
    transform:scale(1.25);
  }
}

/* Touch devices: no hover */
@media (hover:none){
  #tc-hero .tc-hero-wrap:hover .tc-hero-img{
    transform:none;
  }
}
