/* The opening signature is progressively enhanced; the website works without it. */
.site-intro{display:none;position:fixed;inset:0;z-index:1000;isolation:isolate;place-items:center;overflow:hidden;background:#101714;color:#fbf8eb;opacity:1;transition:opacity .6s ease}
.intro-pending{overflow:hidden;scroll-behavior:auto}
.intro-pending .site-intro[hidden],.intro-pending .site-intro{display:grid!important}
.site-intro:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(4,8,6,.45),transparent 20%,transparent 88%,rgba(4,8,6,.12))}
/* Photo and lettering share one scene, so every crop keeps the writing on its board. */
.intro-scene{position:absolute;left:60%;top:50%;width:max(100vw,183.35vh);width:max(100vw,183.35svh);aspect-ratio:2048/1117;transform:translate(-60%,-50%);transform-origin:60% 40%;transition:transform .7s cubic-bezier(.22,.65,.3,1)}
.intro-photo{display:block;width:100%;height:100%;object-fit:fill}
.intro-art{position:absolute;left:60%;top:40%;width:35%;transform:translate(-50%,-50%)}
.intro-art svg{width:100%;height:auto;overflow:visible}
.intro-stroke{stroke-dasharray:3000px;stroke-dashoffset:3000px}
.intro-skip{position:absolute;z-index:2;right:max(6%,env(safe-area-inset-right));bottom:max(34px,env(safe-area-inset-bottom));display:inline-flex;align-items:center;gap:18px;min-height:48px;padding:12px 18px 10px;border:1px solid #82917f;background:rgba(10,17,13,.72);color:#e5e9db;font:500 12px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;transition:color .15s,border-color .15s}
.intro-skip span{font:25px/1 var(--body);color:var(--lime)}
.intro-skip:hover{color:white;border-color:var(--lime)}
.intro-skip:focus-visible{outline:2px solid var(--lime);outline-offset:8px}
.site-intro.is-leaving{opacity:0;pointer-events:none}
.site-intro.is-leaving .intro-scene{transform:translate(-60%,-50%) scale(1.035)}
@media(min-width:1024px){.intro-skip{font-size:24px;gap:25px;min-height:64px;padding:14px 23px}.intro-skip span{font-size:33px}}
@media(max-width:600px){.intro-scene{left:50%}.intro-art{width:min(35%,138vw)}.intro-skip{bottom:max(28px,env(safe-area-inset-bottom));right:7.5%;font-size:11px}}
@media(prefers-reduced-motion:reduce){.intro-pending .site-intro,.intro-pending .site-intro[hidden]{display:none!important}.intro-pending{overflow:visible}.site-intro,.intro-scene{transition:none}}
