/* ARCH emblem: shared by every shell. Motion only when the person has not asked to reduce it. */
.emblem-wrap { display: inline-flex; line-height: 0; flex: none; }
.emblem { display: block; flex: none; border-radius: 25%; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .emblem { box-shadow: 0 0 0 1px rgba(255,255,255,.08); } }
:root[data-theme="dark"] .emblem { box-shadow: 0 0 0 1px rgba(255,255,255,.08); }
.emblem-hero { margin: 0 auto 14px; }
.emblem-center { display: flex; justify-content: center; margin-bottom: 12px; }
.print-emblem { display: none; }
@media print { .print-emblem { display: inline-flex; } }
@media (prefers-reduced-motion: no-preference) {
  .emblem-anim .emblem-arch { stroke-dasharray: 1; stroke-dashoffset: 1; animation: emblem-draw .9s .15s ease-out forwards; }
  .emblem-anim .emblem-dot { opacity: 0; transform-box: fill-box; transform-origin: center; animation: emblem-pop .45s .85s ease-out forwards; }
  .emblem-loading .emblem-dot { animation: emblem-breathe 1.8s ease-in-out infinite; }
}
@keyframes emblem-draw { to { stroke-dashoffset: 0; } }
@keyframes emblem-pop { from { opacity: 0; transform: scale(.4); } to { opacity: 1; transform: scale(1); } }
@keyframes emblem-breathe { 0%,100% { opacity: .55; } 50% { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .emblem-anim .emblem-arch { stroke-dasharray: none; } }
.emblem-load { display: flex; justify-content: center; padding: 48px 0; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.sheet-emblem { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; color: var(--ink-soft); font-weight: 600; font-size: .9rem; }
.login-brand { justify-content: center; }
.yr-finish { display: flex; align-items: center; gap: 8px; }
.tr-brand { display: flex; align-items: center; gap: 14px; margin-bottom: 6px; }
.tr-brand h1 { margin: 0; }
.tr-school { font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-soft); font-weight: 700; }
.emblem { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.ln-top .emblem-wrap { margin-left: auto; margin-right: 10px; }
.install-head .emblem-wrap { flex: none; }
