:root{--font-ovo: Ovo, serif;--font-mono: "IBM Plex Mono", monospace;--color-primary: #3d4a83;--color-muted: #a8b0d3;--color-soft: #536099;--color-bg: #faf9f8;--ease-out-quart: cubic-bezier(.25, 1, .5, 1)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%}body{min-width:320px;color:var(--color-primary);font-family:var(--font-ovo);background-color:var(--color-bg);background-image:radial-gradient(ellipse 90% 70% at 50% 0%,rgba(168,176,211,.28),transparent 55%),radial-gradient(ellipse 60% 50% at 85% 90%,rgba(61,74,131,.06),transparent 50%),radial-gradient(ellipse 50% 40% at 10% 80%,rgba(168,176,211,.18),transparent 45%);background-attachment:fixed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh;min-height:100dvh}a{color:inherit;text-decoration:none}.page{display:flex;flex-direction:column;align-items:center;min-height:100vh;min-height:100dvh;padding:clamp(3rem,18vh,8rem) 1.5rem 6rem}.intro{text-align:left;max-width:28rem}.name{margin:0;font-family:var(--font-ovo);font-size:clamp(2rem,5vw,2.75rem);font-weight:400;line-height:1.15;color:var(--color-primary)}.block{margin-top:2rem;text-align:left}.label{margin:0 0 .65rem;font-family:var(--font-mono);font-size:.72rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted)}.line{margin:0;font-family:var(--font-ovo);font-size:clamp(1rem,2vw,1.15rem);line-height:1.6;color:var(--color-soft)}.link{border-bottom:1px solid currentColor;padding-bottom:1px;transition:opacity .15s ease}@media (hover: hover) and (pointer: fine){.link:hover{opacity:.7}}.link:active{opacity:.55}.history{display:flex;flex-direction:column;gap:.15rem}.art-line{position:relative}.art-fan-wrap{position:relative;display:inline;white-space:nowrap}.art-fan{position:absolute;left:50%;bottom:calc(100% + .65rem);z-index:6;width:0;height:0;pointer-events:none}.art-fan-card{position:absolute;left:0;top:0;display:block;width:auto;height:auto;max-width:9.5rem;max-height:7.5rem;border-radius:4px;background:#eceae6;box-shadow:0 10px 28px #3d4a8338;transform:translate(-50%,.4rem) rotate(0) scale(.94);transform-origin:center bottom;opacity:0;transition:transform .3s var(--ease-out-quart),opacity .2s ease;transition-delay:0ms}.art-fan-wrap:is(:hover,:focus-within) .art-fan-card{opacity:1}.art-fan-wrap:is(:hover,:focus-within) .art-fan-card:nth-child(1){transform:translate(-50%) rotate(-44deg) translate(-.35rem,-7.35rem) scale(1);transition-delay:0ms;z-index:1}.art-fan-wrap:is(:hover,:focus-within) .art-fan-card:nth-child(2){transform:translate(-50%) rotate(-22deg) translate(-.15rem,-7.65rem) scale(1);transition-delay:50ms;z-index:2}.art-fan-wrap:is(:hover,:focus-within) .art-fan-card:nth-child(3){transform:translate(-50%) rotate(0) translateY(-8rem) scale(1);transition-delay:.1s;z-index:3}.art-fan-wrap:is(:hover,:focus-within) .art-fan-card:nth-child(4){transform:translate(-50%) rotate(22deg) translate(.15rem,-7.65rem) scale(1);transition-delay:.15s;z-index:4}.art-fan-wrap:is(:hover,:focus-within) .art-fan-card:nth-child(5){transform:translate(-50%) rotate(44deg) translate(.35rem,-7.35rem) scale(1);transition-delay:.2s;z-index:5}.art-fan-wrap:not(.art-fan-wrap--cutout):is(:hover,:focus-within) .art-fan-card:nth-child(6){transform:translate(-50%) rotate(56deg) translate(.45rem,-7.1rem) scale(1);transition-delay:.25s;z-index:6}.art-fan-wrap--cutout .art-fan-card--cutout{max-width:6.25rem;max-height:5rem;border-radius:0;background:transparent;box-shadow:none}.art-fan-wrap--cutout:is(:hover,:focus-within) .art-fan-card:nth-child(1){transform:translate(-50%) rotate(-44deg) translate(-.25rem,-5.35rem) scale(1)}.art-fan-wrap--cutout:is(:hover,:focus-within) .art-fan-card:nth-child(2){transform:translate(-50%) rotate(-22deg) translate(-.1rem,-5.55rem) scale(1)}.art-fan-wrap--cutout:is(:hover,:focus-within) .art-fan-card:nth-child(3){transform:translate(-50%) rotate(0) translateY(-5.75rem) scale(1)}.art-fan-wrap--cutout:is(:hover,:focus-within) .art-fan-card:nth-child(4){transform:translate(-50%) rotate(22deg) translate(.1rem,-5.55rem) scale(1)}.art-fan-wrap--cutout:is(:hover,:focus-within) .art-fan-card:nth-child(5){transform:translate(-50%) rotate(44deg) translate(.25rem,-5.35rem) scale(1)}.art-fan-wrap--cutout:is(:hover,:focus-within) .art-fan-card:nth-child(6){transform:translate(-50%) rotate(56deg) translate(.32rem,-5.15rem) scale(1);transition-delay:.25s;z-index:6}.art-fan-wrap--cutout:is(:hover,:focus-within) .art-fan-card:nth-child(2){transition-delay:50ms}.art-fan-wrap--cutout:is(:hover,:focus-within) .art-fan-card:nth-child(3){transition-delay:.1s}.art-fan-wrap--cutout:is(:hover,:focus-within) .art-fan-card:nth-child(4){transition-delay:.15s}.art-fan-wrap--cutout:is(:hover,:focus-within) .art-fan-card:nth-child(5){transition-delay:.2s}@media (hover: hover) and (pointer: fine){.art-fan-wrap:is(:hover,:focus-within) .art-fan-card{will-change:transform,opacity}}.art-fan-trigger:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.bubbles{position:relative;width:min(100%,64rem);height:60rem;margin-top:3.5rem}.bubble{position:absolute;left:min(var(--left),calc(100% - 22.2rem));top:var(--top);width:min(22rem,100%);height:200px;padding:0;border:none;background:none;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none}.bubble-inner{width:100%;height:100%;overflow:hidden;border-radius:4px;background:#eceae6;box-shadow:0 10px 28px #3d4a8329;animation:bubble-float var(--float-dur) ease-in-out var(--float-delay) infinite alternate;transition:box-shadow .18s ease}.bubble-video{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}@keyframes bubble-float{0%{transform:rotate(var(--r)) translateY(0)}to{transform:rotate(var(--r)) translateY(-14px)}}.bubble-tip{position:absolute;left:50%;top:calc(100% + 1.75rem);z-index:2;padding:.28rem .55rem;border-radius:4px;background:#fff;color:var(--color-primary);font-family:var(--font-ovo);font-size:.85rem;letter-spacing:0;line-height:1.3;white-space:nowrap;pointer-events:none;box-shadow:0 6px 18px #3d4a8324;opacity:0;transform:translate(-50%) translateY(-8px) scale(.96);transform-origin:top center;transition:opacity .18s var(--ease-out-quart),transform .18s var(--ease-out-quart)}.bubble-tip:before{content:"";position:absolute;left:50%;bottom:100%;width:0;height:1.75rem;border-left:.5px dashed var(--color-muted);transform:translate(-50%) scaleY(.4);transform-origin:bottom center;transition:transform .18s var(--ease-out-quart)}.bubble:focus-visible{z-index:4}.bubble:focus-visible .bubble-tip{opacity:1;transform:translate(-50%) translateY(0) scale(1)}.bubble:focus-visible .bubble-tip:before{transform:translate(-50%) scaleY(1)}@media (hover: hover) and (pointer: fine){.bubble:hover{z-index:4}.bubble:hover .bubble-inner{box-shadow:0 14px 32px #3d4a833d}.bubble:hover .bubble-tip{opacity:1;transform:translate(-50%) translateY(0) scale(1)}.bubble:hover .bubble-tip:before{transform:translate(-50%) scaleY(1)}}@media (max-width: 720px){.bubbles{display:flex;flex-direction:column;align-items:center;gap:1.5rem;height:auto;padding:.25rem 0 3.5rem}.bubble{position:relative;left:auto;top:auto}.bubble:nth-child(odd){align-self:flex-start}.bubble:nth-child(2n){align-self:flex-end;margin-top:.35rem}.bubble:last-child{align-self:center;margin-top:.2rem}}.bubble:focus-visible,.lightbox-close:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:1.25rem;background:#faf9f8db}.lightbox-frame{max-width:92vw;transform-origin:center;overflow:hidden;border-radius:16px;background:#eceae6;box-shadow:0 18px 48px #3d4a8338}.lightbox-video{display:block;width:auto;height:auto;max-width:92vw;max-height:min(75dvh,1000px)}.lightbox-close{position:absolute;top:1rem;right:1rem;z-index:1;min-width:44px;min-height:44px;padding:0 .7rem;border:none;background:none;cursor:pointer;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted);transition:color .15s ease,opacity .15s ease}@media (hover: hover) and (pointer: fine){.lightbox-close:hover{color:var(--color-primary)}}.lightbox-close:active{opacity:.55}@media (prefers-reduced-motion: reduce){.art-fan-card{transition:none}.art-fan-wrap:is(:hover,:focus-within) .art-fan-card{transform:translate(-50%,-5.25rem) rotate(0) scale(1);transition-delay:0ms}.art-fan-wrap--cutout:is(:hover,:focus-within) .art-fan-card{transform:translate(-50%,-3.5rem) rotate(0) scale(1)}.art-fan-wrap:is(:hover,:focus-within) .art-fan-card:not(:nth-child(3)){opacity:0}.bubble-inner{animation:none;transform:rotate(var(--r))}.bubble-tip,.bubble:hover .bubble-tip,.bubble:focus-visible .bubble-tip{transform:translate(-50%);transition:opacity .15s ease}.bubble-tip:before,.bubble:hover .bubble-tip:before,.bubble:focus-visible .bubble-tip:before{transform:translate(-50%) scaleY(1);transition:none}}
