.resume-recap{margin:0 0 1.4rem;border:1px solid var(--accent-soft);border-radius:10px;background:var(--paper-deep);overflow:hidden;opacity:0;transform:translateY(-6px);animation:resume-recap-in .7s cubic-bezier(.2,.7,.2,1) .12s forwards}@keyframes resume-recap-in{to{opacity:1;transform:translateY(0)}}.resume-recap__toggle{width:100%;display:flex;align-items:center;gap:.6rem;padding:.65rem 1rem;background:none;border:none;font-family:var(--body);font-size:.9rem;color:var(--ink-soft);text-align:left;cursor:pointer;transition:background .2s ease,color .2s ease}.resume-recap__toggle:hover{background:var(--paper-darker);color:var(--ink)}.resume-recap__icon{font-size:1rem;color:var(--accent-deep);flex-shrink:0}.resume-recap__chev{margin-left:auto;font-size:.85rem;color:var(--ink-quiet);transition:transform .35s cubic-bezier(.2,.7,.2,1)}.resume-recap.is-open .resume-recap__chev{transform:rotate(180deg)}.resume-recap__body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.2,.7,.2,1)}.resume-recap.is-open .resume-recap__body{grid-template-rows:1fr}.resume-recap__body-inner{min-height:0;overflow:hidden}.resume-recap__list{border-top:1px solid var(--paper-darker);padding:.9rem 1rem 1rem;display:grid;grid-gap:.8rem;gap:.8rem}.resume-recap__row{display:grid;grid-template-columns:145px 1fr;grid-gap:1rem;gap:1rem;align-items:baseline}.resume-recap__k{font-size:.8rem;color:var(--ink-quiet);text-transform:lowercase;letter-spacing:.02em}.resume-recap__v{font-size:.92rem;color:var(--ink);font-style:italic;line-height:1.5}@media (max-width:560px){.resume-recap__row{grid-template-columns:1fr;gap:.15rem}}