/* Small editorial details keep the résumé's strongest information easy to scan. */
.profile .portrait-wrap{padding:0 0 6px;transform:none}
.portrait{padding:0;border:0;border-radius:24px;background:#dce5dc;box-shadow:0 14px 34px #263e3512;overflow:hidden}
.portrait-window{border-radius:inherit}
.portrait img,.portrait-window img{width:100%;height:auto;aspect-ratio:600/720;object-fit:contain;object-position:center;background:transparent;filter:none;transform:none}
.portrait-note{position:static;display:block;margin-top:11px;font:11px/1.5 "Segoe UI",sans-serif;letter-spacing:.02em;color:var(--muted);text-align:center;white-space:nowrap;transform:none}
.personal-statement .ink-highlight{font-weight:600;color:var(--ink);background-image:linear-gradient(transparent 62%,#cab59066 62%,#cab59066 91%,transparent 91%);background-repeat:no-repeat;background-size:calc(var(--ink-progress,1)*100%) 100%;box-decoration-break:clone;-webkit-box-decoration-break:clone;padding:0 1px}
.personal-doodle{display:block;width:168px;right:1px;top:170px;height:auto;color:var(--ink);overflow:visible;pointer-events:none;stroke-width:1.8}
.flight-trail{stroke:var(--accent);stroke-width:1.4}
.flight-fold{stroke:var(--accent);stroke-width:1}
.flight-plane,.flight-spark{transform-box:fill-box;transform-origin:center}
.flight-spark{stroke-width:1.35;color:var(--accent)}
.project-card{position:relative;isolation:isolate}
.project-card::after{content:"";position:absolute;inset:8px -5px -7px 7px;border:1px solid #bbc0b03d;border-radius:12px;background:#c5c8b41c;z-index:-1;pointer-events:none;transform:rotate(.5deg);transition:transform .35s,border-color .35s}
.project-caption p strong{color:var(--ink);font-weight:600}
.gallery-dot[aria-pressed=true]>span{box-shadow:0 0 0 4px #ab573d0c}
.gallery-arrow svg,.contact-icon,.project-open>span,.expand-button>span{transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.expand-button{padding:10px 12px;border:1px solid #b8bba680;border-radius:5px;background:#f6f0e766;transition:background .25s,border-color .25s;min-width:152px}
.expand-button[aria-expanded=true]{background:#e2e6d9;border-color:#a2ad97}
.contact-link,.resume-download{position:relative;isolation:isolate;overflow:hidden}
.contact-link::after,.resume-download::after{content:"";position:absolute;inset:-2px;pointer-events:none;background:linear-gradient(110deg,transparent 25%,#fffaf22e 46%,#fffaf24d 50%,transparent 72%);transform:translateX(-125%);opacity:0;z-index:-1}
.contact-link:focus-visible,.resume-download:focus-visible,.project-open:focus-visible{outline:2px solid var(--accent-ink);outline-offset:4px}
.project-open:focus-visible{border-radius:4px}
@media(min-width:641px){
  .project-card{padding:18px 18px 15px;border:1px solid #c9c8b980;border-radius:11px;background:#f3eee57a;box-shadow:0 9px 26px #263e3507}
  .project-card .project-mobile-label{padding-bottom:13px}
  .project-caption h3{font-size:20px}
}
@media(min-width:641px) and (max-width:1100px){.personal-doodle{display:none}}
@media(max-width:640px){
  .profile .portrait-wrap{padding:0 0 6px}
  .portrait{border-radius:16px}
  .portrait-note{font-size:9.5px;letter-spacing:0;margin-top:9px}
  .personal-doodle{display:block;top:24px;right:2px;width:99px;opacity:.65}
  .project-card::after{inset:7px -3px -5px 5px;transform:rotate(.35deg)}
  .expand-button{padding:10px 12px!important}
}
@media(max-width:370px){.personal-doodle{width:75px;right:0;top:26px}.portrait-note{font-size:8.5px}}
@media(prefers-reduced-motion:no-preference){
  html[data-motion=on] .contact-link:hover::after,html[data-motion=on] .contact-link:focus-visible::after,html[data-motion=on] .resume-download:hover::after,html[data-motion=on] .resume-download:focus-visible::after{animation:paper-glint .65s ease-out both}
  html[data-motion=on] .contact-link:hover .contact-icon{transform:translateY(-2px) rotate(-8deg)}
  html[data-motion=on] .project-open:hover>span,html[data-motion=on] .project-open:focus-visible>span{transform:translate(3px,-3px) rotate(4deg)}
  html[data-motion=on] .gallery-arrow:hover:not(:disabled) svg{transform:scale(1.2)}
  html[data-motion=on] .gallery-dot[aria-pressed=true]>span{animation:ink-dot .42s cubic-bezier(.2,.8,.2,1)}
  html[data-motion=on] .contact-link:active,html[data-motion=on] .resume-download:active{transform:translateY(2px) scale(.98)}
  html[data-motion=on] .expand-button:hover>span{transform:rotate(90deg)}
  html[data-motion=on] .expand-button[aria-expanded=true]:hover>span{transform:scaleX(1.3)}
  @media(hover:hover) and (pointer:fine){html[data-motion=on] .project-card:hover::after{transform:translate(3px,3px) rotate(1.15deg);border-color:#abb39d88}}
}
@keyframes paper-glint{0%{transform:translateX(-125%);opacity:0}20%{opacity:1}100%{transform:translateX(125%);opacity:0}}
@keyframes ink-dot{0%{transform:scale(.55)}65%{transform:scale(1.15)}100%{transform:scale(1)}}
html[data-motion=off] .project-card::after,html[data-motion=off] .gallery-arrow svg,html[data-motion=off] .contact-icon,html[data-motion=off] .project-open>span,html[data-motion=off] .expand-button>span{transition:none}
@media(prefers-reduced-motion:reduce){.project-card::after,.gallery-arrow svg,.contact-icon,.project-open>span,.expand-button>span{transition:none}}

/* Font-independent icons keep the existing wrapper animations and theme colors. */
.site-icon{display:inline-block;width:1em;height:1em;flex-shrink:0;vertical-align:-.125em;fill:none;stroke:currentColor}
.note-star{display:inline-flex;align-items:center;justify-content:center;line-height:1}
.note-star>.site-icon,.skill-icon>.site-icon,.project-open>span>.site-icon,.expand-button>span>.site-icon,.contact-method-arrow>.site-icon,.contact-doodle>.site-icon,.chapter-nav i>.site-icon,.drawer-nav i>.site-icon{display:block}
