/* A short portal into the existing homepage; the drafting canvas stays live. */
@font-face{font-family:'Fovoya Opening';src:url('fonts/fovoya-opening.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:block}
.fv-opening,.fv-opening-skip{display:none}
.fv-opening-pending .fv-opening{display:grid;place-items:center;position:fixed;inset:0;z-index:1000000;background:#ffffff;overflow:hidden;touch-action:none;--opening-x:50vw;--opening-y:50vh;--opening-radius:0px;-webkit-mask-image:radial-gradient(circle at var(--opening-x) var(--opening-y),transparent var(--opening-radius),#000 calc(var(--opening-radius) + 1px));mask-image:radial-gradient(circle at var(--opening-x) var(--opening-y),transparent var(--opening-radius),#000 calc(var(--opening-radius) + 1px))}
.fv-opening-brand{margin:0;white-space:nowrap;font-family:'Fovoya Opening',Arial,sans-serif;font-size:clamp(76px,14vw,200px);font-weight:700;line-height:1;letter-spacing:-.035em;color:#20211f;opacity:0;will-change:transform,opacity;user-select:none}
.fv-opening-dot{position:fixed;display:block;pointer-events:none;border-radius:50%;background:#082bb9;opacity:0;will-change:transform,opacity}
.fv-opening-ring{display:none}
.fv-opening-pending .fv-opening-ring{display:block;position:fixed;z-index:1000001;pointer-events:none;box-sizing:border-box;border:1.5px solid #082bb9;border-radius:50%;transform:translate(-50%,-50%);opacity:0}
.fv-opening-pending .fv-opening-skip{display:block;position:fixed;right:max(24px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom));z-index:1000001;padding:10px 0;font:400 13px/1.5 'Fovoya Opening',Arial,sans-serif;letter-spacing:.01em;color:#4d514d;background:transparent;border:0;text-decoration:underline;text-underline-offset:5px;opacity:0;transition:opacity .2s}
.fv-opening-pending .fv-opening-skip.is-ready{opacity:.7}
.fv-opening-skip:focus-visible{opacity:1;outline:2px solid #3045c8;outline-offset:5px}
@media(prefers-reduced-motion:reduce){.fv-opening-pending .fv-opening,.fv-opening-pending .fv-opening-skip{display:none}}

/* Selected CONNECT artwork: crop the presentation label, retain the original letterforms. */
.fv-opening-brand{position:relative;width:clamp(280px,54vw,760px);aspect-ratio:1320/450;overflow:hidden;line-height:0;mix-blend-mode:multiply}
.fv-opening-art{position:absolute;width:134.39394%;max-width:none;height:auto;left:-17.42424%;top:-48.88889%}
#fv-opening-o{position:absolute;left:50.07576%;top:51.77778%;width:9.24242%;aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%)}

/* Capital-F vector uses the same portal coordinates as the selected artwork. */
.fv-opening-art{width:100%;height:100%;left:0;top:0}

/* The arriving paper moves beneath the enlarging o and settles before handoff. */
.fv-opening-pending #design-canvas{transform-origin:var(--entry-origin-x,50%) var(--entry-origin-y,50%);transform:translate(var(--entry-x,0px),var(--entry-y,0px)) scale(var(--entry-scale,1));will-change:auto}

.fv-opening-vector{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:hidden}
.fv-opening-dot{z-index:1}

/* The portal and blue rim follow the same letter contour and viewport matrix. */
.fv-opening-pending .fv-opening.has-contour{background:transparent;-webkit-mask-image:none;mask-image:none}
.fv-opening-pending .fv-opening-ring.has-contour{inset:0;border:0;border-radius:0;transform:none;width:100%;height:100%}
.fv-opening-ring.has-contour svg{display:block;width:100%;height:100%;overflow:hidden}
