/* BRANDLOAD01: lightweight brand placeholder; no change to page readiness logic. */
html.tc-page-loading body[data-page] #mainContent { display: none !important; }
.tc-page-placeholder { display: none; }
html.tc-page-loading body[data-page] .tc-page-placeholder {
  display: flex; box-sizing: border-box; min-height: min(54vw, 440px);
  padding: clamp(40px, 8vw, 88px) 22px; align-items: center; justify-content: center;
  color: #19476b; background: #f8fafb;
}
.tc-page-placeholder-content { width: min(650px, 100%); text-align: center; }
.tc-page-placeholder-logo {
  display: block; width: min(230px, 66vw); height: auto;
  margin: 0 auto; object-fit: contain;
}
.tc-page-error { display: none; margin: 20px 0 0; font-size: 14px; line-height: 1.5; }
.tc-page-retry { display: none; margin: 18px auto 0; border: 1px solid #235a85;
  background: #fff; color: #16446c; border-radius: 8px; padding: 10px 18px;
  font: inherit; cursor: pointer; }
html.tc-load-error .tc-page-placeholder-logo { opacity: .8; }
html.tc-load-error .tc-page-error { display: block; }
html.tc-load-error .tc-page-retry { display: inline-block; }
@media (prefers-reduced-motion: no-preference) {
  html.tc-page-loading:not(.tc-load-error) .tc-page-placeholder-logo {
    animation: tc-brand-loader-fade 1.7s ease-in-out infinite alternate;
  }
  @keyframes tc-brand-loader-fade { from { opacity: .65; } to { opacity: 1; } }
}
@media (max-width: 760px) {
  html.tc-page-loading body[data-page] .tc-page-placeholder { min-height: 300px; padding: 48px 20px; }
}
