/* The English Maestro — live visual QA fixes, v1.0.3 */
html { scroll-padding-top: 94px; }
body { line-height: 1.6; overflow-x: hidden; }

.tem-header__inner { gap: 22px; }
.tem-brand { display: flex; align-items: center; }
.tem-brand img { width: 110px; }
.tem-nav { gap: 22px; }
.tem-nav a { font-size: 12.5px; }
.tem-nav a:hover::after,
.tem-nav a[aria-current="page"]::after { inset-inline: 0; }

a:focus-visible,
button:focus-visible {
  outline: 3px solid rgba(182, 143, 64, .55);
  outline-offset: 4px;
}

.tem-hero__photo { object-position: center center; }
.tem-hero__shade {
  background: linear-gradient(90deg, rgba(253,248,240,.99), rgba(253,248,240,.96) 31%, rgba(253,248,240,.68) 52%, rgba(253,248,240,.08) 74%);
}
.tem-hero__copy {
  width: min(640px, 48vw);
  margin-left: max(28px, calc((100vw - 1320px) / 2));
  margin-right: auto;
  padding: 125px 0 90px;
  text-align: right;
}
.tem-hero h1 {
  font-size: clamp(43px, 4vw, 64px);
  line-height: 1.28;
  text-wrap: balance;
}

.tem-inner > img:first-child { object-position: center center; }
.tem-inner > img:first-child[src*="/heba/"] {
  object-fit: contain;
  object-position: center center;
  background: var(--navy);
}
.tem-inner__overlay {
  background: linear-gradient(270deg, rgba(4,11,31,.82), rgba(4,11,31,.38) 58%, rgba(4,11,31,.1));
}
.tem-inner__copy { max-width: 790px; padding: 165px 0 78px; }
.tem-inner h1 {
  font-size: clamp(52px, 6vw, 82px);
  line-height: 1.08;
  text-wrap: balance;
}

.tem-final > img {
  object-fit: contain;
  object-position: center center;
  background: var(--navy);
}
.tem-phone { display: inline-block; font-weight: 700; }
.tem-hero__copy.is-visible,
.tem-inner__copy.is-visible { animation: tem-enter .72s var(--ease) both; }

@keyframes tem-enter {
  from { opacity: 0; transform: translateY(22px); }
  to { opacity: 1; transform: none; }
}

/* True English layout and reading direction */
.tem-lang-en .tem-hero__copy {
  direction: ltr;
  text-align: left;
}
.tem-lang-en .tem-inner__overlay {
  background: linear-gradient(90deg, rgba(4,11,31,.82), rgba(4,11,31,.38) 58%, rgba(4,11,31,.1));
}
.tem-lang-en .tem-inner__copy {
  direction: ltr;
  margin-left: max(28px, calc((100vw - 1240px) / 2));
  margin-right: 0;
  text-align: left;
}
.tem-lang-en .tem-problem,
.tem-lang-en .tem-method,
.tem-lang-en .tem-heba,
.tem-lang-en .tem-section-title,
.tem-lang-en .tem-page-sections,
.tem-lang-en .tem-offer,
.tem-lang-en .tem-footer {
  direction: ltr;
  text-align: left;
}
.tem-lang-en .tem-heba blockquote {
  border-right: 0;
  padding-right: 0;
  border-left: 3px solid var(--gold);
  padding-left: 24px;
}

@media (max-width: 1120px) {
  .tem-header__inner { gap: 14px; }
  .tem-brand img { width: 90px; }
  .tem-nav { gap: 14px; }
  .tem-nav a { font-size: 11px; }
  .tem-hero__copy { width: min(580px, 51vw); }
}

@media (max-width: 880px) {
  html { scroll-padding-top: 78px; }
  .tem-brand img { width: 76px; }
  .tem-inner__copy {
    padding: 145px 24px 65px;
    margin: 0;
    max-width: none;
    text-align: center;
  }
  .tem-inner__copy > p:not(.tem-kicker) { margin-inline: auto; }
  .tem-inner > img:first-child[src*="/heba/"] { object-position: center center; }
  .tem-lang-en .tem-inner__copy { margin: 0; text-align: center; }
}

@media (max-width: 520px) {
  .tem-hero__buttons { gap: 16px; }
  .tem-inner h1 { font-size: clamp(40px, 12vw, 52px); line-height: 1.14; }
  .tem-inner__copy > p:not(.tem-kicker) { font-size: 15px; line-height: 1.9; }
}

@media (prefers-reduced-motion: reduce) {
  .tem-hero__copy.is-visible,
  .tem-inner__copy.is-visible { animation: none; }
}
