#lp-portal{--lp-ink:#292b2d;--lp-reveal:1;--lp-offset:0px;--lp-minds-x:35%;--lp-projects-x:65%;--lp-minds-y:50%;--lp-projects-y:50%;position:relative;isolation:isolate;width:100%;min-height:620px;height:100svh;overflow:hidden;background:#e9e9e9;color:var(--lp-ink);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
#lp-portal,#lp-portal *{box-sizing:border-box}
#lp-portal .lp-painting,#lp-portal .lp-wash,#lp-portal .lp-actor{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
#lp-portal .lp-painting{z-index:-3;overflow:hidden;filter:grayscale(1);transform:scale(1.08);animation:lp-drift 14s ease-in-out infinite alternate;will-change:transform}
#lp-portal .lp-background,#lp-portal .lp-background-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
#lp-portal .lp-background-canvas{opacity:0;transition:opacity .8s}
#lp-portal .lp-painting.is-ready .lp-background-canvas{opacity:1}
#lp-portal .lp-wash{z-index:-2;background:rgba(255,255,255,.30)}
#lp-portal .lp-actor{z-index:-1}
#lp-portal .lp-atlas{display:none}
#lp-portal .lp-menu{position:absolute;inset:0;pointer-events:none}
#lp-portal .lp-link{position:absolute;display:flex;align-items:center;justify-content:center;width:max-content;max-width:46%;padding:15px 24px 19px;border:0;border-radius:50%;background:radial-gradient(ellipse at center,rgba(255,255,255,.78) 0%,rgba(255,255,255,.41) 45%,rgba(255,255,255,.10) 69%,transparent 76%);color:var(--lp-ink);font-family:inherit;font-size:clamp(1.7rem,2.65vw,2.8rem);font-style:normal;font-weight:400;font-kerning:normal;font-variant-ligatures:common-ligatures;letter-spacing:-.022em;line-height:1.13;text-decoration:none;text-transform:none;white-space:nowrap;text-shadow:0 1px 14px rgba(255,255,255,.78);opacity:var(--lp-reveal);transform:translate(-50%,calc(-100% + var(--lp-offset)));pointer-events:auto;-webkit-tap-highlight-color:transparent}
#lp-portal .lp-minds{left:var(--lp-minds-x);top:var(--lp-minds-y)}
#lp-portal .lp-projects{left:var(--lp-projects-x);top:var(--lp-projects-y)}
#lp-portal .lp-link span{display:block;transition:transform .3s,color .3s}
#lp-portal .lp-link:hover span{transform:translateY(-3px);color:#080909}
#lp-portal .lp-link:active span{transform:translateY(-1px)}
#lp-portal.lp-entering .lp-link{pointer-events:none}
#lp-portal .lp-link:focus-visible,#lp-portal .lp-controls button:focus-visible{outline:2px solid var(--lp-ink);outline-offset:5px}
#lp-portal .lp-controls{position:absolute;right:max(22px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom));display:flex;gap:8px;opacity:.8}
#lp-portal .lp-controls button{appearance:none;display:grid;place-items:center;width:38px;height:38px;padding:9px;background:rgba(255,255,255,.44);color:var(--lp-ink);border:1px solid rgba(255,255,255,.45);border-radius:50%;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);cursor:pointer}
#lp-portal .lp-controls button:hover{background:rgba(255,255,255,.85)}
#lp-portal .lp-controls svg{width:18px;height:18px;display:block}
#lp-portal .lp-play-icon{display:none!important}
#lp-portal.lp-paused .lp-play-icon{display:block!important}
#lp-portal.lp-paused .lp-pause-icon{display:none!important}
#lp-portal.lp-paused .lp-painting{animation-play-state:paused}
@keyframes lp-drift{0%{transform:scale(1.075) translate(-1%,.3%) rotate(-.6deg)}50%{transform:scale(1.12) translate(.5%,-.8%) rotate(.6deg)}100%{transform:scale(1.085) translate(1%,.4%) rotate(-.2deg)}}
@media(max-width:700px){#lp-portal{min-height:580px}#lp-portal .lp-link{font-size:clamp(1.25rem,5.5vw,1.7rem);padding:12px 17px 15px;letter-spacing:-.018em}#lp-portal .lp-wash{background:linear-gradient(180deg,rgba(255,255,255,.21),rgba(255,255,255,.30) 60%,rgba(255,255,255,.45))}#lp-portal .lp-controls{bottom:18px;right:18px}}
@media(max-width:370px){#lp-portal .lp-link{font-size:1.2rem;padding-left:12px;padding-right:12px}}
@media(prefers-reduced-motion:reduce){#lp-portal *,#lp-portal *::before,#lp-portal *::after{animation:none!important;transition:none!important}}
