/* An oversized personal sign-off, in the portfolio's own paper and ink. */
body .portfolio-contact-footer.signature-footer{--footer-paper:#efece4;--footer-ink:#623521;--footer-red:#E11B0C;position:relative;isolation:isolate;max-width:none;width:100%;margin:0;padding:80px 40px 28px;background:var(--footer-paper);color:var(--footer-ink);border:0;overflow:hidden}
.signature-footer::before{content:'';position:absolute;inset:0;z-index:-1;background:url('/assets/paper-background.webp') center/900px auto;opacity:.16;mix-blend-mode:multiply;pointer-events:none}
.signature-footer-inner{max-width:1120px;margin:auto}
.footer-conversation{display:flex;align-items:flex-end;justify-content:space-between;gap:56px}
body .signature-footer .footer-conversation h2{font-family:'Hepta Slab',serif!important;font-size:clamp(30px,3.4vw,44px)!important;line-height:1.22;letter-spacing:-.055em;font-weight:400;color:var(--footer-ink)!important;margin:0}
.footer-contact-links{position:relative;display:flex;flex-direction:column;gap:17px;min-width:272px;margin-bottom:5px}
.signature-footer .footer-contact-links :is(a,button){display:flex;align-items:center;justify-content:space-between;gap:32px;font:400 15px/1.6 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--footer-ink)!important;background:none;border:0;border-bottom:1px solid #62352145;border-radius:0;padding:0 0 6px;text-decoration:none;cursor:pointer;transition:color .2s,border-color .2s}
.signature-footer .footer-contact-links :is(a,button):hover{color:var(--footer-red)!important;border-color:var(--footer-red)}
.signature-footer .footer-contact-links :is(a,button)>span:last-child{transition:transform .2s}
.signature-footer .footer-contact-links :is(a,button):hover>span:last-child{transform:translate(2px,-2px)}
body .signature-footer .footer-copy-feedback{position:absolute;top:100%;right:0;font-size:11px!important;line-height:1.5;color:var(--footer-ink)!important;margin:7px 0 0}
.footer-signoff{position:relative;margin:40px auto 22px;width:76%;max-width:820px}
body .signature-footer .footer-signature{width:100%;height:auto;display:block;color:var(--footer-red)!important;overflow:visible}
.signature-footer .footer-signature :is(g,path){color:var(--footer-red)!important;stroke:var(--footer-red)!important}
.footer-signature path{stroke-width:var(--pen-width,16);opacity:1}
.signature-footer.is-motion-ready:not(.is-signed) .footer-signature path{stroke-dasharray:var(--pen-length,1);stroke-dashoffset:var(--pen-length,1);opacity:0}
.signature-footer.is-motion-ready.is-signed .footer-signature path{stroke-dasharray:var(--pen-length,1);animation:footer-sign var(--pen-duration) linear both;animation-delay:var(--pen-start)}
/* Hide delayed round line caps until the pen reaches that stroke. */
@keyframes footer-sign{0%{stroke-dashoffset:var(--pen-length,1);opacity:0}0.01%{opacity:1}100%{stroke-dashoffset:0;opacity:1}}
.footer-colophon{display:flex;align-items:center;gap:32px;color:#806d5e;font:400 12px/1.6 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
.signature-footer .footer-colophon small{font:inherit!important;margin-left:auto;white-space:nowrap}
.footer-back-top{font:inherit;color:var(--footer-ink);border:0;background:transparent;padding:8px 0 8px 12px;cursor:pointer;white-space:nowrap}
.footer-back-top span{display:inline-block;margin-left:10px;transition:transform .2s}.footer-back-top:hover span{transform:translateY(-3px)}
.signature-footer :is(a,button):focus-visible{outline:2px solid var(--footer-red);outline-offset:5px}
@media(max-width:650px){
 body .portfolio-contact-footer.signature-footer{padding:56px 24px 24px}
 .footer-conversation{align-items:flex-start;flex-direction:column;gap:32px}
 .footer-contact-links{min-width:0;width:100%;max-width:330px;gap:14px}
 .signature-footer .footer-contact-links :is(a,button){font-size:14px}
 .footer-signoff{width:90%;margin:40px auto 32px}
  .footer-colophon{flex-wrap:wrap;gap:16px;font-size:11px}
 .footer-colophon>span{flex-basis:100%}.footer-colophon small{margin:0}.footer-back-top{margin-left:auto}
}
@media(prefers-reduced-motion:reduce){.signature-footer .footer-signature path{animation:none!important;stroke-dashoffset:0!important;opacity:1!important}.signature-footer *{transition:none!important}}

/* Quiet live Pacific-time colophon, in the original lower-left position. */
body .signature-footer .footer-local-time,body .signature-footer .footer-local-time *{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important;font-size:13px!important;font-weight:400!important;line-height:1.6;color:#827b72!important;letter-spacing:.025em}
.footer-local-time{display:inline-flex;align-items:baseline;gap:7px;white-space:nowrap}
.footer-local-time time{font-variant-numeric:tabular-nums}
.signature-footer .footer-colophon .footer-back-top{margin-left:auto}
@media(max-width:650px){body .signature-footer .footer-local-time,body .signature-footer .footer-local-time *{font-size:11px!important}}
@media(max-width:750px){
 .signature-footer .footer-contact-links :is(a,button){min-height:44px;box-sizing:border-box}
 .signature-footer .footer-back-top{min-height:44px}
}

/* The visitor's ink is a separate, non-interactive layer above the paper. */
.footer-visitor-ink{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;overflow:hidden}
.footer-visitor-ink path{fill:none;stroke:#E11B0C;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.footer-draw-enabled :is(a,button){position:relative;z-index:3}
.footer-draw-enabled.is-drawing{user-select:none;-webkit-user-select:none}

.footer-visitor-ink{opacity:1;transition:opacity 900ms ease-in-out}
.footer-visitor-ink.is-fading{opacity:0}
@media(prefers-reduced-motion:reduce){.footer-visitor-ink.is-fading{transition:none}}
