/* The curtain never hides document content when JavaScript is unavailable. */
.page-curtain{position:fixed;inset:0;z-index:90;display:grid;place-items:center;background:#1c2822;color:#f8f6f0;pointer-events:none;transform:translateY(0);overflow:hidden;will-change:transform}
.page-curtain.is-hidden{visibility:hidden;transform:translateY(-101%)}
.curtain-brand{text-align:center;padding:24px;transition:opacity .25s}
.curtain-name{display:block;font:500 clamp(30px,5vw,58px)/1.2 'Segoe UI',Arial,sans-serif;letter-spacing:.2em;padding-left:.2em}
.curtain-home{display:block;font-size:12px;letter-spacing:.6em;color:#d0b17e;padding-left:.6em;margin-top:10px}
.curtain-rule{display:block;width:160px;height:1px;background:#ffffff26;margin:34px auto 24px;overflow:hidden}
.curtain-rule::after{content:'';display:block;width:45%;height:100%;background:#d0b17e;animation:brand-loading 1s ease-in-out infinite}
.curtain-caption{font:italic 22px/1.5 Georgia,serif;color:#d8c9ad;margin:0}
.page-curtain.is-leaving{transform:translateY(101%);visibility:visible;transition:transform 240ms cubic-bezier(.65,0,.35,1)}
.page-curtain.is-leaving.is-covering{transform:translateY(0)}
.page-curtain.is-leaving .curtain-name{font-size:28px}
.page-curtain.is-leaving .curtain-caption{font-size:19px}
.route-loading-line{position:fixed;z-index:95;top:0;left:0;right:0;height:2px;background:#d0b17e;transform-origin:left;animation:route-loading 1.2s ease-in-out infinite;pointer-events:none}
@keyframes brand-loading{0%{transform:translateX(-110%)}100%{transform:translateX(340%)}}
@keyframes route-loading{0%{transform:scaleX(.05);opacity:.5}70%{transform:scaleX(.86);opacity:1}100%{transform:scaleX(1);opacity:0}}
@media(prefers-reduced-motion:reduce){.page-curtain,.route-loading-line{display:none!important}}

.curtain-logo{display:block;width:clamp(180px,30vw,270px);height:auto;margin:0 auto;border-radius:18px}.page-curtain.is-leaving .curtain-logo{width:150px}
