@font-face{font-family:__newsreader_747fe2;src:url(/_next/static/media/257fdc6368e64b83-s.p.woff2) format("woff2");font-display:swap;font-weight:200 800;font-style:normal}@font-face{font-family:__newsreader_Fallback_747fe2;src:local("Arial");ascent-override:76.71%;descent-override:27.66%;line-gap-override:0.00%;size-adjust:95.82%}.__className_747fe2{font-family:__newsreader_747fe2,__newsreader_Fallback_747fe2;font-style:normal}.__variable_747fe2{--font-newsreader:"__newsreader_747fe2","__newsreader_Fallback_747fe2"}@font-face{font-family:__inter_365cbc;src:url(/_next/static/media/6c596dfcddeca1e9-s.p.woff2) format("woff2");font-display:swap;font-weight:100 900;font-style:normal}@font-face{font-family:__inter_Fallback_365cbc;src:local("Arial");ascent-override:89.79%;descent-override:22.36%;line-gap-override:0.00%;size-adjust:107.89%}.__className_365cbc{font-family:__inter_365cbc,__inter_Fallback_365cbc;font-style:normal}.__variable_365cbc{--font-inter:"__inter_365cbc","__inter_Fallback_365cbc"}@font-face{font-family:__ibmPlexMono_f6469d;src:url(/_next/static/media/ece426e343f97101-s.p.ttf) format("truetype");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:__ibmPlexMono_f6469d;src:url(/_next/static/media/94c5cf254271768f-s.p.ttf) format("truetype");font-display:swap;font-weight:500;font-style:normal}@font-face{font-family:__ibmPlexMono_f6469d;src:url(/_next/static/media/c30b767baa052104-s.p.ttf) format("truetype");font-display:swap;font-weight:600;font-style:normal}@font-face{font-family:__ibmPlexMono_Fallback_f6469d;src:local("Arial");ascent-override:102.50%;descent-override:27.50%;line-gap-override:0.00%;size-adjust:100.00%}.__className_f6469d{font-family:__ibmPlexMono_f6469d,__ibmPlexMono_Fallback_f6469d}.__variable_f6469d{--font-mono-ibm:"__ibmPlexMono_f6469d","__ibmPlexMono_Fallback_f6469d"}:root{--bg:#f4f2ed;--surface:#fbfaf7;--surface-2:#ebe8e1;--ink:#22282b;--muted:#5e6669;--accent:#3d6b62;--accent-strong:#2e524b;--accent-2:#8f4f38;--on-accent:#fff;--line:rgba(34,40,43,.14);--line-strong:rgba(34,40,43,.42);--dot:rgba(61,107,98,.22);--contact-bg:#1a2422;--contact-ink:#f4f2ed;--contact-muted:#b8c2bf;--contact-line:hsla(43,24%,94%,.16);--contact-accent:#e0977a;--shadow:rgba(34,40,43,.07);--font-display:var(--font-newsreader),Georgia,"Times New Roman",serif;--font-body:var(--font-inter),-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-mono:var(--font-mono-ibm),"SFMono-Regular",Consolas,monospace;--gutter:clamp(1.25rem,4.4vw,4.5rem);--maxw:1360px;--section:clamp(3.25rem,5vw,5.5rem);--ease:cubic-bezier(0.22,1,0.36,1);color-scheme:light}:root[data-theme=dark]{--bg:#12171a;--surface:#191f23;--surface-2:#20272c;--ink:#e6e9e8;--muted:#98a2a3;--accent:#7fb8a8;--accent-strong:#9cccbe;--accent-2:#e0977a;--on-accent:#12171a;--line:hsla(0,0%,100%,.11);--line-strong:hsla(0,0%,100%,.38);--dot:rgba(127,184,168,.26);--contact-bg:#0c1113;--contact-ink:#e6e9e8;--contact-muted:#9ba5a4;--contact-line:hsla(160,6%,91%,.14);--contact-accent:#e0977a;--shadow:rgba(0,0,0,.42);color-scheme:dark}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5.5rem;-webkit-text-size-adjust:100%}body{margin:0;color:var(--ink);background:var(--bg);font-family:var(--font-body);font-size:1rem;line-height:1.55;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;transition:background .3s var(--ease),color .3s var(--ease)}h1,h2,h3,h4{font-family:var(--font-display);font-weight:500}a{color:inherit;text-decoration:none}button,input,select,textarea{color:inherit;font:inherit}button{border:0;background:none;cursor:pointer}svg{display:block}img{max-width:100%}::-moz-selection{color:var(--surface);background:var(--accent)}::selection{color:var(--surface);background:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gutter)}.section{padding-block:var(--section)}.rule-top{border-top:1px solid var(--line)}.kicker{display:inline-block;font-size:.72rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.kicker,.mono{font-family:var(--font-mono)}.section-title{margin:.9rem 0 0;font-size:clamp(2.4rem,4.2vw,3.9rem);font-weight:500;letter-spacing:-.02em;line-height:1.02}.section-intro{max-width:46rem;margin:1.4rem 0 0;color:var(--muted);font-size:clamp(1rem,1.2vw,1.18rem);line-height:1.6}.section-head{margin-bottom:clamp(2rem,3.2vw,2.75rem)}.dotgrid{background-image:radial-gradient(var(--dot) .8px,transparent .8px);background-size:18px 18px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:3.35rem;padding:.85rem 1.5rem;border:1px solid var(--ink);font-size:.95rem;font-weight:700;letter-spacing:-.01em;transition:transform .18s var(--ease),background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease}.btn:hover{transform:translateY(-3px)}.btn svg{width:1.15rem;height:1.15rem}.btn-primary{color:var(--on-accent);border-color:var(--accent);background:var(--accent);box-shadow:0 10px 24px var(--shadow)}.btn-primary:hover{border-color:var(--accent-strong);background:var(--accent-strong);box-shadow:0 14px 30px var(--shadow)}.btn-outline{background:transparent;color:var(--ink)}.btn-outline:hover{color:var(--surface);background:var(--ink);border-color:var(--ink)}.btn[data-busy]{cursor:progress;opacity:.72}.btn[data-busy]:hover{transform:none}.btn[data-copied]{cursor:default}.btn[data-copied]:hover{transform:none}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap}.hero-social{display:flex;flex-wrap:wrap;gap:1.6rem;margin-top:2rem}.hero-social a{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:.82rem;font-weight:500;color:var(--muted);transition:color .16s ease}.hero-social a:hover{color:var(--accent)}.hero-social svg{width:1rem;height:1rem;fill:currentColor}.status-pill{display:inline-flex;align-items:center;gap:.42rem;padding:.2rem .65rem;border:1px solid var(--line);border-radius:100px;font-family:var(--font-mono);font-size:.64rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.status-pill.is-live{border-color:var(--accent);color:var(--accent)}.status-pill .dot{width:.4rem;height:.4rem;border-radius:50%;background:currentColor;animation:dot-pulse 2.2s var(--ease) infinite}@keyframes dot-pulse{0%,to{opacity:1}50%{opacity:.25}}.pgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(1.25rem,2.2vw,2rem);align-items:stretch}.pgrid>*{display:flex}.pgrid>.span-2{grid-column:1/-1}.pcard{display:flex;flex-direction:column;width:100%;border:1px solid var(--line);background:var(--surface);transition:border-color .2s ease,box-shadow .22s var(--ease),transform .22s var(--ease)}.pcard:hover{border-color:var(--line-strong);box-shadow:0 14px 34px var(--shadow);transform:translateY(-2px)}.pcard.is-span{display:grid;grid-template-columns:1.05fr 1fr;align-items:stretch}.pcard.is-span .pcard-shot{aspect-ratio:auto;border-bottom:0;border-right:1px solid var(--line)}.pcard.is-span .pcard-shot img{-o-object-position:top left;object-position:top left}.pcard-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.25rem;padding:clamp(1.5rem,3vw,2.5rem);border-right:1px solid var(--line);background-color:var(--surface-2);background-image:radial-gradient(var(--dot) .8px,transparent .8px);background-size:18px 18px}.pcard-panel>p{margin:0;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.looploop{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem;margin:0;padding:0;list-style:none;max-width:22rem}.looploop li{display:flex;align-items:center;padding:.5rem .75rem;border:1px solid var(--line);background:var(--surface);font-size:.78rem;color:var(--ink)}.looploop li+li:before{content:"→";margin-right:.6rem;color:var(--accent)}.looploop li:last-child{border-style:dashed;color:var(--muted)}.pcard-shot{position:relative;margin:0;aspect-ratio:16/10;border-bottom:1px solid var(--line);background:var(--surface-2);overflow:hidden}.pcard-shot img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:top center;object-position:top center}.pcard-shot figcaption{position:absolute;left:0;right:0;bottom:0;padding:.5rem .8rem;background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(6px);border-top:1px solid var(--line);font-size:.76rem;color:var(--muted)}.pcard-shot.is-empty{display:grid;place-items:center;min-height:9rem;background-image:radial-gradient(var(--dot) .8px,transparent .8px);background-size:18px 18px}.pcard-shot.is-empty span{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.pcard-body{display:flex;flex-direction:column;flex:1;padding:clamp(1.15rem,1.8vw,1.75rem)}.pcard-flags{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;margin-bottom:.85rem}.pcard-num{font-family:var(--font-mono);font-size:.72rem;font-weight:600;color:var(--accent);letter-spacing:.04em}.pcard-tag{letter-spacing:.1em;color:var(--accent-2)}.pcard-body .flag,.pcard-tag{font-family:var(--font-mono);font-size:.62rem;text-transform:uppercase}.pcard-body .flag{display:inline-flex;align-items:center;gap:.4rem;letter-spacing:.08em;color:var(--muted);border:1px solid var(--line);border-radius:100px;padding:.15rem .55rem}.pcard-body .flag .logo{width:.95rem;height:.95rem;border-radius:3px;overflow:hidden}.pcard-body .flag .logo img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.pcard-body h3{margin:0;font-size:clamp(1.3rem,1.9vw,1.75rem);font-weight:680;letter-spacing:-.04em;line-height:1.1}.pcard-lead{margin:.5rem 0 0;font-size:1rem;font-weight:600;color:var(--ink)}.pcard-result{margin:.6rem 0 0;font-size:.94rem;line-height:1.6;color:var(--muted)}.pcard-tech{margin:.9rem 0 0;padding-top:.85rem;border-top:1px dashed var(--line);font-size:.85rem;font-weight:500;line-height:1.6;color:var(--accent)}.pcard-links{margin-top:auto;padding-top:1.1rem}.pcard-foot{margin-top:auto;padding-top:1rem}.pcase-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .9rem;border:1px solid var(--line-strong);border-radius:100px;font-family:var(--font-body);font-size:.82rem;font-weight:600;color:var(--ink);background:transparent;transition:color .16s ease,border-color .16s ease,background .16s ease}.pcase-btn:hover{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}.pcase-btn svg{width:.95rem;height:.95rem;transition:transform .2s var(--ease)}.pcard.is-open .pcase-btn{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}.pcard.is-open .pcase-btn svg{transform:rotate(180deg)}.pcard-links{display:flex;flex-wrap:wrap;gap:1.25rem;margin-top:1.1rem}.pcard-links .text-link{font-size:.88rem}.pcard.is-open{border-color:var(--accent)}.pdrawer{border:1px solid var(--accent);background:var(--surface);animation:drawer-in .26s var(--ease)}@keyframes drawer-in{0%{opacity:0;transform:translateY(-.6rem)}to{opacity:1;transform:none}}.pdrawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:clamp(1.1rem,2vw,1.5rem) clamp(1.15rem,2.2vw,2rem);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--accent) 7%,transparent)}.pdrawer-kicker{font-family:var(--font-mono);font-size:.66rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.pdrawer-head h4{margin:.3rem 0 0;font-size:clamp(1.3rem,2vw,1.7rem);letter-spacing:-.02em}.pdrawer-close{flex:none;display:grid;place-items:center;width:2.2rem;height:2.2rem;border:1px solid var(--line-strong);border-radius:50%;color:var(--ink);transition:color .16s ease,background .16s ease,border-color .16s ease}.pdrawer-close:hover{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}.pdrawer-close svg{width:1rem;height:1rem}.pdrawer-body{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(1.5rem,3vw,3rem);padding:clamp(1.25rem,2.2vw,2rem)}.pdrawer-hook{margin:0;font-size:1.02rem;line-height:1.65;color:var(--ink)}.pdrawer-challenge{margin:0;padding:.9rem 1rem;border:1px dashed var(--accent-2);font-size:.93rem;line-height:1.6;color:var(--ink)}.pdrawer-challenge span{display:block;margin-bottom:.3rem;font-family:var(--font-mono);font-size:.64rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--accent-2)}.pdrawer-takeaway{margin:1.2rem 0 0;padding:.85rem 0 .85rem 1rem;border-left:3px solid var(--accent);background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 8%,transparent),transparent 72%);font-size:.93rem;line-height:1.6;color:var(--ink)}.pdrawer-takeaway span{display:block;margin-bottom:.3rem;font-family:var(--font-mono);font-size:.64rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--accent)}.pfacts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:1.2rem 0 0;background:var(--line);border:1px solid var(--line)}.pfacts .fact{padding:.75rem .85rem;border:0;background:var(--surface)}.pfacts dt{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.pfacts dd{margin:.3rem 0 0;font-size:.88rem;line-height:1.4;color:var(--ink)}.pfacts dd em{font-style:normal;color:var(--accent);font-weight:600}.flow{margin:1.6rem 0 0}.flow ol{display:flex;flex-wrap:wrap;align-items:stretch;gap:.4rem;margin:0;padding:0;list-style:none}.flow li{display:flex;align-items:center;padding:.55rem .8rem;border:1px solid var(--line);background:var(--surface);font-size:.78rem;line-height:1.3;color:var(--ink)}.flow li+li:before{content:"→";margin-right:.7rem;color:var(--accent)}.flow figcaption{margin-top:.7rem;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.pao{margin:1.6rem 0 0}.pao-row{padding:.8rem 0;border-top:1px dashed var(--line)}.pao-row:last-child{border-bottom:1px dashed var(--line)}.pao dt{font-family:var(--font-mono);font-size:.66rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);padding-top:.15rem}.pao dd{margin:.3rem 0 0;font-size:.93rem;line-height:1.6;color:var(--muted)}.now-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,4vw,4rem)}.now-head{margin:0 0 .25rem;padding-bottom:.8rem;border-bottom:2px solid var(--ink);font-family:var(--font-mono);font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.now-list{margin:0;padding:0;list-style:none}.now-list>li{padding:1rem 0;border-bottom:1px solid var(--line)}.now-name{display:block;font-size:1.05rem;font-weight:600;letter-spacing:-.02em}.now-note{display:block;margin-top:.3rem;font-size:.9rem;line-height:1.55;color:var(--muted)}.now-repos .now-name{font-family:var(--font-mono);font-size:.92rem;color:var(--accent)}.now-repos a{display:block;transition:padding-left .18s var(--ease)}.now-repos a:hover{padding-left:.4rem}.now-gh{margin-top:1.5rem}.scroll-top{position:fixed;right:clamp(1rem,3vw,2.2rem);bottom:clamp(1rem,3vw,2.2rem);z-index:90;display:grid;place-items:center;width:2.9rem;height:2.9rem;border:1px solid var(--line-strong);border-radius:50%;background:var(--surface);color:var(--ink);opacity:0;visibility:hidden;transform:translateY(.6rem);transition:opacity .22s ease,transform .22s var(--ease),visibility .22s,background .16s ease,color .16s ease,border-color .16s ease}.scroll-top.show{opacity:1;visibility:visible;transform:none}.scroll-top:hover{background:var(--ink);color:var(--surface);border-color:var(--ink)}.scroll-top svg{width:1.1rem;height:1.1rem}@media (prefers-reduced-motion:reduce){.scroll-top{transition:opacity .22s ease,visibility .22s}.status-pill .dot{animation:none}}.text-link{display:inline-flex;align-items:center;gap:.7rem;width:-moz-max-content;width:max-content;padding-bottom:.35rem;border-bottom:2px solid var(--accent);color:var(--accent);font-weight:700;transition:gap .18s var(--ease),color .18s ease}.text-link:hover{gap:1.1rem;color:var(--accent-strong)}.text-link svg{width:1.15rem;height:1.15rem}.site-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4.75rem;padding-inline:var(--gutter);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(12px);transition:min-height .22s var(--ease),box-shadow .22s ease}.site-header.scrolled{min-height:4.1rem;box-shadow:0 8px 24px var(--shadow)}.wordmark{font-size:clamp(1rem,1.5vw,1.25rem);font-weight:700;letter-spacing:-.03em}.wordmark .dot-accent{color:var(--accent)}.nav{display:flex;align-items:center;gap:clamp(1.4rem,3vw,2.8rem)}.nav a{position:relative;font-size:.9rem;font-weight:600;color:var(--muted);transition:color .16s ease}.nav a:hover{color:var(--ink)}.nav a:after{content:"";position:absolute;left:0;right:0;bottom:-.4rem;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform .18s var(--ease)}.nav a:hover:after{transform:scaleX(1);transform-origin:left}.nav-actions{display:flex;align-items:center;gap:1rem}.theme-toggle{display:inline-grid;place-items:center;width:2.4rem;height:2.4rem;border:1px solid var(--line);border-radius:50%;color:var(--ink);transition:border-color .16s ease,transform .16s var(--ease)}.theme-toggle:hover{border-color:var(--accent);transform:rotate(12deg)}.theme-toggle svg{width:1.1rem;height:1.1rem}.menu-toggle{display:none;width:2.6rem;height:2.6rem}.menu-toggle svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2}.hero{padding-block:clamp(3.5rem,6vw,6rem) clamp(3.5rem,6vw,6rem)}.hero-avail{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--font-mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:1.6rem}.hero-avail .pulse{width:.5rem;height:.5rem;border-radius:50%;background:var(--accent);animation:pulse 2.4s infinite}@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 55%,transparent)}70%{box-shadow:0 0 0 8px transparent}to{box-shadow:0 0 0 0 transparent}}.hero h1{margin:0;max-width:16ch;font-size:clamp(2.7rem,5.8vw,5rem);font-weight:500;letter-spacing:-.025em;line-height:1.03}.hero h1 em{font-style:normal;color:var(--accent)}.hero-lead{max-width:40rem;margin:clamp(1.6rem,2.6vw,2.4rem) 0 0;font-size:clamp(1.08rem,1.4vw,1.34rem);line-height:1.55;color:var(--muted)}.hero-lead strong{color:var(--ink);font-weight:600}.hero-actions{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2.2rem}.about-grid{display:grid;grid-template-columns:300px 1fr;gap:clamp(2.5rem,5vw,5rem);align-items:start}.about-photo{position:relative;border:1px solid var(--line);border-radius:2px;overflow:hidden;aspect-ratio:4/5}.about-photo img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.about-photo:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px var(--line);pointer-events:none}.about-photo-cap{font-family:var(--font-mono);font-size:.7rem;color:var(--muted);margin-top:.9rem;display:flex;justify-content:space-between;gap:1rem}.about-body p{margin:0 0 1.2rem;font-size:clamp(1.05rem,1.3vw,1.24rem);line-height:1.7;color:var(--ink)}.about-body p:last-child{margin-bottom:0}.about-body strong{font-weight:600}.about-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.8rem}.chip{font-family:var(--font-mono);font-size:.74rem;color:var(--muted);padding:.35rem .75rem;border:1px solid var(--line);border-radius:100px}.timeline{position:relative;margin:0;padding:0 0 0 clamp(2rem,4vw,3.5rem);list-style:none}.timeline:before{content:"";position:absolute;top:1.5rem;bottom:1.5rem;left:.5rem;width:2px;background:var(--line-strong)}.xp{position:relative;display:grid;grid-template-columns:minmax(8rem,.16fr) minmax(0,1fr);gap:clamp(1.5rem,3vw,3rem);padding:clamp(2.2rem,4vw,3rem) 0;border-bottom:1px dashed var(--line)}.xp:last-child{border-bottom:0}.xp:before{content:"";position:absolute;top:calc(clamp(2.2rem, 4vw, 3rem) + .35rem);left:calc(-1 * clamp(2rem, 4vw, 3.5rem) - .06rem);width:1.15rem;height:1.15rem;border-radius:50%;border:2px solid var(--accent);background:var(--bg);box-shadow:inset 0 0 0 3px var(--bg),inset 0 0 0 7px var(--accent)}.xp.muted-node:before{border-color:var(--line-strong);box-shadow:none;background:var(--bg)}.xp-meta{font-family:var(--font-mono);font-size:.78rem;color:var(--accent)}.xp-meta .loc{display:block;margin-top:.4rem;color:var(--muted)}.xp-role{margin:-.25rem 0 0;font-size:clamp(1.4rem,2.4vw,2.2rem);font-weight:680;letter-spacing:-.04em;line-height:1.1}.xp-org{display:inline-flex;align-items:center;gap:.55rem;margin:.7rem 0 0;font-size:clamp(1rem,1.3vw,1.15rem);color:var(--muted)}.xp-org a{color:var(--accent);font-weight:600}.xp-org .logo{width:1.5rem;height:1.5rem;border-radius:5px;overflow:hidden;border:1px solid var(--line)}.xp-org .logo img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.xp ul{margin:1.2rem 0 0;padding:0;list-style:none;display:grid;gap:.7rem;max-width:78ch}.xp li{position:relative;padding-left:1.3rem;font-size:.98rem;line-height:1.6;color:var(--muted)}.xp li strong{color:var(--ink);font-weight:600}.xp li:before{content:"›";position:absolute;left:0;color:var(--accent);font-weight:700}.xp-tags{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1.3rem}.clinical{margin-top:clamp(1.75rem,3vw,2.5rem)}.clinical>h3{margin:0 0 .25rem;padding-bottom:.8rem;border-bottom:2px solid var(--ink);font-family:var(--font-mono);font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.clinical-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(2rem,4vw,4rem)}.clinical-row{display:grid;grid-template-columns:minmax(7.5rem,auto) 1fr;gap:1.25rem;padding:1.1rem 0;border-bottom:1px solid var(--line)}.clinical-when{font-family:var(--font-mono);font-size:.72rem;color:var(--accent)}.clinical-row h4{margin:0;font-size:1.02rem;font-weight:600;letter-spacing:-.02em}.clinical-org{margin:.25rem 0 0;font-size:.85rem;color:var(--muted)}.clinical-note{margin:.5rem 0 0;font-size:.88rem;line-height:1.55;color:var(--muted)}.skillset{-moz-columns:3;column-count:3;-moz-column-gap:clamp(1.75rem,3.5vw,3.25rem);column-gap:clamp(1.75rem,3.5vw,3.25rem)}.skillgroup{-moz-column-break-inside:avoid;break-inside:avoid;-webkit-column-break-inside:avoid;margin-bottom:1.75rem}.skillgroup h3{margin:0 0 .85rem;padding-bottom:.6rem;border-bottom:1px solid var(--line-strong);font-family:var(--font-mono);font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.skillgroup ul{display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none}.skillgroup li{padding:.32rem .7rem;border:1px solid var(--line);border-radius:100px;font-size:.82rem;line-height:1.35;color:var(--ink);background:var(--surface);transition:border-color .16s ease,color .16s ease}.skillgroup li:hover{border-color:var(--accent);color:var(--accent)}.edu-cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,4vw,4rem)}.edu-head{margin:0 0 .25rem;padding-bottom:.8rem;border-bottom:2px solid var(--ink);font-family:var(--font-mono);font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.edu-row{display:grid;grid-template-columns:1fr auto;gap:.35rem 1.25rem;align-items:baseline;padding:.95rem 0;border-bottom:1px solid var(--line)}.edu-main h3{margin:0;font-size:1.02rem;font-weight:600;letter-spacing:-.02em;line-height:1.3}.edu-main p{margin:.3rem 0 0;color:var(--muted);font-size:.88rem;line-height:1.5}.edu-when{font-family:var(--font-mono);font-size:.7rem;color:var(--muted);white-space:nowrap}.langs{margin-top:clamp(2rem,3vw,2.75rem);padding-top:1.5rem;border-top:1px solid var(--line)}.langs h3{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0 0 .8rem}.lang-line{margin:0;font-size:.95rem;line-height:1.9;color:var(--ink)}.lang-item .lvl{color:var(--muted);font-family:var(--font-mono);font-size:.78rem}.lang-item .sep{margin:0 .7rem;color:var(--accent)}.contact{background:var(--contact-bg);color:var(--contact-ink)}.contact .dotgrid-strip{height:8rem;opacity:.5}.contact h2{margin:0;max-width:18ch;font-size:clamp(2.3rem,5vw,4.4rem);font-weight:500;letter-spacing:-.02em;line-height:1.05}.contact h2 span{color:var(--contact-accent)}.contact-lead{margin:1.3rem 0 0;font-size:1.02rem;color:var(--contact-muted);line-height:1.7}.contact-actions{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2.4rem}.btn-contact{color:var(--contact-ink);border-color:var(--accent);background:transparent}.btn-contact:hover{color:var(--contact-bg);background:var(--contact-ink);border-color:var(--contact-ink)}.contact-links{display:flex;flex-wrap:wrap;gap:1.75rem;margin-top:2.4rem;padding-top:1.6rem;border-top:1px solid var(--contact-line)}.contact-links a{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--font-mono);font-size:.82rem;color:var(--contact-muted);transition:color .16s ease}.contact-links a:hover{color:var(--contact-ink)}.contact-links svg{width:1rem;height:1rem;fill:currentColor}.site-footer{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;min-height:5rem;border-top:1px solid var(--line);font-family:var(--font-mono);font-size:.72rem;color:var(--muted)}.site-footer a:hover{color:var(--accent)}.reveal{opacity:0;transform:translateY(1.4rem);transition:opacity .64s var(--ease),transform .64s var(--ease)}.reveal.in{opacity:1;transform:none}@media (max-width:1000px){.now-grid{grid-template-columns:1fr}.skillset{-moz-columns:2;column-count:2}.about-grid{grid-template-columns:1fr}.about-photo{max-width:300px}.pdrawer-body,.pgrid{grid-template-columns:1fr}.pcard.is-span{display:flex;flex-direction:column}.pcard.is-span .pcard-shot{aspect-ratio:16/10}.pcard-panel,.pcard.is-span .pcard-shot{border-right:0;border-bottom:1px solid var(--line)}}@media (max-width:780px){.nav{display:none}.nav.open{display:flex;position:fixed;inset:4.75rem 0 auto;flex-direction:column;align-items:flex-start;gap:0;padding:1.5rem var(--gutter) 2rem;background:var(--bg)}.nav.open,.nav.open a{border-bottom:1px solid var(--line)}.nav.open a{width:100%;padding:1.1rem 0;font-size:1.6rem;color:var(--ink)}.nav.open a:after{display:none}.menu-toggle{display:block}.xp{grid-template-columns:1fr;gap:.75rem}.skillset{-moz-columns:1;column-count:1}.clinical-grid,.clinical-row,.edu-cols{grid-template-columns:1fr}.clinical-row{gap:.4rem}.edu-row,.pao-row{grid-template-columns:1fr}.pao-row{gap:.35rem}.pfacts{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}