/* Original vector scenes frame the form, with a separate mobile composition. */
.seasonal-scene[hidden], .seasonal-intro[hidden], .seasonal-panel-art[hidden],
.seasonal-admin-hero[hidden] { display: none !important; }
.seasonal-scene { position: fixed; inset: 0; z-index: 0; pointer-events: none;
  background: var(--season-scene) center / cover no-repeat; }
html[data-seasonal-login] .ambient-stage { display: none; }
html[data-seasonal-login] body { --txt: #faf6ed; --muted: #cbd0d6; }
.seasonal-intro { position: relative; z-index: 1; flex-shrink: 0; text-align: center;
  max-width: 850px; margin: auto auto 26px; padding: 0 24px; color: #faf6ed; }
.seasonal-eyebrow { font-size: 10px; letter-spacing: .27em; font-weight: 600;
  color: var(--season-accent); margin-bottom: 10px; text-transform: uppercase; }
.seasonal-greeting { font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(30px, 3.4vw, 49px); font-weight: 400; letter-spacing: -.035em;
  line-height: 1.12; margin: 0 0 12px; text-shadow: 0 2px 24px #0005; }
.seasonal-tagline { font-size: 12px; letter-spacing: .025em; color: #d2d4de; margin: 0;
  line-height: 1.6; }
html[data-seasonal-login] .login-card { margin-top: 0; border-color: var(--line);
  background: linear-gradient(135deg, color-mix(in srgb, var(--season-main) 16%, #151c29) 0%,
    color-mix(in srgb, var(--season-dark) 60%, #121b26) 100%);
  box-shadow: 0 28px 80px #0006, 0 0 0 5px #ffffff02; }
html[data-seasonal-login] .lc-panel { position: relative;
  background: radial-gradient(ellipse at 50% 20%, color-mix(in srgb, var(--season-accent) 11%, transparent), transparent 65%),
    color-mix(in srgb, var(--season-main) 20%, #12212a); }
html[data-seasonal-login] .lc-ver { color: #acb7c4; }
html[data-seasonal-login] .panel-head { color: var(--season-accent); margin-bottom: 18px; }
html[data-seasonal-login] .ring { width: 74px; height: 74px; margin-bottom: 24px;
  border-color: color-mix(in srgb, var(--season-accent) 40%, transparent);
  color: var(--season-accent); }
html[data-seasonal-login] .ring::before { border-color: var(--line); }
html[data-seasonal-login] .panel-note { margin-top: 20px; }
.seasonal-panel-art { display: block; width: 132px; height: 132px; flex: 0 0 auto;
  background: var(--season-emblem) center / contain no-repeat; margin: -10px auto 16px; }
html[data-seasonal-login] .seasonal-pill { font-size: 10px; letter-spacing: .025em;
  border-radius: 6px; margin: -5px 0 20px; padding: 7px 10px; line-height: 1.5;
  background: color-mix(in srgb, var(--season-main) 16%, transparent); }
html[data-seasonal-login] .login-card .form-control::placeholder { color: #b8c1cf; }
html[data-seasonal-login] .steps li { color: #c9d1db; }
html[data-seasonal-login] .steps li.on { color: #9be2a6; }
html[data-seasonal-login] .steps li.bad { color: #ffb3bb; }
html[data-seasonal-login] .qrt-group h6 { color: var(--season-accent); opacity: .8; }
html[data-seasonal-login] .qrt-co-name { color: #c5ced8; }
.seasonal-admin-hero { position: relative; isolation: isolate; overflow: hidden;
  border: 1px solid var(--pink); border-radius: 16px; padding: 30px 160px;
  text-align: center; min-height: 210px; margin-bottom: 20px; color: #faf6ed;
  background: var(--season-scene) center 28% / 100% auto no-repeat, var(--season-dark); }
.seasonal-admin-hero::before { content: ''; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(90deg, transparent, #08102080 35%, #08102080 65%, transparent); }
.seasonal-admin-hero .seasonal-greeting { font-size: clamp(28px,3vw,40px); }
.seasonal-admin-hero .seasonal-tagline { margin-bottom: 12px; }
.seasonal-month-chip { display: inline-block; border: 1px solid #ffffff40;
  border-radius: 20px; padding: 4px 11px; font-size: 10px; letter-spacing: .06em; }
.seasonal-calendar-preview { position: relative; aspect-ratio: 16/10; overflow: hidden;
  background: #162434; }
.seasonal-calendar-preview img { display: block; width: 100%; height: 100%; object-fit: cover; }
.seasonal-calendar-caption { position: absolute; inset: auto 0 0; padding: 38px 18px 16px;
  color: #fff7e9; background: linear-gradient(transparent,#07121ae8); }
.seasonal-calendar-caption strong { font: 23px/1.2 Georgia,serif; display: block; margin-top: 5px; }
.seasonal-calendar-meta { padding: 15px 18px; font-size: 12px; line-height: 1.65; }
@media (min-width:768px) and (max-height:800px) {
  .seasonal-intro { margin-bottom: 18px; }
  .seasonal-greeting { font-size: 32px; margin-bottom: 8px; }
  .seasonal-eyebrow { font-size: 9px; margin-bottom: 6px; }
  .seasonal-panel-art { width: 88px; height: 88px; margin-bottom: 10px; }
  html[data-seasonal-login] .ring { width: 58px; height: 58px; margin-bottom: 18px; }
}
@media (max-width:767.98px) {
  .seasonal-scene { background-image: var(--season-scene-mobile); background-position: center top;
    background-size: 100% auto; background-color: var(--season-dark); }
  html[data-seasonal-login] body { padding-top: 26px; }
  .seasonal-intro { margin: 0 auto 24px; padding: 24px 32px 0; }
  .seasonal-eyebrow { font-size: 8px; letter-spacing: .16em; margin-bottom: 10px; }
  .seasonal-greeting { font-size: 31px; }
  .seasonal-tagline { font-size: 11px; max-width: 310px; margin: auto; }
  .seasonal-panel-art { width: 70px; height: 70px; margin: 0; }
  html[data-seasonal-login] .lc-panel { gap: 18px; justify-content: center; }
  html[data-seasonal-login] .lc-panel .ring { display: none; }
  html[data-seasonal-login] .lc-panel .ring.is-working,
  html[data-seasonal-login] .lc-panel .ring.is-fail { display: flex; margin: 0; width: 60px; height: 60px; }
  html[data-seasonal-login] body.is-signing .seasonal-panel-art { display: none; }
  html[data-seasonal-login] .lc-panel:has(.ring.is-fail) .seasonal-panel-art { display: none; }
  html[data-seasonal-login] .seasonal-pill { max-width: 100%; font-size: 9px; }
  .seasonal-admin-hero { padding: 28px 24px; background-size: auto 180%; }
  .seasonal-admin-hero .seasonal-greeting { font-size: 28px; }
}
@media (prefers-reduced-motion:reduce) {
  html[data-seasonal-login] .card-orbit { display: none; }
}
