@import url(https://fonts.googleapis.com/css2?family=Instrument+Sans:wght@400;500;600;700&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.pf-root{--bg:#f3ecdf;--card:#fbf7ef;--card-deep:#eae0cc;--card-dark:#332619;--text:#2b2419;--text-soft:#6e6255;--cream:#f3ecdf;--accent:#a8703f;--accent-soft:#d8c4a5;--line:#ddd0b8;--green:#5f7a4e;background:radial-gradient(circle at 12% 10%,#ffffff80,#0000 26%),linear-gradient(135deg,#f3ecdf,#efe3d0);color:var(--text);font-family:Instrument Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:0;min-height:100vh;padding:40px}.pf-root *{box-sizing:border-box}.pf-root a{color:inherit;text-decoration:none}.pf-wrap{margin:0 auto;max-width:1180px}.pf-topbar{align-items:baseline;display:flex;gap:24px;justify-content:space-between;margin-bottom:24px}.pf-brand{color:var(--text);font-size:18px;font-weight:700}.pf-nav{display:flex;gap:28px}.pf-nav a{color:var(--text-soft);font-size:14px;font-weight:500;transition:color .2s ease,transform .2s ease}.pf-nav a:hover{color:var(--text);transform:translateY(-1px)}.pf-grid{grid-gap:14px;display:grid;gap:14px;grid-template-areas:"hero hero hero photo photo contact" "hero hero hero photo photo avail" "stack stack focus focus edu edu" "stack stack traits traits edu edu" "projhead projhead projhead projhead projhead projhead" "proj1 proj1 proj1 proj2 proj2 proj2" "footer footer footer footer footer footer";grid-template-columns:repeat(6,minmax(0,1fr))}.pf-cell{background:var(--card);border:1px solid var(--line);border-radius:20px;min-width:0;padding:26px;transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease}.pf-cell:hover{border-color:#a8703f59;box-shadow:0 18px 42px #523b241f;transform:translateY(-2px)}.pf-cell-deep{background:var(--card-deep);border-color:#0000}.pf-cell-dark{background:var(--card-dark);border:0;color:var(--cream)}.pf-label{align-items:center;color:var(--text-soft);display:flex;font-size:12.5px;font-weight:600;gap:7px;margin:0 0 14px}.pf-label svg{color:var(--accent);height:14px;width:14px}.pf-cell-dark .pf-label{color:#c9b79e}.hero{display:flex;flex-direction:column;gap:28px;grid-area:hero;justify-content:space-between}.hero-pill{background:#f3ecdf1a;border:1px solid #f3ecdf40;border-radius:999px;color:var(--cream);display:inline-block;font-size:13px;font-weight:500;margin-bottom:20px;padding:6px 14px;width:fit-content}.hero h1{color:var(--cream);font-size:clamp(34px,5vw,52px);font-weight:700;line-height:1.05;margin:0 0 10px;max-width:12ch}.hero-role{color:var(--accent-soft);font-size:17px;font-weight:500;margin:0 0 18px}.hero-school{color:#c9b79e;font-size:14px;margin:0 0 18px}.hero-bio{color:#dccfb9;font-size:14.5px;line-height:1.6;margin:0;max-width:46ch}.footer-actions,.hero-actions{display:flex;flex-wrap:wrap;gap:10px}.btn{align-items:center;border:1px solid #0000;border-radius:12px;display:inline-flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;min-height:43px;padding:0 18px;transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease,transform .2s ease}.btn svg{height:16px;width:16px}.github-mark,.linkedin-mark{background:currentColor;border-radius:4px;color:inherit;display:inline-grid;font-size:10px;font-weight:700;height:17px;line-height:1;place-items:center;width:17px}.github-mark{background:#0000;color:inherit;font-size:11px;min-width:19px;width:auto}.btn-primary .linkedin-mark{background:var(--cream);color:var(--accent)}.btn-primary{background:var(--accent);color:var(--cream)}.btn-primary:hover{background:#8f5f35;box-shadow:0 12px 24px #523b242e;transform:translateY(-2px)}.btn-ghost{background:#0000;border-color:#f3ecdf4d;color:var(--cream)}.btn-ghost:hover{border-color:#f3ecdfa6;transform:translateY(-2px)}.photo-card{background:linear-gradient(160deg,var(--card-deep),var(--accent-soft));grid-area:photo;min-height:288px;overflow:hidden;padding:0;position:relative}.photo-card img{display:block;filter:saturate(.9) contrast(.96);height:100%;min-height:288px;object-fit:cover;object-position:50% 14%;transition:opacity .35s ease,transform .35s ease,filter .35s ease;width:100%}.portrait-real{inset:0;opacity:0;position:absolute}.portrait-cartoon{opacity:1}.photo-card:hover .portrait-real{filter:saturate(1) contrast(1);opacity:1;transform:scale(1.035)}.photo-card:hover .portrait-cartoon{opacity:0;transform:scale(1.035)}.contact-card{grid-area:contact}.availability-card{grid-area:avail}.contact-line{align-items:center;color:var(--text);display:flex;font-size:13.5px;gap:10px;line-height:1.35;margin:0 0 10px;min-width:0;overflow-wrap:anywhere;transition:color .2s ease,transform .2s ease;word-break:break-word}a.contact-line:hover{color:var(--accent);transform:translateX(3px)}.contact-line:last-child{margin-bottom:0}.contact-line svg{color:var(--accent);flex:0 0 auto;height:15px;width:15px}.status-dot{background:var(--green);border-radius:50%;display:inline-block;height:8px;width:8px}.availability-card p:not(.pf-label){color:var(--text-soft);font-size:13px;line-height:1.5;margin:8px 0 0}.stack-card{grid-area:stack}.stack-group{margin-bottom:18px}.stack-group:last-child{margin-bottom:0}.stack-group h2{align-items:center;color:var(--text);display:flex;font-size:13px;font-weight:600;gap:7px;margin:0 0 10px}.stack-group h2 svg{color:var(--accent);height:14px;width:14px}.tag-list{display:flex;flex-wrap:wrap;gap:8px}.tag{background:var(--card-deep);border-radius:8px;color:var(--text);font-size:12.5px;font-weight:500;padding:6px 12px;transition:background-color .2s ease,color .2s ease,transform .2s ease}.tag:hover{background:var(--accent);color:var(--cream);transform:translateY(-1px)}.focus-card{grid-area:focus}.traits-card{grid-area:traits}.quiet-list{list-style:none;margin:0;padding:0}.quiet-list li{border-top:1px solid var(--line);color:var(--text);font-size:13px;padding:8px 0}.quiet-list li:first-child{border-top:0;padding-top:0}.education-card{grid-area:edu}.edu-school{font-size:15px;font-weight:600;margin:0 0 4px}.edu-degree{color:var(--text-soft);font-size:13.5px;margin:0 0 2px}.edu-years{color:var(--accent);font-size:12.5px;font-weight:500;margin:0 0 16px}.edu-cert{border-top:1px solid var(--line);color:var(--text);font-size:13px;padding:8px 0}.project-1{grid-area:proj1}.project-2{grid-area:proj2}.project-3{grid-area:proj3}.project-4{grid-area:proj4}.projects-heading{align-items:baseline;display:flex;gap:16px;grid-area:projhead;justify-content:space-between;padding:5px 2px 3px}.projects-heading h2{color:var(--text);font-size:20px;font-weight:700;margin:0}.projects-heading a{color:var(--accent);font-size:13.5px;font-weight:600;transition:color .2s ease,transform .2s ease}.projects-heading a:hover{color:var(--text);transform:translateX(2px)}.project-card{overflow:hidden;padding:0}.project-card .tag{background:var(--bg)}.project-thumb{aspect-ratio:16/9;background:#f7f0e6;display:block;overflow:hidden;position:relative}.project-thumb img{display:block;height:100%;object-fit:contain;transition:filter .35s ease,transform .35s ease;width:100%}.project-card:hover .project-thumb img{filter:saturate(1.06) contrast(1.02)}.project-thumb span{background:#2b2419a6;border-radius:7px;color:var(--cream);font-size:11px;font-weight:600;left:12px;padding:5px 10px;position:absolute;top:12px}.project-body{padding:24px}.project-top{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:14px}.project-top a{color:var(--accent);font-size:12.5px;font-weight:700}.project-top a:hover{color:var(--text)}.project-type{background:var(--card);border-radius:7px;color:var(--accent);font-size:11.5px;font-weight:600;padding:5px 10px}.project-card h2{color:var(--text);font-size:19px;font-weight:700;margin:0 0 8px}.project-card p{color:var(--text-soft);font-size:13.5px;line-height:1.55;margin:0 0 14px}.project-role{font-size:12.5px;margin-bottom:12px}.pf-footer{align-items:center;display:flex;flex-wrap:wrap;gap:16px;grid-area:footer;justify-content:space-between}.pf-footer h2{color:var(--cream);font-size:17px;font-weight:700;margin:0 0 4px}.pf-footer p{color:#c9b79e;font-size:13px;margin:0}.icon-btn{align-items:center;background:var(--card-deep);border-radius:10px;color:var(--text);display:inline-flex;height:40px;justify-content:center;transition:background-color .2s ease,color .2s ease,transform .2s ease;width:40px}.icon-btn:hover{background:var(--accent);color:var(--cream);transform:translateY(-2px)}.icon-btn svg{height:17px;width:17px}.icon-btn .linkedin-mark{background:var(--text);color:var(--card-deep)}.icon-btn:hover .linkedin-mark{background:var(--cream);color:var(--accent)}.ap-root{--bg:#f3ecdf;--card:#fbf7ef;--card-deep:#eae0cc;--card-dark:#332619;--text:#2b2419;--text-soft:#6e6255;--accent:#a8703f;--line:#ddd0b8;background:radial-gradient(circle at 88% 12%,#ffffff6b,#0000 25%),linear-gradient(135deg,#f3ecdf,#efe3d0);color:var(--text);font-family:Instrument Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:100vh;padding:40px}.ap-root *{box-sizing:border-box}.ap-root a{color:inherit;text-decoration:none}.ap-wrap{margin:0 auto;max-width:1180px}.ap-back{align-items:center;color:var(--text-soft);display:inline-flex;font-size:13.5px;font-weight:600;gap:8px;margin-bottom:28px;transition:color .2s ease,transform .2s ease;width:fit-content}.ap-back:hover{color:var(--text);transform:translateX(-2px)}.ap-back svg{height:15px;width:15px}.ap-head{margin-bottom:28px}.ap-head h1{font-size:34px;font-weight:700;margin:0 0 8px}.ap-head p{color:var(--text-soft);font-size:14.5px;line-height:1.5;margin:0;max-width:56ch}.ap-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px}.ap-filter{background:var(--card);border:1px solid var(--line);border-radius:999px;color:var(--text-soft);cursor:pointer;font:inherit;font-size:13px;font-weight:600;padding:8px 16px;transition:border-color .2s ease,background-color .2s ease,color .2s ease,transform .2s ease}.ap-filter:hover{border-color:var(--accent);color:var(--text);transform:translateY(-1px)}.ap-filter.active{background:var(--card-dark);border-color:var(--card-dark);color:var(--bg)}.ap-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.ap-card{background:var(--card);border:1px solid var(--line);border-radius:18px;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease}.ap-card:hover{border-color:#a8703f59;box-shadow:0 18px 42px #523b241f;transform:translateY(-3px)}.ap-thumb{aspect-ratio:16/10;background:#f7f0e6;overflow:hidden;position:relative}.ap-thumb,.ap-thumb img{display:block;width:100%}.ap-thumb img{height:100%;object-fit:contain;transition:filter .35s ease,transform .35s ease}.ap-card:hover .ap-thumb img{filter:saturate(1.05) contrast(1.02)}.ap-thumb-badge{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#2b2419a6;border-radius:7px;color:var(--bg);font-size:11px;font-weight:600;left:12px;padding:5px 10px;position:absolute;top:12px}.ap-card-body{display:flex;flex:1 1;flex-direction:column;padding:20px 24px 24px}.ap-card-top{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:16px}.ap-pill{background:var(--card-deep);border-radius:7px;color:var(--accent);font-size:11.5px;font-weight:600;padding:5px 10px}.ap-links{display:flex;gap:8px}.ap-links a{align-items:center;background:var(--card-deep);border-radius:8px;color:var(--text);display:flex;height:30px;justify-content:center;transition:background-color .2s ease,color .2s ease,transform .2s ease;width:30px}.ap-links a:hover{background:var(--accent);color:var(--bg);transform:translateY(-1px)}.ap-links svg{height:14px;width:14px}.ap-card h2{font-size:18px;font-weight:700;margin:0 0 6px}.ap-role{font-size:12.5px;margin:0 0 12px}.ap-desc,.ap-role{color:var(--text-soft)}.ap-desc{flex:1 1;font-size:13.5px;line-height:1.55;margin:0 0 18px}.ap-tags{display:flex;flex-wrap:wrap;gap:7px}.ap-tag{background:var(--bg);border-radius:7px;color:var(--text);font-size:12px;font-weight:500;padding:5px 10px}.ap-overlay{align-items:center;background:#2b24198c;display:flex;inset:0;justify-content:center;padding:32px;position:fixed;z-index:50}.ap-modal{background:var(--card);border-radius:20px;box-shadow:0 24px 70px #2b24193d;color:var(--text);max-height:90vh;overflow-y:auto;position:relative;width:min(640px,100%)}.ap-modal-close{align-items:center;background:#2b241999;border:0;border-radius:10px;color:var(--bg);cursor:pointer;display:flex;height:34px;justify-content:center;position:absolute;right:14px;top:14px;transition:background-color .2s ease,transform .2s ease;width:34px;z-index:2}.ap-modal-close:hover{background:#2b2419cc;transform:scale(1.04)}.ap-modal-close svg{height:16px;width:16px}.ap-slideshow{background:#f7f0e6;overflow:hidden;position:relative}.ap-slideshow,.ap-slideshow img{max-height:min(62vh,560px);width:100%}.ap-slideshow img{display:block;height:auto;object-fit:contain}.ap-slide-nav{align-items:center;background:#fbf7efd9;border:0;border-radius:50%;color:var(--text);cursor:pointer;display:flex;height:36px;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);transition:background-color .2s ease,transform .2s ease;width:36px}.ap-slide-nav:hover{background:var(--card);transform:translateY(-50%) scale(1.05)}.ap-slide-nav.prev{left:12px}.ap-slide-nav.next{right:12px}.ap-slide-nav svg{height:18px;width:18px}.ap-slide-dots{bottom:12px;display:flex;gap:6px;justify-content:center;left:0;position:absolute;right:0}.ap-slide-dot{background:#fbf7ef8c;border-radius:50%;height:6px;transition:width .2s ease,background-color .2s ease;width:6px}.ap-slide-dot.active{background:var(--bg);border-radius:4px;width:16px}.ap-modal-body{padding:28px}.ap-modal-top{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:14px}.ap-modal-body h2{font-size:24px;font-weight:700;margin:0 0 4px}.ap-modal-role{color:var(--text-soft);font-size:13px;margin:0 0 18px}.ap-modal-long{color:var(--text);font-size:14.5px;line-height:1.65}.ap-feature-block,.ap-modal-long{margin:0 0 22px}.ap-feature-block h3{font-size:14px;font-weight:700;margin:0 0 9px}.ap-feature-block ul{grid-gap:6px;color:var(--text-soft);display:grid;font-size:13.5px;gap:6px;line-height:1.45;margin:0;padding-left:18px}.ap-modal-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.ap-modal-btn{align-items:center;border-radius:10px;display:inline-flex;font-size:13.5px;font-weight:600;gap:8px;justify-content:center;min-height:40px;padding:0 16px;transition:background-color .2s ease,transform .2s ease}.ap-modal-btn.primary{background:var(--card-dark);color:var(--bg)}.ap-modal-btn.ghost{background:var(--card-deep);color:var(--text)}.ap-modal-btn:hover{transform:translateY(-2px)}.ap-modal-btn svg{height:15px;width:15px}.sound-toggle{align-items:center;background:#332619e6;border:1px solid #3326192e;border-radius:12px;bottom:22px;box-shadow:0 14px 30px #3326192e;color:var(--bg);cursor:pointer;display:inline-flex;font:inherit;font-size:12.5px;font-weight:700;gap:8px;justify-content:center;min-height:38px;min-width:78px;padding:0 12px;position:fixed;right:22px;transition:background-color .2s ease,box-shadow .2s ease,transform .2s ease;width:auto;z-index:60}.sound-toggle:hover{background:var(--accent);box-shadow:0 16px 34px #a8703f47;transform:translateY(-2px)}.sound-toggle svg{height:16px;width:16px}.sound-toggle:not(.active){background:#fbf7efe6;color:var(--text)}@media (max-width:980px){.pf-root{padding:24px}.pf-grid{grid-template-areas:"hero hero" "photo contact" "photo avail" "stack stack" "focus edu" "traits edu" "projhead projhead" "proj1 proj1" "proj2 proj2" "footer footer";grid-template-columns:repeat(2,minmax(0,1fr))}.hero h1{max-width:15ch}.ap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.pf-root{padding:16px}.pf-topbar{align-items:flex-start}.pf-nav{display:none}.pf-grid{grid-template-areas:"hero" "photo" "contact" "avail" "stack" "focus" "traits" "edu" "projhead" "proj1" "proj2" "footer";grid-template-columns:1fr}.pf-cell{border-radius:18px;padding:22px}.photo-card{padding:0}.hero h1{font-size:32px}.footer-actions,.pf-footer{align-items:stretch;flex-direction:column}.projects-heading{align-items:flex-start;flex-direction:column}.btn,.icon-btn{width:100%}.ap-root{padding:16px}.ap-grid{grid-template-columns:1fr}.ap-head h1{font-size:26px}.ap-overlay{align-items:flex-start;overflow-y:auto;padding:16px}.ap-modal-body{padding:22px}.ap-modal-actions,.ap-modal-btn{width:100%}.sound-toggle{bottom:14px;right:14px}}
/*# sourceMappingURL=main.5d7fb1fc.css.map*/