/* A brief engraved-logo reveal. The site loads behind the ivory sheet. */
.logo-intro{display:none}
html.intro-loading{overflow:hidden;scrollbar-gutter:stable}
.intro-loading .logo-intro{display:grid;position:fixed;inset:0;z-index:10000;place-items:center;background:#f8f5ee;color:#77634f;cursor:default;animation:intro-open 650ms cubic-bezier(.4,0,.2,1) 1350ms both}
/* Fade the actual page in as the drawn logo and its ivory sheet disappear. */
.intro-loading body > header,.intro-loading body > nav,.intro-loading body > main,.intro-loading .grain,.intro-loading body::after{animation:intro-site-in 650ms cubic-bezier(.4,0,.2,1) 1350ms both}
.intro-composition{width:min(560px,82vw);text-align:center;transform:translateY(-2vh);animation:intro-settle 1400ms cubic-bezier(.16,1,.3,1) both}
.intro-location{font-family:Georgia,'Times New Roman',serif;font-size:10px;letter-spacing:.3em;text-transform:uppercase;animation:intro-type-in 550ms ease 120ms both}
.intro-logo{display:block;width:100%;height:auto;margin:28px 0 26px;overflow:visible}
.intro-logo-traces{fill:none;stroke:currentColor;stroke-width:.85;stroke-linecap:round;stroke-linejoin:round}
.intro-logo-traces path{stroke-dasharray:1;stroke-dashoffset:1;animation:intro-trace 650ms cubic-bezier(.45,0,.2,1) var(--trace-delay) both,intro-trace-away 300ms ease 1250ms forwards}
.intro-logo-ink{opacity:0;animation:intro-ink 550ms ease 900ms forwards}
.intro-rule{display:flex;align-items:center;justify-content:center;gap:15px;opacity:.5}
.intro-rule-top{margin-top:25px}
.intro-rule-bottom{margin-bottom:26px}
.intro-rule i{width:88px;height:1px;background:currentColor;transform:scaleX(0);animation:intro-rule-in 800ms cubic-bezier(.16,1,.3,1) 150ms both}
.intro-rule i:first-child{transform-origin:right}.intro-rule i:last-child{transform-origin:left}
.intro-rule b{font-size:17px;line-height:1;font-weight:400;animation:intro-type-in 400ms ease 100ms both}
.intro-progress{width:72px;height:1px;margin:auto;background:rgba(119,99,79,.13);overflow:hidden;animation:intro-type-in 400ms ease 150ms both}
.intro-progress span{display:block;height:100%;background:#77634f;transform-origin:left;animation:intro-rule-in 1450ms cubic-bezier(.35,.05,.25,1) 100ms both}
@keyframes intro-trace{to{stroke-dashoffset:0}}
@keyframes intro-trace-away{to{opacity:0}}
@keyframes intro-ink{to{opacity:1}}
@keyframes intro-type-in{from{opacity:0}to{opacity:1}}
@keyframes intro-rule-in{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes intro-settle{from{transform:translateY(-1vh) scale(.97)}to{transform:translateY(-2vh) scale(1)}}
@keyframes intro-open{to{opacity:0;visibility:hidden}}
@keyframes intro-site-in{from{opacity:0}}
@media(max-width:600px){.intro-composition{width:84vw}.intro-location{font-size:8px;letter-spacing:.25em}.intro-logo{margin:24px 0}.intro-rule i{width:56px}}
@media(prefers-reduced-motion:reduce){.intro-loading .logo-intro{animation:intro-open 150ms linear 150ms both}.intro-composition,.intro-location,.intro-rule b,.intro-rule i,.intro-progress{animation:none;transform:none}.intro-composition{transform:translateY(-2vh)}.intro-logo-traces{display:none}.intro-logo-ink{animation:none;opacity:1}.intro-progress{display:none}}
@media(prefers-reduced-motion:reduce){.intro-loading body > header,.intro-loading body > nav,.intro-loading body > main,.intro-loading .grain,.intro-loading body::after{animation-duration:150ms;animation-delay:150ms}}
