/* Match Build's quiet, full-screen startup with Fordwell's original artwork. */
body:has(#app > .fordwell-loading) { overflow: hidden; }
body:has(#app > .fordwell-loading) > :is(.site-header, .mobile-bar, .site-footer) { display: none; }
body #app.app-shell:has(> .fordwell-loading) { display: block; margin: 0; padding: 0; min-height: 100dvh; }
body #app > .fordwell-loading {
  display: grid; place-content: center; justify-items: center; gap: 12px;
  width: 100%; min-height: 100dvh; overflow: visible; background: #f5f2ec;
  padding: max(20px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));
}
.fordwell-loading-brand { display: flex; align-items: center; justify-content: center; gap: 15px; color: #2d3d2b; max-width: 100%; }
.fordwell-loading-brand picture { display: block; flex: none; }
.fordwell-loading-brand img { display: block; width: 84px; height: 84px; flex: 0 0 84px; object-fit: contain; }
.fordwell-loading-word { display: inline-flex; font-size: clamp(29px, 6vw, 42px); line-height: 1.03; letter-spacing: -.04em; font-weight: 800; }
.fordwell-loading-word span { display: inline-block; animation: fordwell-letter 1.35s ease-in-out infinite; animation-delay: calc(var(--letter) * 110ms); }
.fordwell-loading p { margin: 0; color: #536150; font-size: 14px; line-height: 1.5; text-align: center; }
@keyframes fordwell-letter { 0%, 55%, 100% { transform: translateY(0); } 25% { transform: translateY(-7px); } }
.fordwell-brand-icon { display: block; flex: none; width: 38px; height: 38px; overflow: visible; }
.fordwell-brand-icon path { transform-box: fill-box; transform-origin: center; }
:is(a, button):is(:hover, :focus-visible) > .fordwell-brand-icon .fordwell-sprout { animation: fordwell-brand-skip 1.6s linear 1; }
:is(a, button):is(:hover, :focus-visible) > .fordwell-brand-icon .fordwell-ripple-inner { animation: fordwell-brand-inner 1.6s ease-out 1; }
:is(a, button):is(:hover, :focus-visible) > .fordwell-brand-icon .fordwell-ripple-middle { animation: fordwell-brand-middle 1.6s ease-out 1; }
:is(a, button):is(:hover, :focus-visible) > .fordwell-brand-icon .fordwell-ripple-outer { animation: fordwell-brand-outer 1.6s ease-out 1; }
@keyframes fordwell-brand-skip { 0%, 8% { clip-path: inset(0 100% 0 0) fill-box; } 28% { clip-path: inset(0 53% 0 0) fill-box; } 50%, 100% { clip-path: inset(0 0 0 0) fill-box; } }
@keyframes fordwell-brand-inner { 0%, 30% { opacity: 0; transform: scale(.5); } 42% { opacity: 1; transform: scale(.9); } 58%, 100% { opacity: 1; transform: none; } }
@keyframes fordwell-brand-middle { 0%, 37% { opacity: 0; transform: scale(.6); } 50% { opacity: 1; transform: scale(.95); } 66%, 100% { opacity: 1; transform: none; } }
@keyframes fordwell-brand-outer { 0%, 44% { opacity: 0; transform: scale(.7); } 60%, 100% { opacity: 1; transform: none; } }
.site-footer-logo .fordwell-brand-icon { width: 30px; height: 30px; }
@media (max-width: 760px) {
  .mobile-bar .mobile-brand { display: grid; grid-template-columns: 32px minmax(0, 1fr); column-gap: 8px; align-items: center; }
  .mobile-brand > .fordwell-brand-icon { width: 32px; height: 32px; grid-row: 1 / span 2; }
}
@media (max-width: 340px) {
  .fordwell-loading-brand { gap: 10px; }
  .fordwell-loading-brand img { width: 68px; height: 68px; flex-basis: 68px; }
  .fordwell-loading-word { font-size: 28px; }
}
@media (prefers-reduced-motion: reduce) {
  .fordwell-loading-word span, :is(a, button):is(:hover, :focus-visible) > .fordwell-brand-icon path { animation: none !important; }
}
@media print { .fordwell-brand-icon path { animation: none !important; opacity: 1; transform: none; } }
