.taa-hero{
  --hero-ink:#f7f1e6;
  --hero-muted:rgba(247,241,230,.78);
  position:relative;
  isolation:isolate;
  display:flex;
  align-items:flex-end;
  min-height:100vh;
  min-height:100svh;
  padding:calc(var(--header-height) + 3.5rem) 0 4.5rem;
  overflow:hidden;
  background:#140e0b;
  color:var(--hero-ink);
}
.taa-hero__visual{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
}
.taa-hero__media{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:72% center;
  display:block;
  transform:scale(1.06);
  transform-origin:70% 40%;
  will-change:transform;
  transition:transform 1.8s var(--ease-premium);
  filter:saturate(.92) contrast(1.05) brightness(.88);
}
.taa-hero.is-hero-ready .taa-hero__media{transform:scale(1)}
.taa-hero__veil{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,
      rgba(16,11,8,.88) 0%,
      rgba(16,11,8,.72) 34%,
      rgba(16,11,8,.38) 58%,
      rgba(16,11,8,.18) 78%,
      rgba(16,11,8,.35) 100%),
    linear-gradient(180deg,
      rgba(16,11,8,.55) 0%,
      transparent 28%,
      transparent 55%,
      rgba(16,11,8,.72) 100%);
  pointer-events:none;
}
/* Keep the full page container width so copy sits on the left,
   not a shrink-wrapped block centered by margin-inline:auto. */
.taa-hero__content{
  position:relative;
  z-index:1;
  width:var(--container);
  max-width:100%;
  margin-inline:auto;
  text-align:left;
}
.taa-hero__eyebrow{
  margin:0 0 1.1rem;
  font-size:.72rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:rgba(247,241,230,.72);
}
.taa-hero__title{
  margin:0;
  font-family:var(--font-display);
  font-weight:400;
  font-size:clamp(2.5rem, 5.6vw, 4.4rem);
  line-height:1.05;
  letter-spacing:-.02em;
  color:var(--hero-ink);
  max-width:14ch;
}
.taa-hero__text{
  margin:1.25rem 0 0;
  max-width:32rem;
  font-size:1.02rem;
  line-height:1.65;
  color:var(--hero-muted);
}
.taa-hero__actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:1rem 1.35rem;
  margin-top:1.85rem;
}
.taa-hero__cta{
  background:var(--hero-ink);
  color:var(--taa-dark);
  border-color:var(--hero-ink);
  min-height:50px;
  padding:.85rem 1.15rem .85rem 1.45rem;
}
.taa-hero__cta .taa-btn__arrow{
  background:var(--taa-dark);
  color:var(--hero-ink);
}
.taa-hero__cta:hover{
  background:#fff;
  color:var(--taa-dark);
  border-color:#fff;
}
.taa-hero__call{
  margin:0;
  font-size:.92rem;
  color:var(--hero-muted);
}
.taa-hero__call a{
  color:var(--hero-ink);
  text-decoration:underline;
  text-underline-offset:.18em;
  margin-left:.25rem;
}
.taa-hero__call a:hover{color:#fff}
.taa-hero__trust{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.55rem .75rem;
  margin:2rem 0 0;
  font-size:.88rem;
  color:var(--hero-muted);
}
.taa-hero__stars{
  letter-spacing:.08em;
  color:#d4b483;
  font-size:.95rem;
  line-height:1;
}

/* Home: header is out of flow, so hero can start at the top edge */
.home .taa-hero{
  margin-top:0;
  padding-top:calc(var(--header-height) + 4.5rem);
}

@media(max-width:860px){
  .taa-hero{
    align-items:flex-end;
    min-height:100vh;
    min-height:100svh;
    padding:calc(var(--header-height) + 2.75rem) 0 3rem;
  }
  .home .taa-hero{padding-top:calc(var(--header-height) + 2.75rem)}
  .taa-hero__content{
    width:min(100% - 2.5rem, 1360px);
  }
  .taa-hero__media{object-position:58% center}
  .taa-hero__eyebrow{
    margin-bottom:1rem;
    font-size:.68rem;
    letter-spacing:.18em;
  }
  .taa-hero__title{
    max-width:100%;
    font-size:clamp(2.15rem, 8.5vw, 3rem);
    line-height:1.08;
  }
  .taa-hero__text{
    margin-top:1.1rem;
    max-width:36rem;
    font-size:.95rem;
    line-height:1.6;
  }
  .taa-hero__actions{
    flex-direction:column;
    align-items:stretch;
    gap:.95rem;
    margin-top:1.75rem;
  }
  .taa-hero__cta{
    width:100%;
    justify-content:space-between;
    min-height:52px;
    padding:.9rem 1rem .9rem 1.25rem;
  }
  .taa-hero__call{
    font-size:.9rem;
  }
  .taa-hero__trust{
    margin-top:1.5rem;
    padding-top:1.15rem;
    border-top:1px solid rgba(247,241,230,.16);
    font-size:.82rem;
    gap:.45rem .65rem;
  }
  .taa-hero__veil{
    background:
      linear-gradient(180deg,
        rgba(16,11,8,.62) 0%,
        rgba(16,11,8,.32) 26%,
        rgba(16,11,8,.5) 52%,
        rgba(16,11,8,.92) 100%),
      linear-gradient(90deg,
        rgba(16,11,8,.72) 0%,
        rgba(16,11,8,.38) 55%,
        rgba(16,11,8,.48) 100%);
  }
}

@media(max-width:480px){
  .taa-hero{
    padding-bottom:2.5rem;
  }
  .taa-hero__content{
    width:min(100% - 2rem, 1360px);
  }
  .taa-hero__title{font-size:clamp(2rem, 9vw, 2.55rem)}
  .taa-hero__text{font-size:.92rem}
}
