/* One polaroid connects the cover and the introduction. */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.hero-art{animation:none}
.portrait-origin{aspect-ratio:.78;will-change:auto}
.polaroid.portrait-card{width:100%;height:100%;aspect-ratio:.78;padding:11px 11px 9px;display:flex;flex-direction:column;transform:rotate(-7deg);transition:none;box-shadow:4px 9px 25px #292b2226}
.portrait-card img{display:block;width:100%;height:0;flex:1;min-height:0;object-fit:cover;object-position:34% 45%}
.portrait-card figcaption{flex:none;padding:14px 0 3px;font-size:16px;line-height:1.5;white-space:nowrap}
#traveling-portrait.is-traveling{position:fixed;left:0;top:0;z-index:12;transform-origin:0 0;pointer-events:none;will-change:transform;height:auto}
.portrait-animation-ready .portrait-static{visibility:hidden}
.portrait-destination{width:min(335px,100%);aspect-ratio:.78;position:relative}
.portrait-static{position:absolute;inset:0;transform:rotate(-3deg)!important}
.about{padding-top:112px;padding-bottom:45px}
.about>.section-kicker{margin-bottom:28px}
.about-portrait-grid{display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;gap:9%;min-height:435px}
.about-photo-side{display:flex;align-items:center;justify-content:center;position:relative;min-width:0;padding:8px 15px 12px}
.arrival-star{position:absolute;bottom:-11px;right:3%;font:72px/1 Georgia,serif;color:var(--blue);transform:rotate(-12deg);z-index:13;pointer-events:none}
.about-intro{min-width:0;max-width:540px}
.typed-intro p{margin:0;line-height:2;letter-spacing:.02em;color:#555f4b}
.typed-intro .intro-name{font-family:var(--sans);font-size:25px;font-weight:500;line-height:1.8;letter-spacing:.03em;color:var(--ink);margin-bottom:16px}
.typed-intro .intro-belief{font-size:14px;line-height:2.15}
.typed-intro .intro-timeline{font-size:12px;line-height:2;margin-top:14px;color:var(--muted)}
.intro-char{position:relative}
.typing-ready .intro-char{opacity:0;transition:opacity .08s}
.typing-ready .intro-char.is-typed{opacity:1}
.intro-char.typing-caret::after{content:"";position:absolute;right:-3px;top:.12em;height:1em;width:1.5px;background:var(--blue);animation:typing-blink .75s steps(1) infinite}
.about-intro .education{margin-top:18px;gap:12px;font-size:11px;line-height:1.8}
.about-intro .note-sign{font-size:17px;margin-top:13px;color:var(--blue)}
.about .stats{margin-top:30px;padding:21px 0}
.creative-toolbox{position:relative;width:100%;max-width:450px;min-height:170px;margin-top:14px}
.creative-toolbox summary{display:flex;align-items:center;gap:17px;position:absolute;left:0;right:0;bottom:0;min-height:80px;cursor:pointer;list-style:none;user-select:none;padding:5px 0}
.creative-toolbox summary::-webkit-details-marker{display:none}
.creative-toolbox summary:focus-visible{outline:2px solid var(--blue);outline-offset:5px;border-radius:5px}
.toolbox-icon{width:110px;height:75px;position:relative;display:block;flex:none;perspective:500px;transition:transform .3s}
.toolbox-base{position:absolute;left:8px;top:30px;width:91px;height:43px;background:var(--blue);border:1px solid #174bbd;border-radius:3px 3px 8px 8px;box-shadow:5px 5px 0 #c8d6fa;transform:skewY(-3deg)}
.toolbox-base::after{content:"";position:absolute;right:0;top:0;width:9px;height:100%;background:#174ac8;border-radius:0 0 7px 0}
.toolbox-lid{position:absolute;left:5px;top:22px;width:96px;height:17px;border:1px solid #1f4ecb;border-radius:5px 5px 2px 2px;background:#4d7df3;transform:rotate(-3deg);transform-origin:8px 16px;transition:transform .5s cubic-bezier(.2,.8,.2,1);z-index:2}
.toolbox-lid::before{content:"";position:absolute;left:32px;top:-13px;width:29px;height:13px;border:3px solid var(--blue);border-bottom:0;border-radius:7px 7px 0 0}
.toolbox-lock{position:absolute;left:45px;top:37px;font:18px/1 Arial,sans-serif;color:#f8f7f2;z-index:3}
.toolbox-label{display:block;min-width:0;padding-top:7px}
.toolbox-label strong{display:block;font:24px/1.6 var(--hand);font-weight:400;color:var(--blue)}
.toolbox-label small{font:10px/1.8 var(--sans);color:var(--muted);margin-top:3px}
.creative-toolbox summary:hover .toolbox-icon{transform:translateY(-3px) rotate(-3deg)}
.creative-toolbox[open] .toolbox-lid{transform:translate(-6px,-12px) rotate(-22deg)}
.toolbox-bubbles{position:absolute;left:128px;top:0;right:0;display:grid;grid-template-columns:repeat(3,max-content);align-content:start;align-items:start;gap:12px;max-width:none;padding:0;min-height:0}
.toolbox-bubbles span{border:1px solid #a8bfea;background:#eef3ff;color:#2456cd;font-size:11px;padding:5px 15px;border-radius:50px;box-shadow:2px 3px 0 #dce5fa;white-space:nowrap;justify-self:start;animation:bubble-unpack .55s cubic-bezier(.16,.8,.25,1) both;animation-delay:calc(var(--bubble-order,0)*55ms)}
.toolbox-bubbles span:nth-child(1){--bubble-order:0;--bubble-angle:-5deg}
.toolbox-bubbles span:nth-child(2){--bubble-order:1;--bubble-angle:4deg}
.toolbox-bubbles span:nth-child(3){--bubble-order:2;--bubble-angle:-3deg}
.toolbox-bubbles span:nth-child(4){--bubble-order:3;--bubble-angle:3deg}
.toolbox-bubbles span:nth-child(5){--bubble-order:4;--bubble-angle:-4deg}
.toolbox-bubbles span:nth-child(6){--bubble-order:5;--bubble-angle:5deg}
.toolbox-bubbles span:hover{background:var(--blue);color:white;transform:rotate(-7deg) translateY(-4px)}
@keyframes bubble-unpack{from{opacity:0;translate:-25px 50px;scale:.6}to{opacity:1;translate:0 0;scale:1;transform:rotate(var(--bubble-angle))}}
@keyframes typing-blink{50%{opacity:0}}
@media(max-width:1000px){.about-portrait-grid{gap:7%;grid-template-columns:.9fr 1.1fr}.portrait-destination{width:min(300px,100%)}.typed-intro .intro-name{font-size:25px}.typed-intro .intro-belief{font-size:13px}.toolbox-label strong{font-size:21px}.toolbox-icon{width:100px}.toolbox-label small{font-size:9px}.toolbox-bubbles{gap:10px 8px}.toolbox-bubbles span{padding:5px 12px}.about-photo-side{padding:8px 10px 12px}.portrait-card figcaption{font-size:14px}}
@media(max-width:700px){.portrait-origin{width:48%;left:25%;top:63px}.polaroid.portrait-card{padding:8px 8px 7px}.portrait-card figcaption{font-size:11px;padding:10px 0 3px}.about{padding-top:103px;padding-bottom:50px}.about>.section-kicker{margin-bottom:25px}.about-portrait-grid{grid-template-columns:1fr;gap:32px;min-height:0}.portrait-destination{width:min(235px,76%)}.about-photo-side{padding:0 12px 6px}.arrival-star{font-size:52px;right:10%;bottom:-9px}.about-intro{max-width:460px;margin:auto;width:100%}.typed-intro .intro-name{font-size:25px;margin-bottom:13px}.typed-intro .intro-belief{font-size:13px}.typed-intro .intro-timeline{font-size:11px}.about-intro .education{font-size:10px;gap:9px;margin-top:16px}.creative-toolbox{margin-top:12px;min-height:175px}.toolbox-label strong{font-size:23px}.toolbox-bubbles span{font-size:11px;padding:5px 13px}.about .stats{margin-top:30px;padding:0}.about-intro .note-sign{margin-top:12px;font-size:16px}}
@media(prefers-reduced-motion:reduce){.toolbox-icon,.toolbox-lid,.toolbox-bubbles span,.intro-char{animation:none!important;transition:none!important}.toolbox-bubbles span{opacity:1;translate:none;scale:1}.typing-ready .intro-char{opacity:1}.typing-caret::after{display:none}}

/* Leave a clear lane for the opened lid, including the bubble entrance animation. */
@media(max-width:820px){.creative-toolbox{min-height:215px}.toolbox-bubbles{grid-template-columns:repeat(2,max-content)}}
@media(max-width:380px){.toolbox-bubbles{left:112px}.toolbox-bubbles span{font-size:10px;padding:5px 9px}}
