@font-face{font-family:Caslon;src:url('./assets/LibreCaslonDisplay-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Caslon Wordmark';src:url('./assets/LibreCaslonText-Variable.ttf') format('truetype');font-style:normal;font-weight:400 700;font-display:swap}
:root{font-family:Caslon,'Times New Roman',serif;color:#000;background:#fafafa;color-scheme:light;font-synthesis:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}button{font:inherit;color:inherit}button:focus-visible{outline:1px solid currentColor;outline-offset:8px}button{-webkit-tap-highlight-color:transparent}::selection{background:#dcdcdc}
#stage{position:relative;width:100%;height:100svh;min-height:250px;overflow:hidden;background:#fafafa}
#scene{position:absolute;inset:0;opacity:1;visibility:visible;transform:scale(1);transform-origin:50% 50%;transition:opacity .65s ease .24s,transform .9s cubic-bezier(.22,.61,.36,1) .16s,visibility 0s;will-change:opacity,transform}
#scene.scene-measuring{transform:none!important;transition:none!important}
#wordmark{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;font-family:'Caslon Wordmark',Caslon,'Times New Roman',serif;font-size:min(clamp(30px,7.35vw,145px),25svh);font-weight:700;line-height:1;letter-spacing:-.027em;white-space:nowrap;text-align:center;user-select:none}
#replay{display:block;border:0;padding:0;background:none;line-height:inherit;letter-spacing:inherit;white-space:inherit;cursor:default}
.word{display:inline-block;white-space:nowrap}.letter{display:inline-block;transform-origin:50% 93%;will-change:transform}.space{display:inline-block;width:.225em}.baseline-marker{display:inline-block;width:0;height:0;vertical-align:baseline}.typing-cursor{position:absolute;top:.14em;height:.71em;width:1px;background:currentColor;animation:blink .85s steps(1) infinite}.typing-cursor[hidden]{display:none}@keyframes blink{50%{opacity:0}}
#cat-layer{position:absolute;inset:0;pointer-events:none;overflow:visible}
#info-toggle{position:fixed;z-index:5;top:8px;right:8px;display:grid;place-items:center;width:66px;height:66px;padding:13px;border:0;background:none;cursor:pointer;border-radius:50%;transition:opacity .25s}
#info-toggle:hover{opacity:.55}#info-toggle svg{width:40px;height:40px;overflow:visible;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.info-symbol circle{fill:currentColor;stroke:none}.info-symbol path{stroke-width:2.8}.info-symbol,.close-symbol{transform-origin:20px 20px;transition:opacity .4s ease,transform .65s ease}.close-symbol{opacity:0;transform:rotate(-80deg) scale(.6)}
#information{position:absolute;inset:0;z-index:3;display:grid;place-items:safe center;overflow-y:auto;opacity:0;visibility:hidden;transition:opacity .32s ease,visibility 0s .32s;pointer-events:none}
.info-copy{width:min(100%,820px);text-align:center;font-family:'Caslon Wordmark',Caslon,'Times New Roman',serif;font-size:clamp(20px,2.08vw,30px);line-height:1.3;transform:translateY(10px) scale(.985);transition:transform .45s ease;padding:90px 28px 65px}
.info-copy .profile-name{font-family:inherit;font-weight:400}
.info-copy p{margin:0}.business-links{list-style:none;padding:0;margin:1.1em 0 0}.business-links li{margin:.12em 0}.info-copy .development-label{margin-top:1.1em}.development-label+.business-links{margin-top:.35em}.info-copy .family-signoff{margin-top:1.2em}.info-copy a{color:inherit;text-decoration:none;text-underline-offset:4px;text-decoration-thickness:1px}.info-copy a:hover,.info-copy a:focus-visible{text-decoration:underline}.info-copy a:focus-visible{outline:1px solid currentColor;outline-offset:4px}
.info-copy .invest-row{display:flex;justify-content:center;align-items:center;gap:.38em;min-height:1.3em;margin-top:1em}.invest-toggle{border:0;padding:0;background:none;color:#d91f26;font:inherit;cursor:pointer}.invest-toggle:hover,.invest-toggle:focus-visible{text-decoration:underline;text-underline-offset:.12em}.invest-toggle:focus-visible{outline:1px solid currentColor;outline-offset:4px}.invest-roll{position:relative;display:inline-block;max-width:0;opacity:0;overflow:hidden;white-space:nowrap;transform:scaleX(.04) rotate(-4deg);transform-origin:left center;transition:max-width .85s cubic-bezier(.2,.72,.16,1),opacity .28s ease .12s,transform .85s cubic-bezier(.2,.72,.16,1);vertical-align:baseline}.invest-roll::before{content:"";position:absolute;z-index:1;left:0;top:50%;width:.28em;height:.88em;border-radius:50%;background:#d91f26;transform:translateY(-50%) scaleX(.55);opacity:0;pointer-events:none}.invest-row.is-open .invest-roll{max-width:22em;opacity:1;transform:scaleX(1) rotate(0)}.invest-row.is-open .invest-roll::before{animation:invest-unroll .85s cubic-bezier(.2,.72,.16,1) both}.invest-email{display:inline-block;padding-left:.04em}@keyframes invest-unroll{0%{left:0;opacity:1}70%{opacity:1}100%{left:100%;opacity:0}}@media(max-width:600px){.info-copy .invest-row{flex-wrap:wrap;column-gap:.38em;row-gap:0}.invest-row.is-open .invest-roll{max-width:100%;font-size:.88em}}@media(prefers-reduced-motion:reduce){.invest-roll,.invest-roll::before{transition:none;animation:none!important}.invest-row.is-open .invest-roll{transform:none}}
body.info-open #scene{opacity:0;visibility:hidden;transform:scale(.88);transition:opacity .52s ease,transform .8s cubic-bezier(.22,.61,.36,1),visibility 0s .8s;pointer-events:none}body.info-open #information{opacity:1;visibility:visible;transition:opacity .65s ease .46s,visibility 0s;pointer-events:auto}body.info-open .info-copy{transform:translateY(0) scale(1);transition:transform .8s cubic-bezier(.22,.61,.36,1) .4s}body.info-open .info-symbol{opacity:0;transform:rotate(80deg) scale(.6)}body.info-open .close-symbol{opacity:1;transform:rotate(0) scale(1)}
@media(max-width:600px){#wordmark{font-size:min(8.05vw,25svh);letter-spacing:-.024em}#info-toggle{top:6px;right:6px;width:60px;height:60px;padding:14px}#info-toggle svg{width:32px;height:32px}.info-copy{font-size:21px;padding:85px 22px 45px}.desktop-break{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important}}

@media(min-width:601px) and (max-height:650px){.info-copy{font-size:18px;line-height:1.3;padding:65px 28px 30px}.business-links{margin-top:.8em}.business-links li{margin:0}.info-copy .development-label{margin-top:.8em}.info-copy .family-signoff{margin-top:.9em}}
@media(max-height:500px){.info-copy{font-size:21px;padding:75px 24px 35px}}

#idea-dot{position:absolute;top:0;left:0;border-radius:50%;background:#e62828;pointer-events:none;will-change:transform}
