/* opener.css : quiet opener on the homepage. The MVE mark settles, then the panel dissolves. Once per visit; ?replay forces it. */
.op{position:fixed;inset:0;top:0;left:0;width:100vw;height:100vh;height:100dvh;min-height:-webkit-fill-available;z-index:2147483647 !important;margin:0;padding:0;background:#FAFAF9;display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:opacity 1.8s cubic-bezier(.4,0,.2,1),filter 1.8s ease;will-change:opacity}
.op.open{opacity:0;filter:blur(2px);pointer-events:none}
.op.gone{display:none}
html.op-lock,html.op-lock body{overflow:hidden;touch-action:none}
.op .op-st{display:flex;flex-direction:column;align-items:center;transition:opacity 1.4s ease,transform 1.8s cubic-bezier(.2,.7,.1,1)}
.op.open .op-st{opacity:0;transform:scale(.985)}
.op .op-mark{margin-top:0;width:clamp(150px,18vw,220px);height:auto;display:block;
  opacity:0;filter:blur(6px);transform:translateY(8px);animation:op-in 1.8s cubic-bezier(.2,.7,.1,1) 0.4s forwards}
@keyframes op-in{to{opacity:1;filter:blur(0);transform:none}}
.op .op-cap{margin-top:16px;font-family:"Instrument Sans",system-ui,sans-serif;font-size:.58rem;letter-spacing:.42em;text-transform:uppercase;color:#241713;
  opacity:0;animation:op-cap 1.4s ease 3.7s forwards;padding-left:.42em}
@keyframes op-cap{to{opacity:.7}}
.op .op-naut{width:clamp(150px,17vw,210px);height:auto;overflow:visible}
.op .op-naut path{vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;opacity:0}
.op .op-sp{stroke-width:1.2px;animation:op-draw 2.2s cubic-bezier(.45,.05,.25,1) forwards}
.op .op-se{stroke-width:.8px;animation:op-draw .5s ease-out forwards}
@keyframes op-draw{0%{opacity:1;stroke-dashoffset:1}100%{opacity:1;stroke-dashoffset:0}}

.op .op-cities{margin-top:12px;font-family:"Instrument Sans",system-ui,sans-serif;font-size:.52rem;letter-spacing:.3em;text-transform:uppercase;color:#5A4136;display:flex;gap:.9em;flex-wrap:wrap;justify-content:center;max-width:86vw;padding-left:.3em}
.op .op-cities span{opacity:0;animation:op-cap .9s ease forwards}
@media (prefers-reduced-motion:reduce){.op{display:none}}
