.Portfolio-module__uAcsSq__root{position:relative}.Portfolio-module__uAcsSq__progressTrack{z-index:60;pointer-events:none;height:2px;position:fixed;top:0;left:0;right:0}.Portfolio-module__uAcsSq__progressBar{background:#1976d2;width:0%;height:100%;transition:width .1s linear}.Portfolio-module__uAcsSq__rail{z-index:40;background:#f7f6f3;border-right:1px solid #e0ded7;flex-direction:column;width:312px;height:100vh;padding:46px 40px;display:flex;position:fixed;top:0;left:0;overflow-y:auto}.Portfolio-module__uAcsSq__railName{color:#16181a;letter-spacing:-.02em;font-size:21px;font-weight:600;line-height:1.1;display:block}.Portfolio-module__uAcsSq__railRole{font-family:var(--font-plex-mono), monospace;color:#6a6a63;margin-top:12px;font-size:12px;line-height:1.6}.Portfolio-module__uAcsSq__railAvailable{font-family:var(--font-plex-mono), monospace;color:#2f7d3a;align-items:center;gap:8px;margin-top:14px;font-size:11.5px;display:inline-flex}.Portfolio-module__uAcsSq__pulseDot{background:#35a047;border-radius:50%;width:7px;height:7px;animation:2.4s ease-in-out infinite Portfolio-module__uAcsSq__tk-pulse}.Portfolio-module__uAcsSq__railNav{flex-direction:column;gap:2px;margin-top:44px;display:flex}.Portfolio-module__uAcsSq__navLink{color:#6a6a63;align-items:baseline;gap:12px;padding:7px 0;font-size:15px;transition:color .2s;display:flex}.Portfolio-module__uAcsSq__navLink:hover,.Portfolio-module__uAcsSq__navLinkActive{color:#16181a}.Portfolio-module__uAcsSq__navLinkActive{color:#1976d2!important}.Portfolio-module__uAcsSq__navNum{font-family:var(--font-plex-mono), monospace;color:#b7b4aa;font-size:11px}.Portfolio-module__uAcsSq__railFooter{font-family:var(--font-plex-mono), monospace;color:#8a877e;margin-top:auto;padding-top:32px;font-size:11.5px;line-height:1.9}.Portfolio-module__uAcsSq__railFooterLoc{color:#16181a}.Portfolio-module__uAcsSq__railFooterCopy{color:#b7b4aa;margin-top:16px}.Portfolio-module__uAcsSq__main{margin-left:312px;padding:0 clamp(28px,6vw,92px)}.Portfolio-module__uAcsSq__reveal{opacity:0;transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1);transform:translateY(18px)}.Portfolio-module__uAcsSq__revealVisible{opacity:1;transform:none}.Portfolio-module__uAcsSq__header{border-bottom:1px solid #e0ded7;padding:clamp(72px,12vh,128px) 0 clamp(40px,6vw,72px)}.Portfolio-module__uAcsSq__eyebrow{font-family:var(--font-plex-mono), monospace;color:#8a877e;flex-wrap:wrap;gap:6px 18px;margin-bottom:40px;font-size:12px;display:flex}.Portfolio-module__uAcsSq__eyebrowSep{color:#d6d3ca}.Portfolio-module__uAcsSq__headline{letter-spacing:-.035em;text-wrap:balance;max-width:16ch;margin:0;font-size:clamp(34px,5.6vw,68px);font-weight:600;line-height:1.03}.Portfolio-module__uAcsSq__accent{color:#1976d2}.Portfolio-module__uAcsSq__subtext{color:#46453e;text-wrap:pretty;max-width:54ch;margin:32px 0 0;font-size:clamp(16px,1.9vw,19px)}.Portfolio-module__uAcsSq__stackLine{font-family:var(--font-plex-mono), monospace;color:#46453e;margin-top:40px;font-size:13px;line-height:1.9}.Portfolio-module__uAcsSq__stackLineLabel{color:#8a877e}.Portfolio-module__uAcsSq__stackLineSep{color:#d6d3ca}.Portfolio-module__uAcsSq__ctaRow{flex-wrap:wrap;align-items:center;gap:24px;margin-top:40px;display:flex}.Portfolio-module__uAcsSq__ctaPrimary{color:#f7f6f3;background:#16181a;border-radius:2px;align-items:center;gap:10px;padding:14px 24px;font-size:15px;font-weight:600;transition:background .2s;display:inline-flex}.Portfolio-module__uAcsSq__ctaPrimary:hover{color:#f7f6f3;background:#1976d2}.Portfolio-module__uAcsSq__ctaSecondary{font-family:var(--font-plex-mono), monospace;color:#16181a;border-bottom:1px solid #16181a;padding-bottom:2px;font-size:13px;font-weight:500}.Portfolio-module__uAcsSq__section{border-bottom:1px solid #e0ded7;padding:clamp(56px,8vw,96px) 0}.Portfolio-module__uAcsSq__sectionLast{border-bottom:none;padding:clamp(64px,9vw,120px) 0 clamp(56px,8vw,96px)}.Portfolio-module__uAcsSq__secGrid{grid-template-columns:180px minmax(0,1fr);align-items:start;gap:clamp(24px,4vw,56px);display:grid}.Portfolio-module__uAcsSq__secLabel{font-family:var(--font-plex-mono), monospace;color:#1976d2;letter-spacing:.06em;margin:0;font-size:12px;font-weight:400}.Portfolio-module__uAcsSq__aboutLead{letter-spacing:-.02em;text-wrap:pretty;margin:0;font-size:clamp(21px,2.6vw,30px);font-weight:500;line-height:1.35}.Portfolio-module__uAcsSq__aboutBody{color:#46453e;text-wrap:pretty;max-width:60ch;margin:26px 0 0;font-size:16.5px}.Portfolio-module__uAcsSq__aboutBody strong{color:#16181a;font-weight:600}.Portfolio-module__uAcsSq__factsList{border-top:1px solid #e0ded7;margin-top:36px}.Portfolio-module__uAcsSq__factRow{border-bottom:1px solid #e0ded7;grid-template-columns:140px 1fr;gap:16px;padding:13px 0;font-size:14.5px;display:grid}.Portfolio-module__uAcsSq__factLabel{font-family:var(--font-plex-mono), monospace;color:#8a877e;letter-spacing:.03em;text-transform:uppercase;padding-top:1px;font-size:11.5px}.Portfolio-module__uAcsSq__factValue{color:#16181a;font-weight:500}.Portfolio-module__uAcsSq__workHeading{letter-spacing:-.025em;margin:0 0 8px;font-size:clamp(24px,3.4vw,34px);font-weight:600}.Portfolio-module__uAcsSq__workSub{font-family:var(--font-plex-mono), monospace;color:#8a877e;margin:0 0 20px;font-size:12.5px}.Portfolio-module__uAcsSq__projList{border-top:1px solid #16181a}.Portfolio-module__uAcsSq__projRow{border-bottom:1px solid #e0ded7;grid-template-columns:56px minmax(0,1fr);gap:clamp(16px,3vw,40px);padding:clamp(28px,3.5vw,42px) 0;display:grid}.Portfolio-module__uAcsSq__projIdx{font-family:var(--font-plex-mono), monospace;color:#1976d2;padding-top:5px;font-size:15px}.Portfolio-module__uAcsSq__projHead{flex-wrap:wrap;align-items:baseline;gap:8px 14px;margin-bottom:10px;display:flex}.Portfolio-module__uAcsSq__projName{letter-spacing:-.02em;margin:0;font-size:clamp(21px,2.8vw,28px);font-weight:600}.Portfolio-module__uAcsSq__projTag{font-family:var(--font-plex-mono), monospace;color:#8a877e;letter-spacing:.05em;text-transform:uppercase;font-size:11px}.Portfolio-module__uAcsSq__projBadge{font-family:var(--font-plex-mono), monospace;color:#16181a;border:1px solid #d6d3ca;border-radius:2px;padding:2px 8px;font-size:11px}.Portfolio-module__uAcsSq__projOneLiner{color:#46453e;text-wrap:pretty;max-width:56ch;margin:0;font-size:16px}.Portfolio-module__uAcsSq__workLower{grid-template-columns:minmax(0,1fr) minmax(0,300px);align-items:start;gap:clamp(20px,3vw,44px);margin-top:22px;display:grid}.Portfolio-module__uAcsSq__roleLine{font-family:var(--font-plex-mono), monospace;color:#8a877e;margin-bottom:12px;font-size:12px}.Portfolio-module__uAcsSq__roleLineLabel{color:#b7b4aa}.Portfolio-module__uAcsSq__bulletList{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.Portfolio-module__uAcsSq__bulletItem{color:#46453e;text-wrap:pretty;grid-template-columns:14px 1fr;gap:6px;font-size:14.5px;display:grid}.Portfolio-module__uAcsSq__bulletArrow{color:#1976d2;font-family:var(--font-plex-mono), monospace;font-size:12px}.Portfolio-module__uAcsSq__bulletDot{color:#b7b4aa;font-family:var(--font-plex-mono), monospace;font-size:12px}.Portfolio-module__uAcsSq__stackLineSmall{font-family:var(--font-plex-mono), monospace;color:#6a6a63;overflow-wrap:anywhere;margin-top:16px;font-size:12px;line-height:1.9}.Portfolio-module__uAcsSq__linksRow{flex-wrap:wrap;gap:18px;margin-top:16px;display:flex}.Portfolio-module__uAcsSq__projLink{font-family:var(--font-plex-mono), monospace;color:#16181a;border-bottom:1px solid #16181a;padding-bottom:1px;font-size:12.5px}.Portfolio-module__uAcsSq__shotPlaceholder{aspect-ratio:4/3;background-image:repeating-linear-gradient(135deg,#efede7 0 10px,#e8e5de 10px 20px);border:1px solid #ded9ce;justify-content:center;align-items:center;display:flex}.Portfolio-module__uAcsSq__shotHintText{font-family:var(--font-plex-mono), monospace;color:#a09c90;text-align:center;padding:14px;font-size:11px;line-height:1.7}.Portfolio-module__uAcsSq__skillsList{border-top:1px solid #16181a}.Portfolio-module__uAcsSq__skillRow{border-bottom:1px solid #e0ded7;grid-template-columns:200px minmax(0,1fr);align-items:baseline;gap:24px;padding:18px 0;display:grid}.Portfolio-module__uAcsSq__skillCategory{letter-spacing:-.01em;font-size:15.5px;font-weight:600}.Portfolio-module__uAcsSq__skillItems{font-family:var(--font-plex-mono), monospace;color:#46453e;overflow-wrap:anywhere;font-size:13px;line-height:1.8}.Portfolio-module__uAcsSq__skillItemsSep{color:#d6d3ca}.Portfolio-module__uAcsSq__timelineList{border-top:1px solid #16181a}.Portfolio-module__uAcsSq__timelineRow{border-bottom:1px solid #e0ded7;grid-template-columns:150px minmax(0,1fr);gap:clamp(20px,3vw,44px);padding:26px 0;display:grid}.Portfolio-module__uAcsSq__timelinePeriod{font-family:var(--font-plex-mono), monospace;color:#8a877e;padding-top:4px;font-size:12.5px}.Portfolio-module__uAcsSq__timelineRole{letter-spacing:-.015em;margin:0;font-size:19px;font-weight:600}.Portfolio-module__uAcsSq__timelineOrg{color:#1976d2;margin:2px 0 1px;font-size:15px;font-weight:500}.Portfolio-module__uAcsSq__timelineMeta{font-family:var(--font-plex-mono), monospace;color:#8a877e;margin-bottom:12px;font-size:12px}.Portfolio-module__uAcsSq__timelineBullets{flex-direction:column;gap:7px;margin:0;padding:0;list-style:none;display:flex}.Portfolio-module__uAcsSq__certWrap{margin-top:34px}.Portfolio-module__uAcsSq__certSectionLabel{font-family:var(--font-plex-mono), monospace;color:#8a877e;letter-spacing:.05em;margin-bottom:14px;font-size:12px}.Portfolio-module__uAcsSq__certList{border-top:1px solid #16181a}.Portfolio-module__uAcsSq__certCard{color:#16181a;border-bottom:1px solid #e0ded7;flex-direction:column;gap:11px;padding:20px 0;transition:padding-left .25s,color .2s;display:flex}.Portfolio-module__uAcsSq__certCard:hover{color:#1976d2;padding-left:8px}.Portfolio-module__uAcsSq__certHead{grid-template-columns:1fr auto;align-items:baseline;gap:20px;display:grid}.Portfolio-module__uAcsSq__certTitle{letter-spacing:-.01em;font-size:16.5px;font-weight:500}.Portfolio-module__uAcsSq__certIssuer{font-family:var(--font-plex-mono), monospace;color:#8a877e;margin-top:2px;font-size:12px;display:block}.Portfolio-module__uAcsSq__certVerify{font-family:var(--font-plex-mono), monospace;font-size:12.5px}.Portfolio-module__uAcsSq__certMetaRow{font-family:var(--font-plex-mono), monospace;color:#8a877e;flex-wrap:wrap;gap:6px 18px;font-size:12px;display:flex}.Portfolio-module__uAcsSq__certGrade{color:#2f7d3a}.Portfolio-module__uAcsSq__certBlurb{color:#46453e;text-wrap:pretty;margin:0;font-size:14px}.Portfolio-module__uAcsSq__certSkills{overflow-wrap:anywhere;flex-wrap:wrap;gap:6px;display:flex}.Portfolio-module__uAcsSq__certSkillTag{font-family:var(--font-plex-mono), monospace;color:#46453e;border:1px solid #ded9ce;border-radius:3px;padding:3px 8px;font-size:11px;font-weight:500}.Portfolio-module__uAcsSq__contactHeadline{letter-spacing:-.03em;text-wrap:balance;max-width:14ch;margin:0;font-size:clamp(30px,4.6vw,56px);font-weight:600;line-height:1.04}.Portfolio-module__uAcsSq__contactSub{font-family:var(--font-plex-mono), monospace;color:#46453e;margin:22px 0 0;font-size:13.5px}.Portfolio-module__uAcsSq__contactList{border-top:1px solid #16181a;margin-top:40px}.Portfolio-module__uAcsSq__contactRow{color:#16181a;border-bottom:1px solid #e0ded7;grid-template-columns:60px 1fr auto;align-items:baseline;gap:20px;padding:18px 0;transition:padding-left .25s,color .2s;display:grid}.Portfolio-module__uAcsSq__contactRow:hover{color:#1976d2;padding-left:8px}.Portfolio-module__uAcsSq__contactTag{font-family:var(--font-plex-mono), monospace;color:#8a877e;font-size:12px}.Portfolio-module__uAcsSq__contactLabel{letter-spacing:-.01em;font-size:18px;font-weight:500}.Portfolio-module__uAcsSq__contactArrow{font-family:var(--font-plex-mono), monospace;font-size:13px}@media (max-width:1080px){.Portfolio-module__uAcsSq__rail{border-bottom:1px solid #e0ded7;border-right:none;width:auto;height:auto;padding:28px clamp(28px,6vw,92px);position:static}.Portfolio-module__uAcsSq__main{margin-left:0}.Portfolio-module__uAcsSq__railNav{flex-flow:wrap;gap:6px 20px;margin-top:22px}.Portfolio-module__uAcsSq__secGrid,.Portfolio-module__uAcsSq__workLower{grid-template-columns:minmax(0,1fr)}.Portfolio-module__uAcsSq__skillRow,.Portfolio-module__uAcsSq__timelineRow{grid-template-columns:1fr}}
