/* Responsive BITC 25 logo; preserve its supplied proportions and transparency. */
.award-logo.bitc25-brand, .event-brand.bitc25-brand { display: inline-flex; flex-shrink: 0; width: auto; line-height: 1; }
.bitc25-brand>img.bitc25-logo { display: block; width: 122px; height: auto; max-width: 100%; object-fit: contain; }
.auth-story .bitc25-brand>img.bitc25-logo { width: 180px; }
.password-page .bitc25-brand>img.bitc25-logo { width: 160px; }

/* Shared two-line campaign title on login and homepage. */
.story-copy h1.event-title,.campaign-hero h1.event-title{font-weight:700;line-height:1.22;letter-spacing:-.04em;margin:26px 0 24px}
.story-copy h1.event-title{font-size:clamp(42px,5vw,86px)}
.campaign-hero h1.event-title{font-size:clamp(50px,6.2vw,98px)}
.event-title>.title-first,.event-title>.title-second{display:block;white-space:nowrap}
.event-title>.title-first{color:#FFC62F}
.event-title>.title-second{color:#006B68;margin-inline-start:.55em}

/* First line finishes before the second starts. Adjust the three timings here. */
.event-title{--title-enter-duration:900ms;--title-enter-start:120ms;--title-line-pause:100ms}
@media(prefers-reduced-motion:no-preference){
  .event-title>.title-first,.event-title>.title-second{
    animation:bitc-title-reveal var(--title-enter-duration) cubic-bezier(.22,1,.36,1) both;
  }
  .event-title>.title-first{animation-delay:var(--title-enter-start)}
  .event-title>.title-second{animation-delay:calc(var(--title-enter-start) + var(--title-enter-duration) + var(--title-line-pause))}
  @keyframes bitc-title-reveal{
    from{opacity:0;transform:translate3d(-.4em,.15em,0);clip-path:inset(-25% 100% -25% -5%)}
    30%{opacity:1}
    to{opacity:1;transform:translate3d(0,0,0);clip-path:inset(-25% -5% -25% -5%)}
  }
}
@media(prefers-reduced-motion:reduce){
  .event-title>.title-first,.event-title>.title-second{animation:none;opacity:1;transform:none;clip-path:none}
}
@media print{
  .event-title>.title-first,.event-title>.title-second{animation:none!important;opacity:1!important;transform:none!important;clip-path:none!important}
}
@media(max-width:700px) {
  .bitc25-brand>img.bitc25-logo { width: 96px; height: auto; }
  .auth-story .bitc25-brand>img.bitc25-logo { width: 134px; height: auto; }
  .password-page .bitc25-brand>img.bitc25-logo { width: 145px; }
  .story-copy h1.event-title{font-size:clamp(36px,10.8vw,68px);line-height:1.25;margin:0}
  .campaign-hero h1.event-title{font-size:clamp(36px,11vw,70px);line-height:1.25;margin:25px 0 20px}
}
