/* A personal companion to Home. These selectors only affect the About page. */
.about-personal-reset { background:#fdfdfc; color:var(--portfolio-ink,#111318); min-width:320px; }
.about-personal-reset .site-header { position:relative; }
.about-personal-reset main { overflow:clip; }
.about-personal-reset main:focus { outline:none; }
.about-personal-reset :is(h1,h2,h3,p,figure,ul,ol) { margin:0; }
.about-personal-reset :is(h1,h2,h3) { letter-spacing:-.025em; font-weight:700; }
.ap-shell { width:min(80rem,calc(100% - 7rem)); margin-inline:auto; }
.about-personal-reset h2 { font-size:clamp(2.4rem,4vw,3.6rem); line-height:1.12; }
.ap-hand { font-family:"Bradley Hand","Segoe Print","Comic Sans MS",cursive; font-size:1.5rem; line-height:1.3; font-weight:400; letter-spacing:0; color:#8061bb; }
.ap-body { font-size:1.125rem; line-height:1.65; color:var(--portfolio-body,#555965); }
.ap-section-label { font-size:.75rem; line-height:1.5; letter-spacing:.13em; text-transform:uppercase; color:var(--portfolio-muted,#747883); font-weight:600; margin-bottom:1.2rem; }
.ap-link { display:inline-flex; gap:1.7rem; align-items:center; border-bottom:2px solid #9973f0; padding:.6rem 0; font-size:1rem; font-weight:600; }
.ap-link span { transition:transform .25s ease; }.ap-link:hover span { transform:translate(3px,-3px); }
.about-personal-reset a:focus-visible { outline:2px solid #8657dd; outline-offset:6px; border-radius:2px; }
.ap-muted { color:#8c8b94; }
.ap-hero { min-height:43rem; display:grid; grid-template-columns:1.25fr 1fr; align-items:center; position:relative; padding:2.5rem 0 0; }
.ap-hello { padding-bottom:4rem; position:relative; z-index:1; }
.ap-hello-note { transform:rotate(-4deg); transform-origin:left; margin-bottom:1.8rem !important; }
.ap-hero h1 { font-size:clamp(4.5rem,8.5vw,7.5rem); line-height:1.02; white-space:nowrap; }
.ap-hero h1 span,.ap-personal-header h2 span,.ap-contact h2 span { color:#8750ed; }
.ap-intro { font-size:clamp(1.5rem,2.25vw,2rem); line-height:1.35; letter-spacing:-.015em; margin-top:1.8rem !important; }
.ap-hero-bio { max-width:24rem; margin-top:1.4rem !important; }
.ap-location { display:flex; gap:.6rem; align-items:center; font-size:.88rem; color:#73777d; margin-top:1.6rem !important; }
.ap-location i { width:6px; height:6px; border-radius:50%; background:#7c916b; }
.ap-portrait { position:relative; justify-self:center; width:min(100%,24rem); }
.ap-portrait img { width:100%; height:auto; display:block; mix-blend-mode:multiply; }
.ap-portrait figcaption { position:absolute; right:-2rem; top:-1rem; font-size:1.2rem; transform:rotate(8deg); }
.ap-page-index { grid-column:1/-1; display:flex; align-items:center; gap:3rem; padding:1.7rem 0; border-bottom:1px solid #e8e6ed; }
.ap-page-index a { display:flex; align-items:center; gap:1rem; min-height:32px; font-size:.9rem; color:#626571; }
.ap-page-index a:hover { color:#8750ed; }.ap-page-index span { color:#9973d6; }
.ap-story { padding:7.5rem 0 4rem; scroll-margin-top:3rem; }
.ap-story-layout { display:grid; grid-template-columns:1fr 1fr; gap:6rem; align-items:center; margin-top:2rem; }
.ap-story-copy p { font-size:1.1rem; line-height:1.75; color:var(--portfolio-body,#555965); max-width:31rem; }
.ap-story-copy p+p { margin-top:1rem; }
.ap-motion-study { padding:2rem 0 1rem; }
.ap-motion-beats { height:65px; display:flex; align-items:center; justify-content:space-between; padding-inline:1.2rem; }
.ap-motion-beats i { height:32px; width:32px; border-radius:50%; background:#c1a5ef; box-shadow:0 8px 24px #8c63c21a; }
.ap-motion-beats i:nth-child(2) { background:#baa0ee; }.ap-motion-beats i:nth-child(3) { background:#a57adb; }.ap-motion-beats i:nth-child(4) { background:#9265cb; }.ap-motion-beats i:nth-child(5) { background:#7950ae; }
.ap-motion-study>p { display:flex; align-items:center; justify-content:space-between; gap:.7rem; margin-top:1.5rem; font-size:1.1rem; font-weight:600; }
.ap-motion-study b { color:#baa6d5; font-weight:400; }.ap-motion-study>.ap-hand { display:block; margin:1.8rem 0 0 1rem; transform:rotate(-3deg); font-size:1.25rem; }
.ap-start { padding:6rem 0; display:grid; grid-template-columns:1fr 1.08fr; gap:7rem; align-items:center; }
.ap-brief { position:relative; padding:2.5rem 2rem 1.8rem; background:#f6f1e8; aspect-ratio:1/.98; max-width:28rem; width:100%; display:flex; flex-direction:column; justify-content:center; transform:rotate(-6deg); box-shadow:0 20px 45px -22px #4e3c612a; border-radius:3px 3px 22px 3px; }
.ap-brief::before { content:""; position:absolute; top:-13px; width:110px; height:28px; background:#e5daf2a1; left:35%; transform:rotate(4deg); }
.ap-paper-label { position:absolute; top:2rem; font-size:.85rem; color:#7e796f; }
.ap-brief>p { font-size:clamp(2.8rem,4.5vw,4rem); letter-spacing:-.03em; font-weight:700; }.ap-brief>p span { color:#a285c0; }
.ap-brief>.ap-hand { margin-top:1rem; font-size:1.2rem; }
.ap-paper-foot { position:absolute; bottom:1.6rem; font-size:.8rem; color:#8e887e; }
.ap-start-copy h2 { font-size:clamp(2.3rem,3.4vw,3.2rem); }
.ap-start-copy>.ap-body { margin-top:1.5rem; max-width:30rem; }.ap-start-copy>.ap-link { margin-top:1rem; }
.ap-small-story { border-top:1px solid #e8e6ed; padding-top:1.5rem; margin-top:2rem !important; color:#777883; font-size:.95rem; line-height:1.7; max-width:30rem; }
.ap-small-story a { color:#39343f; text-decoration:underline; text-underline-offset:4px; white-space:nowrap; }
.ap-beliefs { display:grid; grid-template-columns:1fr 1.08fr; gap:7rem; padding:4rem 0 7rem; }
.ap-beliefs h2 { font-size:clamp(2rem,3.6vw,3.25rem); }.ap-beliefs h2>.ap-hand { display:block; margin-top:.8rem; font-size:1.8rem; transform:rotate(-4deg); transform-origin:left; }
.ap-belief-notes { display:grid; gap:2rem; }.ap-belief-notes article { display:flex; gap:1.3rem; }.ap-note-mark { font-size:.8rem; color:#a29da9; padding-top:.4rem; }
.ap-belief-notes h3 { font-size:1.25rem; line-height:1.3; }.ap-belief-notes p { font-size:1rem; line-height:1.65; color:#737580; margin-top:.55rem; max-width:28rem; }
.ap-personal { padding:6rem 0 2rem; position:relative; background:radial-gradient(ellipse at 34% 44%,#f2edf766,transparent 61%); }
.ap-personal-header { display:grid; grid-template-columns:1.2fr .8fr; gap:0 4rem; align-items:end; }.ap-personal-header>.ap-section-label { grid-column:1/-1; }
.ap-personal-header h2 { font-size:clamp(2.6rem,4.6vw,4.1rem); }.ap-personal-header>.ap-body { justify-self:end; padding-bottom:.25rem; }
.ap-rdr { display:grid; grid-template-columns:1.6fr 1fr; align-items:center; gap:1.2rem; margin-top:1rem; }
.ap-rdr figure { position:relative; width:calc(100% + 3rem); margin-left:-3rem; }
.ap-rdr img { width:100%; height:auto; display:block; mix-blend-mode:multiply; }.ap-rdr figcaption { font-size:1.3rem; transform:rotate(-5deg); margin:-.4rem 0 0 4rem; }
.ap-rdr-copy { padding-top:2rem; }.ap-game-label { font-size:.85rem; color:#877c74; }.ap-rdr-copy h3 { font-size:clamp(2.5rem,4vw,3.7rem); line-height:1.06; margin-top:1.1rem; }.ap-rdr-copy h3 span { color:#b23d3c; }
.ap-rdr-copy>.ap-hand { color:#a66851; transform:rotate(-5deg); transform-origin:left; margin-top:1.4rem; }.ap-rdr-copy>.ap-body { margin-top:1.7rem; font-size:1rem; }
.ap-pocket { display:grid; grid-template-columns:.75fr 1.55fr .85fr; align-items:center; gap:1rem; margin:3rem auto 0; max-width:65rem; }.ap-pocket>p { transform:rotate(-5deg); }.ap-pocket img { width:100%; height:auto; mix-blend-mode:multiply; }.ap-pocket ul { list-style:none; padding:0; font-size:1.1rem; line-height:2; color:#74716f; }
.ap-scrapbook { padding:6rem 0 6rem; }.ap-scrapbook>header { display:grid; grid-template-columns:1fr 1fr; column-gap:5rem; align-items:end; }.ap-scrapbook .ap-section-label { grid-column:1/-1; }.ap-scrapbook h2 { grid-row:2/4; }.ap-scrapbook .ap-body { align-self:end; max-width:23rem; }
.ap-draft-label { color:#8d829c; font-size:.78rem; margin-top:.7rem !important; }
.ap-scraps { display:grid; grid-template-columns:1fr 1fr 1.07fr; gap:2.5rem; align-items:start; padding:4rem 0 2rem; }
.ap-photo-slot { background:white; padding:.8rem .8rem 1.3rem; box-shadow:0 12px 34px -15px #27223d28; transform:rotate(-5deg); transition:transform .35s ease; }
.ap-photo-slot>div { aspect-ratio:1/1.15; background:#edf0e9; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:1.3rem; text-align:center; padding:1rem; }
.ap-photo-slot .ap-hand { color:#7b856c; font-size:1.4rem; }.ap-photo-slot small { font-size:.73rem; color:#8a9085; }
.ap-photo-slot figcaption { font-size:.8rem; color:#7b797b; padding:1rem .3rem 0; line-height:1.5; }
.ap-drive-photo { margin-top:3rem !important; transform:rotate(4deg); }.ap-drive-photo>div { background:#eeeaf1; }.ap-drive-photo .ap-hand { color:#9484a0; }.ap-drive-photo small { color:#978c9f; }
.ap-photo-slot:hover { transform:rotate(0deg) translateY(-4px); }
.ap-cinema-ticket { position:relative; background:#f8f0e2; padding:1.7rem 1.4rem; margin-top:.5rem; transform:rotate(3deg); box-shadow:0 12px 34px -15px #6e543920; }
.ap-cinema-ticket::before,.ap-cinema-ticket::after { content:""; width:18px; height:18px; border-radius:50%; position:absolute; top:3.65rem; background:#fdfdfc; }.ap-cinema-ticket::before { left:-9px; }.ap-cinema-ticket::after { right:-9px; }
.ap-ticket-top { display:block; padding-bottom:1.3rem; border-bottom:1px dashed #d9cdb9; color:#8d7c61; font-size:.73rem; }
.ap-cinema-ticket h3 { font-size:1.35rem; margin-top:1.3rem; }.ap-cinema-ticket ol { list-style:none; padding:0; margin-top:1.2rem; }.ap-cinema-ticket li { font-size:.88rem; color:#9c8d78; padding:.65rem 0; border-bottom:1px solid #e6ddcd; }.ap-cinema-ticket li span { margin-right:.65rem; font-size:.7rem; }.ap-cinema-ticket>.ap-hand { margin-top:1.4rem; font-size:1.08rem; color:#b28c64; }
.ap-experience { display:grid; grid-template-columns:.9fr 1.1fr; gap:5rem; padding:4rem 0 6rem; }.ap-experience .ap-body { margin-top:1.5rem; }.ap-experience .ap-link { margin-top:1.3rem; }
.ap-career { list-style:none; padding:0; }.ap-career li { display:flex; justify-content:space-between; gap:1.5rem; padding:1.45rem 0; border-bottom:1px solid #e8e6ec; }.ap-career li:first-child { padding-top:0; }.ap-career h3 { font-size:1.1rem; }.ap-career p { font-size:.85rem; color:#7d7d87; margin-top:.5rem; }.ap-career time { font-size:.77rem; color:#919099; padding-top:.2rem; white-space:nowrap; }.ap-current { font-size:.66rem; letter-spacing:0; font-weight:500; color:#a26272; background:#f9e9ed; padding:.22rem .4rem; border-radius:5px; margin-left:.45rem; vertical-align:middle; }
.ap-contact { display:flex; justify-content:space-between; align-items:end; padding:4rem 0 5rem; }.ap-contact .ap-hand { transform:rotate(-3deg); transform-origin:left; font-size:1.25rem; }.ap-contact h2 { font-size:clamp(4rem,7vw,6rem); margin-top:1.6rem; }.ap-email { margin-top:1.3rem; font-weight:400; font-size:1.15rem; }.ap-return { display:flex; align-items:center; gap:1.3rem; font-size:.95rem; }.ap-return span { width:4rem; height:4rem; border-radius:50%; background:#eee6ff; display:grid; place-items:center; font-size:1.8rem; transition:transform .25s ease; }.ap-return:hover span { transform:translate(3px,-3px); }
.ap-footer { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:2rem 0; border-top:1px solid #e8e6ed; color:#7e7a88; font-size:.8rem; }.ap-footer p span { margin-left:.5rem; }.ap-footer .ap-hand { font-size:1.1rem; transform:rotate(-4deg); }.ap-footer a { padding:1rem 0; }.ap-footer a span { margin-left:1rem; }
.ap-replay { border:0; background:none; padding:.6rem 0; margin-top:1rem; font:inherit; font-size:.8rem; color:#81778f; cursor:pointer; }
.ap-replay span { margin-left:.5rem; }.ap-replay:disabled { opacity:.45; cursor:default; }.ap-replay:focus-visible { outline:2px solid #8657dd; outline-offset:4px; }
.ap-personal-prompt { max-width:19rem; margin-top:2rem; padding-left:1rem; border-left:1px solid #d6cdc2; color:#8c7f73; }
.ap-personal-prompt>span { font-size:.72rem; }.ap-personal-prompt>p { margin-top:.45rem; font-size:.92rem; line-height:1.55; }
.ap-photo-slot small,.ap-photo-slot figcaption,.ap-cinema-ticket li { color:#766d63; }
.ap-career time { color:#77727f; font-size:.85rem; }
@media (prefers-reduced-motion:no-preference) { .ap-motion-study.is-playing .ap-motion-beats i { animation:ap-timing 3.2s ease-in-out 1; }.ap-motion-study.is-playing .ap-motion-beats i:nth-child(2) { animation-delay:.12s; }.ap-motion-study.is-playing .ap-motion-beats i:nth-child(3) { animation-delay:.24s; }.ap-motion-study.is-playing .ap-motion-beats i:nth-child(4) { animation-delay:.36s; }.ap-motion-study.is-playing .ap-motion-beats i:nth-child(5) { animation-delay:.48s; } }
@keyframes ap-timing { 0%,65%,100% { transform:translateY(0) scale(1); } 27% { transform:translateY(-18px) scale(.95,1.05); } 43% { transform:translateY(0) scale(1.06,.94); } }
@media (max-width:1100px) { .ap-hero { min-height:39rem; }.ap-portrait { max-width:21rem; }.ap-portrait figcaption { right:-.4rem; font-size:1.05rem; }.ap-start,.ap-beliefs { gap:4rem; }.ap-story-layout { gap:3rem; }.ap-scraps { gap:1.6rem; }.ap-pocket { grid-template-columns:.8fr 1.4fr 1fr; }.ap-pocket ul { font-size:.93rem; }.ap-experience { gap:3rem; }.ap-career li { gap:1rem; }.ap-career time { font-size:.7rem; } }
@media (max-width:760px) { .ap-shell { width:calc(100% - 2.5rem); }.ap-hero { grid-template-columns:1fr; min-height:0; padding-top:3rem; }.ap-hello { padding-bottom:0; }.ap-hero h1 { font-size:clamp(3.5rem,12vw,5rem); }.ap-hello-note { font-size:1.25rem; }.ap-intro { font-size:1.4rem; }.ap-portrait { width:15rem; margin:1.5rem 1rem 0 auto !important; }.ap-portrait figcaption { right:auto; left:-5rem; top:20%; }.ap-page-index { gap:1.3rem; flex-wrap:wrap; }.ap-page-index a { font-size:.78rem; gap:.4rem; }.ap-story { padding-top:4rem; }.ap-story-layout,.ap-start,.ap-beliefs,.ap-rdr,.ap-experience { grid-template-columns:1fr; gap:2.5rem; }.ap-story-layout { margin-top:1.5rem; }.ap-motion-study { max-width:30rem; width:100%; }.ap-start { padding:3rem 0 4rem; }.ap-brief { width:85%; max-width:23rem; margin:0 auto 1rem; }.ap-start-copy h2 { font-size:2.6rem; }.ap-beliefs { padding:2rem 0 4rem; }.ap-personal { padding-top:3rem; }.ap-personal-header { grid-template-columns:1fr; gap:1rem; }.ap-personal-header>.ap-section-label { margin-bottom:0; }.ap-personal-header>.ap-body { justify-self:start; }.ap-personal-header h2 { font-size:2.65rem; }.ap-rdr { gap:0; }.ap-rdr figure { width:calc(100% + 2rem); margin-left:-1rem; }.ap-rdr figcaption { margin-left:2rem; font-size:1.1rem; }.ap-rdr-copy { margin:1rem 0 0 1rem; }.ap-rdr-copy h3 { font-size:3rem; }.ap-rdr-copy>.ap-body { margin-top:1rem; }.ap-pocket { grid-template-columns:1fr 1fr; margin-top:3rem; }.ap-pocket>p { grid-column:1/-1; font-size:1.25rem; }.ap-pocket img { width:130%; margin-left:-1rem; }.ap-pocket ul { padding-left:1rem; font-size:.88rem; }.ap-scrapbook { padding:4rem 0 3rem; }.ap-scrapbook>header { display:block; }.ap-scrapbook .ap-body { margin-top:1.3rem; }.ap-scraps { grid-template-columns:1fr 1fr; gap:1.5rem; padding-top:2.5rem; }.ap-photo-slot { padding:.5rem .5rem 1rem; }.ap-photo-slot .ap-hand { font-size:1.05rem; }.ap-photo-slot small { font-size:.64rem; }.ap-photo-slot figcaption { font-size:.72rem; }.ap-cinema-ticket { grid-column:1/-1; max-width:20rem; width:85%; justify-self:center; margin-top:1rem; }.ap-experience { padding:3rem 0; }.ap-career time { font-size:.72rem; }.ap-contact { display:block; padding:3rem 0; }.ap-contact>.ap-return { margin-top:3rem; }.ap-contact .ap-hand { font-size:1.05rem; }.ap-email { font-size:1rem; gap:1rem; }.ap-footer { flex-wrap:wrap; gap:.75rem; }.ap-footer .ap-hand { display:none; } }
@media (prefers-reduced-motion:reduce) { .about-personal-reset *, .about-personal-reset *::before, .about-personal-reset *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
