html{color-scheme:light dark;background:light-dark(#f7f8f5,#202524);}
body{margin:0;}
button,a,input,textarea{-webkit-tap-highlight-color:transparent;}
button{cursor:pointer;}
:focus-visible{outline:2px solid currentColor;outline-offset:5px;}

#joey-continuity{--paper:light-dark(#f7f8f5,#202524);--ink:light-dark(#232a26,#eff1eb);--quiet:light-dark(#606a63,#b4bcb3);--reverse:light-dark(#293faf,#293faf);--reverse-ink:light-dark(#f3f5ee,#f3f5ee);font-family:Arial,sans-serif;color:var(--ink);}
#joey-continuity .jt-page{position:relative;background:var(--paper);overflow:hidden;isolation:isolate;--front-alpha:1;}
#joey-continuity .jt-front{min-height:640px;display:flex;flex-direction:column;}
#joey-continuity .jt-header{position:relative;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:30px 38px;font:400 12px/1.5 Arial,sans-serif;}
#joey-continuity a{color:inherit;text-decoration:none;}
#joey-continuity a:hover{text-decoration:underline;text-underline-offset:4px;}
#joey-continuity .jt-centre{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:52px 30px 67px;}
#joey-continuity .jt-mark{width:340px;max-width:100%;}
#joey-continuity .jt-logo{display:block;width:100%;border:0;background:transparent;padding:0;color:inherit;transform-origin:27.69% 49.62%;}
#joey-continuity .jt-logo svg{display:block;width:100%;height:auto;overflow:visible;}
#joey-continuity .jt-copy{font:400 14px/1.7 Arial,sans-serif;margin:25px 0 0 8px;}
#joey-continuity .jt-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 38px 28px;font:400 12px/1.5 Arial,sans-serif;}
#joey-continuity .jt-location{color:var(--quiet);}
#joey-continuity .jt-about,#joey-continuity .jt-close{color:inherit;background:transparent;border:0;padding:12px 0;font:400 12px/1.5 Arial,sans-serif;}
#joey-continuity .jt-front .jt-header,#joey-continuity .jt-front .jt-footer,#joey-continuity .jt-copy{opacity:var(--front-alpha);}
#joey-continuity .jt-back{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;background:var(--reverse);color:var(--reverse-ink);clip-path:ellipse(0px 0px at 50% 50%);opacity:0;transition:opacity 180ms ease;pointer-events:none;}
#joey-continuity .jt-page[data-content=true] .jt-back{pointer-events:auto;}
#joey-continuity .jt-back-content{flex:1;display:flex;flex-direction:column;justify-content:center;width:450px;max-width:100%;box-sizing:border-box;margin:0 auto;padding:25px 30px 34px;}
#joey-continuity .jt-back h1{font:400 40px/1.12 Arial,sans-serif;letter-spacing:-.04em;margin:0 0 24px;}
#joey-continuity .jt-back p{font:400 17px/1.65 Arial,sans-serif;margin:0 0 17px;}
#joey-continuity .jt-elsewhere{display:flex;flex-wrap:wrap;align-items:center;gap:0 24px;margin-top:7px;font:400 12px/1.5 Arial,sans-serif;}
#joey-continuity .jt-elsewhere a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-decoration-color:color-mix(in srgb,currentColor 45%,transparent);text-underline-offset:4px;}
#joey-continuity .jt-elsewhere a:hover{text-decoration-color:currentColor;}
#joey-continuity .jt-back .jt-location{color:var(--reverse-ink);}
#joey-continuity .jt-back-content,#joey-continuity .jt-back .jt-header,#joey-continuity .jt-back .jt-footer{opacity:0;transform:translateY(5px);transition:opacity 160ms ease,transform 300ms ease;}
#joey-continuity .jt-page[data-content=true] .jt-back-content,#joey-continuity .jt-page[data-content=true] .jt-back .jt-header,#joey-continuity .jt-page[data-content=true] .jt-back .jt-footer{opacity:1;transform:translateY(0);transition-duration:240ms,360ms;}
@media(max-width:500px){#joey-continuity .jt-front{min-height:620px;}#joey-continuity .jt-header{padding:25px 24px;}#joey-continuity .jt-footer{padding:20px 24px;}#joey-continuity .jt-centre{padding:50px 28px 58px;}#joey-continuity .jt-mark{width:280px;}#joey-continuity .jt-copy{font-size:13px;}#joey-continuity .jt-back-content{padding:25px 28px;}#joey-continuity .jt-back h1{font-size:34px;}#joey-continuity .jt-back p{font-size:16px;}}
@media(prefers-reduced-motion:reduce){#joey-continuity .jt-logo,#joey-continuity .jt-back,#joey-continuity .jt-back-content,#joey-continuity .jt-header,#joey-continuity .jt-footer,#joey-continuity .jt-copy{transition:none!important;}}
#joey-continuity{position:relative;}
#joey-continuity .jt-contact-trigger,#joey-continuity .jt-dismiss{border:0;background:transparent;color:inherit;font:400 12px/1.5 Arial,sans-serif;padding:13px 0;min-height:44px;}
#joey-continuity .jt-header{padding-top:17px;padding-bottom:17px;}
#joey-continuity .jt-contact-trigger:hover,#joey-continuity .jt-dismiss:hover{text-decoration:underline;text-underline-offset:4px;}
#joey-continuity .jt-signature{display:block;width:15px;height:14px;}
#joey-continuity .jt-contact-layer{position:absolute;inset:0;z-index:5;display:grid;place-items:center;padding:24px;box-sizing:border-box;background:light-dark(#20252435,#00000060);backdrop-filter:blur(5px);}
#joey-continuity .jt-contact-layer[hidden]{display:none;}
#joey-continuity .jt-contact-card{box-sizing:border-box;width:100%;max-width:390px;padding:25px 30px 23px;background:var(--paper);color:var(--ink);box-shadow:0 12px 55px light-dark(#19251c1f,#00000040);animation:jt-heart-arrive 220ms ease both;}
#joey-continuity .jt-contact-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;}
#joey-continuity .jt-contact-heading h2{font:400 28px/1.2 Arial,sans-serif;letter-spacing:-.035em;margin:0;}
#joey-continuity .jt-contact-form label{display:block;font:400 12px/1.5 Arial,sans-serif;margin-top:16px;}
#joey-continuity .jt-contact-form label span{color:var(--quiet);}
#joey-continuity .jt-contact-form input,#joey-continuity .jt-contact-form textarea{box-sizing:border-box;display:block;width:100%;border:0;border-bottom:1px solid color-mix(in srgb,var(--ink) 28%,transparent);border-radius:0;background:transparent;color:var(--ink);font:400 16px/1.5 Arial,sans-serif;padding:9px 0;}
#joey-continuity .jt-contact-form textarea{resize:none;}
#joey-continuity .jt-contact-form input:focus,#joey-continuity .jt-contact-form textarea:focus{outline:none;border-bottom:2px solid currentColor;padding-bottom:8px;}
#joey-continuity .jt-send-row{display:flex;justify-content:flex-end;margin-top:17px;}
#joey-continuity .jt-send{border:0;background:var(--ink);color:var(--paper);padding:12px 16px;min-height:44px;font:400 12px/1.5 Arial,sans-serif;}
#joey-continuity .jt-send span{margin-left:15px;}
#joey-continuity .jt-form-note{font:400 11px/1.5 Arial,sans-serif;color:var(--quiet);margin:13px 0 0;}
@keyframes jt-heart-arrive{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}
@media(max-width:500px){#joey-continuity .jt-header{padding-top:12px;padding-bottom:12px;}#joey-continuity .jt-contact-layer{padding:18px;}#joey-continuity .jt-contact-card{padding:20px 24px;}#joey-continuity .jt-back-content{padding-top:18px;padding-bottom:18px;}}
@media(prefers-reduced-motion:reduce){#joey-continuity .jt-contact-card{animation:none;}}
#joey-continuity .jt-heart-play{display:grid;place-items:center;width:44px;height:44px;flex:none;margin-left:-14px;padding:0;border:0;background:transparent;color:inherit;overflow:visible;touch-action:manipulation;}
#joey-continuity .jt-signature{pointer-events:none;transform-origin:50% 75%;}
#joey-continuity .jt-back .jt-header{z-index:3;}
#joey-continuity .jt-bio-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:26px;}
#joey-continuity .jt-bio-heading h1{margin:0;}
#joey-continuity .jt-portrait{display:block;flex:none;width:104px;height:124px;object-fit:cover;object-position:50% 50%;}
#joey-continuity[data-portrait=false] .jt-portrait{display:none;}
#joey-continuity[data-portrait=false] .jt-bio-heading h1 br{display:none;}
@media(max-width:500px){#joey-continuity .jt-front{min-height:710px;}#joey-continuity .jt-bio-heading{gap:18px;margin-bottom:24px;}#joey-continuity .jt-portrait{width:92px;height:110px;}}

/* Both faces participate in layout so enlarged text and small screens can scroll. */
#joey-continuity .jt-page{display:grid;min-height:100svh;}
#joey-continuity .jt-front,#joey-continuity .jt-back{grid-area:1/1;}
#joey-continuity .jt-front{min-height:100svh;}
#joey-continuity .jt-back{position:relative;inset:auto;min-width:0;}
#joey-continuity .jt-contact-layer{position:fixed;overflow-y:auto;align-items:safe center;}
#joey-continuity .jt-contact-card{margin-block:auto;}
@media(max-width:359px){#joey-continuity .jt-bio-heading{gap:12px;}#joey-continuity .jt-back h1{font-size:30px;}#joey-continuity .jt-portrait{width:80px;height:98px;}}

#joey-continuity .jt-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
#joey-continuity .jt-send:disabled{opacity:.55;cursor:wait;}

#joey-continuity .jt-back .jt-bio-signature{font:400 12px/1.6 Arial,sans-serif;margin:18px 0 0;}

/* The landing remains one viewport; the longer bio gets its own natural height. */
#joey-continuity .jt-page{display:block;overflow:clip;}
#joey-continuity .jt-back{position:absolute;inset:0;}
#joey-continuity .jt-page[data-open=true] .jt-front{position:absolute;inset:0;}
#joey-continuity .jt-page[data-open=true] .jt-back{position:relative;inset:auto;min-height:100svh;}
#joey-continuity .jt-centre{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:32px;align-items:center;align-self:center;width:min(1180px,100%);box-sizing:border-box;padding:20px 58px 30px;}
#joey-continuity .jt-mark{position:relative;z-index:1;width:340px;justify-self:center;}
#joey-continuity .jt-copy{max-width:325px;font-size:16px;line-height:1.7;margin-top:24px;}
#joey-continuity .jt-thread{height:clamp(360px,65svh,720px);min-width:0;opacity:var(--front-alpha);color:light-dark(#293faf,#aebeff);touch-action:pan-y;}
#joey-continuity .jt-thread-field{display:block;width:100%;height:100%;overflow:hidden;}
#joey-continuity .jt-thread-strand{fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;}
#joey-continuity .jt-motion{font:400 12px/1.5 Arial,sans-serif;border:0;background:transparent;color:var(--quiet);padding:12px 0;min-height:44px;}
#joey-continuity .jt-motion:hover{text-decoration:underline;text-underline-offset:4px;}
#joey-continuity .jt-back-content{width:640px;padding:22px 38px 32px;}
#joey-continuity .jt-back-content p a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,currentColor 55%,transparent);}
#joey-continuity .jt-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;}
@media(max-width:650px){
 #joey-continuity .jt-centre{grid-template-columns:minmax(0,1fr);gap:4px;padding:20px 26px 4px;align-content:center;}
 #joey-continuity .jt-mark{width:280px;max-width:100%;}
 #joey-continuity .jt-copy{font-size:14px;line-height:1.7;margin-top:14px;}
 #joey-continuity .jt-thread{height:clamp(170px,26svh,260px);width:100%;max-width:380px;justify-self:center;}
 #joey-continuity .jt-back-content{width:100%;padding:18px 28px 28px;}
 #joey-continuity .jt-back p{font-size:16px;line-height:1.65;}
}

/* One continuous thread extends beyond the viewport, behind the mobile content. */
#joey-continuity .jt-front{position:relative;isolation:isolate;}
#joey-continuity .jt-front .jt-header,#joey-continuity .jt-front .jt-footer{z-index:1;}
#joey-continuity .jt-thread{position:absolute;inset:0 0 0 49%;height:100%;width:auto;max-width:none;z-index:-1;pointer-events:none;}
#joey-continuity .jt-copy{width:400px;max-width:calc(100vw - 56px);}
#joey-continuity .jt-copy span{display:block;}
#joey-continuity .jt-motion{display:grid;place-items:center;width:44px;padding:12px;margin-right:-12px;opacity:.65;}
#joey-continuity .jt-motion:hover,#joey-continuity .jt-motion:focus-visible{opacity:1;}
#joey-continuity .jt-motion svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.5;}
#joey-continuity .jt-play-icon{display:none;}
#joey-continuity .jt-motion[aria-pressed=true] .jt-pause-icon{display:none;}
#joey-continuity .jt-motion[aria-pressed=true] .jt-play-icon{display:block;}
@media(max-width:650px){
 #joey-continuity .jt-centre{padding-block:40px 58px;}
 #joey-continuity .jt-thread{inset:0;height:100%;width:100%;max-width:none;opacity:calc(var(--front-alpha)*.32);mask-image:linear-gradient(to bottom,#000 15%,#0005 36%,#0005 65%,#000 85%);}
 #joey-continuity .jt-copy{position:relative;left:50%;transform:translateX(-50%);width:calc(100vw - 56px);max-width:360px;margin-left:0;}
}

#joey-continuity .jt-hallo{font:inherit;color:inherit;background:none;border:0;padding:13px 0;min-height:44px;text-align:left;min-width:140px;}
.jt-hallo span{display:inline-block;}
.jt-hallo[aria-expanded=true] span{animation:hallo-arrive 220ms ease-out;}
@keyframes hallo-arrive{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}

@media(prefers-reduced-motion:reduce){.jt-hallo span{animation:none!important;}}
