*,*:before,*:after{box-sizing:border-box}:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{margin:0;background:#f6f5f3}#root{min-height:100dvh}a{color:inherit}:root{--black: #111111;--white: #ffffff;--bg: #f6f5f3;--gray-1: #f0efed;--gray-2: #e4e3e0;--gray-3: #c8c6c2;--gray-4: #9e9b96;--gray-5: #6e6b65;--gray-6: #46443f;--error: #c0392b;--glass-bg: rgba(255, 255, 255, .72);--glass-border: rgba(255, 255, 255, .88);--glass-shadow: 0 2px 4px rgba(0, 0, 0, .04), 0 8px 24px rgba(0, 0, 0, .07), inset 0 1px 0 rgba(255, 255, 255, .9);--r-card: 22px;--r-input: 10px;--r-btn: 10px;--spring: cubic-bezier(.34, 1.56, .64, 1);--spring-fast: cubic-bezier(.22, 1.4, .36, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}.app{min-height:100dvh;background:var(--bg);color:var(--black);display:flex;flex-direction:column;padding-bottom:calc(5rem + env(safe-area-inset-bottom))}.bottom-nav{position:fixed;bottom:calc(2.25rem + env(safe-area-inset-bottom));left:1rem;right:1rem;margin:0 auto;width:fit-content;z-index:100;display:flex;align-items:center;gap:1.25rem;padding:.65rem 1.5rem;background:var(--glass-bg);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);border:1px solid var(--glass-border);border-radius:999px;box-shadow:0 4px 12px #00000012,0 16px 40px #0000000f,inset 0 1px #fffffff2;white-space:nowrap;transition:transform .4s var(--spring),box-shadow .3s ease}.bottom-nav:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 8px 20px #0000001a,0 24px 50px #00000014,inset 0 1px #fffffffa}.menu-btn{display:none;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:28px;height:28px;background:none;border:none;cursor:pointer;padding:4px;flex-shrink:0;border-radius:6px;transition:background .15s}.menu-btn:hover{background:#0000000f}.menu-btn span{display:block;width:15px;height:1.5px;background:var(--gray-6);border-radius:2px;transition:transform .3s var(--spring),opacity .2s,background .15s;transform-origin:center}.menu-btn.open span{background:var(--black)}.menu-btn.open span:nth-child(1){transform:translateY(5.5px) rotate(45deg)}.menu-btn.open span:nth-child(2){opacity:0;transform:scaleX(0)}.menu-btn.open span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}.mobile-menu{position:fixed;bottom:calc(6rem + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);z-index:99;background:var(--glass-bg);backdrop-filter:blur(32px);-webkit-backdrop-filter:blur(32px);border:1px solid var(--glass-border);border-radius:20px;box-shadow:0 2px 8px #0000000f,0 20px 56px #00000024,inset 0 1px #fffffff2;padding:.5rem;display:flex;flex-direction:column;min-width:180px;animation:menu-pop .35s cubic-bezier(.25,1,.4,1) both}@keyframes menu-pop{0%{opacity:0;transform:translate(-50%) translateY(12px) scale(.92)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.mobile-menu-link{font-size:.875rem;color:var(--gray-6);text-decoration:none;padding:.8rem 1.25rem;border-radius:14px;display:block;transition:background .15s,color .15s,transform .25s var(--spring);letter-spacing:.005em}.mobile-menu-link:hover,.mobile-menu-link:active{background:#0000000d;color:var(--black);transform:scale(1.03)}.wordmark{font-size:.8rem;font-weight:650;letter-spacing:-.015em;color:var(--black);text-decoration:none;display:inline-block;transition:transform .35s var(--spring),opacity .15s}.wordmark:hover{transform:scale(1.08);opacity:.8}.bnav-sep{width:1px;height:14px;background:var(--gray-3);flex-shrink:0}.nav-link{font-size:.75rem;color:var(--gray-5);text-decoration:none;letter-spacing:.01em;display:inline-block;transition:color .15s,transform .35s var(--spring)}.nav-link:hover{color:var(--black);transform:scale(1.1) translateY(-1px)}.glass-card{background:var(--glass-bg);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--glass-border);border-radius:var(--r-card);box-shadow:var(--glass-shadow);padding:2.25rem;transition:transform .4s var(--spring),box-shadow .3s ease}.glass-card:hover{transform:translateY(-3px) scale(1.005);box-shadow:0 4px 8px #0000000d,0 16px 40px #0000001a,inset 0 1px #fffffff2}.overline{font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;color:var(--gray-4);margin-bottom:1rem}.headline{font-size:clamp(2.25rem,4.5vw,3.5rem);font-weight:700;line-height:1.06;letter-spacing:-.04em;color:var(--black);margin-bottom:1.25rem}.body-text{font-size:.9375rem;line-height:1.75;color:var(--gray-5)}.rule{border:none;height:1px;background:var(--gray-2);margin:1.5rem 0}.form{display:flex;flex-direction:column;gap:.875rem}.field{display:flex;flex-direction:column;gap:.35rem}.label{font-size:.775rem;font-weight:550;color:var(--gray-6);letter-spacing:.01em}.input{width:100%;padding:.625rem .8rem;border:1px solid var(--gray-3);border-radius:var(--r-input);background:#ffffffd9;font-size:.875rem;font-family:inherit;color:var(--black);outline:none;transition:border-color .15s,box-shadow .2s,transform .3s var(--spring),background .15s;-webkit-appearance:none;appearance:none}.input::placeholder{color:var(--gray-4)}.input:hover:not(:disabled){border-color:var(--gray-4)}.input:focus{border-color:var(--black);box-shadow:0 0 0 3px #11111112;background:#fff;transform:scale(1.012)}.input:disabled{opacity:.4;cursor:not-allowed}.textarea{resize:vertical;min-height:120px;line-height:1.65;transform:none}.textarea:focus{transform:none}.input-invalid{border-color:var(--error);box-shadow:0 0 0 3px #c0392b14}.input-invalid:focus{border-color:var(--error);box-shadow:0 0 0 3px #c0392b1a}.required-mark{color:var(--error);margin-left:.15em;font-weight:400}.field-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.char-counter{font-size:.7rem;letter-spacing:.01em;flex-shrink:0;transition:color .2s}.char-counter.idle{color:var(--gray-4)}.char-counter.warn{color:#b85c00}.char-counter.ok{color:#3a8a4e}.contact-main{flex:1;max-width:680px;width:100%;margin:0 auto;padding:3rem clamp(1.5rem,4vw,4rem)}.contact-header{margin-bottom:0}.contact-form{display:flex;flex-direction:column;gap:1.25rem}.contact-field{display:flex;flex-direction:column;gap:.4rem}.contact-label{font-size:.775rem;font-weight:550;color:var(--gray-5)}.contact-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.contact-input{width:100%;padding:.55rem .7rem;border:1px solid var(--gray-3);border-radius:4px;background:#fff;font-size:.875rem;font-family:inherit;color:var(--black);outline:none;transition:border-color .15s;-webkit-appearance:none;appearance:none}.contact-input::placeholder{color:var(--gray-4)}.contact-input:hover:not(:disabled){border-color:var(--gray-4)}.contact-input:focus{border-color:var(--black)}.contact-input:disabled{opacity:.4;cursor:not-allowed}.contact-textarea{resize:vertical;min-height:120px;line-height:1.65}.contact-input-invalid{border-color:var(--error)}.contact-input-invalid:focus{border-color:var(--error)}.contact-err{font-size:.78rem;color:var(--error);animation:err-in .15s ease}.contact-submit{align-self:flex-start;padding:.5rem 0;background:none;border:none;font-size:.875rem;font-weight:550;font-family:inherit;color:var(--black);cursor:pointer;letter-spacing:.01em;border-bottom:1px solid var(--black);transition:opacity .15s}.contact-submit:hover:not(:disabled){opacity:.6}.contact-submit:disabled{opacity:.35;cursor:not-allowed}.err-text{font-size:.78rem;color:var(--error);animation:err-in .15s ease}@keyframes err-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.submit-btn{display:flex;align-items:center;justify-content:center;gap:3px;width:100%;padding:.7rem 1.25rem;margin-top:.125rem;background:var(--black);color:var(--white);border:1px solid var(--black);border-radius:var(--r-btn);font-size:.875rem;font-weight:550;font-family:inherit;cursor:pointer;letter-spacing:.01em;transition:background .15s,transform .4s var(--spring),box-shadow .3s ease,border-color .15s;min-height:38px}.submit-btn:hover:not(:disabled){background:var(--gray-6);border-color:var(--gray-6);transform:scale(1.03) translateY(-2px);box-shadow:0 6px 18px #0000002e}.submit-btn:active:not(:disabled){transform:scale(.96);transition-duration:.1s}.submit-btn:disabled{opacity:.45;cursor:not-allowed}.unsub-btn{background:transparent;color:var(--black);border-color:var(--gray-3)}.unsub-btn:hover:not(:disabled){background:var(--black);color:var(--white);border-color:var(--black);transform:scale(1.03) translateY(-2px);box-shadow:0 6px 18px #00000026}.ldots{display:inline-flex}.ldots span{opacity:0;animation:blink 1.4s ease-in-out infinite}.ldots span:nth-child(1){animation-delay:0s}.ldots span:nth-child(2){animation-delay:.2s}.ldots span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,60%,to{opacity:0}30%{opacity:1}}.legal{font-size:.72rem;color:var(--gray-4);margin-top:1.125rem;line-height:1.6}.legal a{color:var(--gray-5);text-decoration:underline}.legal a:hover{color:var(--black)}.text-btn{background:none;border:none;font-family:inherit;font-size:.8rem;color:var(--gray-5);cursor:pointer;padding:0;display:inline-block;transition:color .15s,transform .35s var(--spring)}.text-btn:hover{color:var(--black);transform:translate(3px) scale(1.04)}.form-eyebrow{font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;color:var(--gray-4);margin-bottom:1.5rem}.success{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.75rem;padding:.5rem 0;animation:rise .5s var(--spring)}.success-circle{width:44px;height:44px;border:1.5px solid var(--black);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--black);flex-shrink:0;margin-bottom:.25rem;animation:circle-pop .5s var(--spring) .1s both}@keyframes circle-pop{0%{opacity:0;transform:scale(0) rotate(-20deg)}70%{opacity:1;transform:scale(1.2) rotate(5deg)}to{opacity:1;transform:scale(1) rotate(0)}}.success-title{font-size:1.25rem;font-weight:650;letter-spacing:-.025em;color:var(--black);line-height:1.2}.success-desc{font-size:.875rem;line-height:1.65;color:var(--gray-5)}.success-desc strong{color:var(--black);font-weight:550}.skeleton{color:transparent;background:var(--gray-2);border-radius:4px;animation:skel 1.4s ease-in-out infinite}@keyframes skel{0%,to{opacity:.5}50%{opacity:1}}.landing-main{flex:1;max-width:960px;width:100%;margin:0 auto;padding:3.5rem clamp(1.5rem,4vw,4rem) calc(3rem + env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;align-content:center}.landing-name{font-size:clamp(2rem,4vw,3rem);font-weight:700;line-height:1.06;letter-spacing:-.04em;color:var(--black);margin-bottom:1.25rem}.landing-bio{font-size:.9375rem;line-height:1.75;color:var(--gray-5)}.landing-social{display:flex;align-items:center;gap:1.25rem;margin-top:1.5rem}.landing-social-link{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--gray-5);text-decoration:none;transition:color .15s}.landing-social-link:hover{color:var(--black)}.landing-section-heading{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem}.landing-section-label{font-size:.72rem;font-weight:600;letter-spacing:.02em;color:var(--gray-5);white-space:nowrap;flex-shrink:0}.landing-all-link{display:inline-block;margin-top:1.25rem;font-size:.8rem;color:var(--gray-5);text-decoration:none;transition:color .15s}.landing-all-link:hover{color:var(--black)}.signup-main{flex:1;display:grid;grid-template-columns:1fr 1fr;max-width:1060px;width:100%;margin:0 auto;padding:0 2.5rem;align-items:center;gap:3rem}.hero{padding:4.5rem 4rem 4.5rem 0;border-right:1px solid var(--gray-2)}.features{list-style:none;display:flex;flex-direction:column;gap:.6rem}.features li{display:flex;gap:.7rem;font-size:.875rem;line-height:1.55;color:var(--gray-6)}.dash{color:var(--gray-3);flex-shrink:0}.proof{display:flex;align-items:baseline;gap:.5rem}.proof-num{font-size:1.625rem;font-weight:700;letter-spacing:-.04em;color:var(--black);font-variant-numeric:tabular-nums;transition:color .3s}.proof-label{font-size:.8rem;color:var(--gray-5)}.card-col{padding:4.5rem 0}.mobile-count{font-size:.72rem;color:var(--gray-4);text-align:center;margin-top:.875rem;display:none}.centered-main{flex:1;display:flex;align-items:center;justify-content:center;padding:4rem 2rem}.centered-card{width:100%;max-width:420px}.page-title{font-size:1.75rem;font-weight:700;letter-spacing:-.035em;color:var(--black);line-height:1.1;margin-bottom:.65rem}.page-desc{font-size:.9rem;line-height:1.7;color:var(--gray-5)}.page-desc strong{color:var(--black);font-weight:550}.blog-main{flex:1;max-width:760px;width:100%;margin:0 auto;padding:4rem 2.5rem}.blog-search-bar{width:100%;padding:.55rem .875rem;border:1px solid var(--gray-2);border-radius:var(--r-input);background:#fffc;font-size:.875rem;font-family:inherit;color:var(--black);outline:none;margin-bottom:.875rem;transition:border-color .15s,box-shadow .2s,background .15s}.blog-search-bar::placeholder{color:var(--gray-4)}.blog-search-bar:focus{border-color:var(--black);box-shadow:0 0 0 3px #11111112;background:#fff}.blog-header{margin-bottom:2.5rem}.blog-list{display:flex;flex-direction:column;gap:0}.blog-item{display:block;padding:2.25rem 0;border-bottom:1px solid var(--gray-2);opacity:0;transform:translateY(28px);transition:opacity .55s ease,transform .55s cubic-bezier(.22,1,.36,1);text-decoration:none;color:inherit}.blog-item.visible{opacity:1;transform:translateY(0)}.blog-meta{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem}.blog-issue{font-size:.72rem;font-weight:650;color:var(--gray-4);text-transform:uppercase;letter-spacing:.08em;font-variant-numeric:tabular-nums}.blog-date{font-size:.78rem;color:var(--gray-4)}.blog-read-time{font-size:.72rem;color:var(--gray-4);margin-left:auto}.blog-title{font-size:1.25rem;font-weight:650;letter-spacing:-.025em;color:var(--black);line-height:1.25;margin-bottom:.625rem;display:inline-block;transition:transform .35s var(--spring),opacity .15s}.blog-item:hover .blog-title{transform:translate(5px)}.blog-excerpt{font-size:.9rem;line-height:1.72;color:var(--gray-5);margin-bottom:1.125rem}.blog-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem}.tag-row{display:flex;gap:.4rem;flex-wrap:wrap}.archive-tag{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--gray-5);background:#ffffffbf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--gray-2);border-radius:999px;padding:.2rem .65rem;display:inline-block;transition:transform .35s var(--spring),background .15s,color .15s}.archive-tag:hover{transform:scale(1.1) translateY(-1px);background:var(--black);color:var(--white);border-color:var(--black)}.archive-read-link{font-size:.78rem;color:var(--gray-5);text-decoration:none;white-space:nowrap;display:inline-block;transition:color .15s,transform .35s var(--spring)}.archive-read-link:hover{color:var(--black);transform:translate(4px) scale(1.05)}.blog-end{padding:3rem 0 1rem}.archive-error{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:3rem 0;color:var(--gray-5);font-size:.9rem}.blog-skeleton{pointer-events:none}.skel-line{display:block;height:12px;background:var(--gray-2);border-radius:6px;animation:skel 1.4s ease-in-out infinite;margin-bottom:.5rem}.skel-title{height:20px;width:88%;margin-bottom:.6rem}.policy-main{flex:1;max-width:720px;width:100%;margin:0 auto;padding:4rem 2.5rem}.policy-block{max-width:100%}.policy-toc{display:flex;flex-direction:column;gap:.35rem}.toc-link{font-size:.82rem;color:var(--gray-5);text-decoration:none;transition:color .15s;display:inline-block}.toc-link:hover{color:var(--black)}.policy-body{display:flex;flex-direction:column;gap:0}.policy-section{padding:2rem 0;border-bottom:1px solid var(--gray-2)}.policy-section:last-child{border-bottom:none}.policy-h2{font-size:1.05rem;font-weight:650;letter-spacing:-.02em;color:var(--black);margin-bottom:1rem}.policy-section p{font-size:.9rem;line-height:1.8;color:var(--gray-5);margin-bottom:.75rem}.policy-section p:last-child{margin-bottom:0}.policy-section ul{list-style:none;display:flex;flex-direction:column;gap:.5rem;margin:.75rem 0;padding-left:1rem}.policy-section ul li{font-size:.9rem;line-height:1.7;color:var(--gray-5);position:relative}.policy-section ul li:before{content:"—";position:absolute;left:-1rem;color:var(--gray-3)}.policy-section strong{color:var(--gray-6);font-weight:600}.policy-section a{color:var(--gray-6);text-decoration:underline}.policy-section a:hover{color:var(--black)}.policy-contact{background:#ffffffb3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--gray-2);border-radius:10px;padding:1.25rem;margin-top:.75rem;display:flex;flex-direction:column;gap:.3rem}.policy-contact p{margin:0;font-size:.875rem}.proj-main{flex:1;max-width:680px;width:100%;margin:0 auto;padding:3rem clamp(1.5rem,4vw,4rem)}.proj-header{margin-bottom:2rem}.proj-filter-bar{display:flex;align-items:center;gap:.375rem;flex-wrap:wrap;margin-bottom:1.25rem}.proj-filter-btn{font-size:.72rem;font-family:inherit;color:var(--gray-4);background:none;border:1px solid transparent;border-radius:4px;padding:.2rem .55rem;cursor:pointer;transition:color .15s,border-color .15s}.proj-filter-btn:hover{color:var(--black);border-color:var(--gray-2)}.proj-filter-btn.active{color:var(--black);border-color:var(--gray-3);background:var(--gray-1)}.proj-list{display:flex;flex-direction:column;gap:2rem}.proj-year-group{display:flex;flex-direction:column}.proj-year-heading{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem}.proj-year-label{font-size:.85rem;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--gray-5);white-space:nowrap;flex-shrink:0}.proj-year-rule{flex:1;border:none;border-top:1px solid var(--gray-2);margin:0}.proj-row{display:block;text-decoration:none;color:inherit;padding:.8rem 0 .8rem .75rem;border-bottom:1px solid var(--gray-2);border-left:2px solid transparent;cursor:pointer;transition:border-color .12s}.proj-row:hover{border-left-color:var(--black)}.proj-year-group .proj-row:last-child{border-bottom:none}.proj-content{display:flex;flex-direction:column;gap:.3rem}.proj-title-row{display:flex;align-items:baseline;gap:.75rem;flex-wrap:wrap}.proj-title{font-size:1.0625rem;font-weight:550;letter-spacing:-.01em;color:var(--black);line-height:1.4}.proj-count{font-size:.7em;font-weight:400;color:var(--gray-4);letter-spacing:0}.proj-link{font-size:.78rem;color:#4a6fa5;white-space:nowrap}.proj-desc{font-size:.84rem;line-height:1.65;color:var(--gray-5);font-style:italic;max-width:65ch;margin:0}.proj-chip{font-size:.65rem;text-transform:uppercase;letter-spacing:.07em;color:var(--gray-4);background:var(--gray-1);border:1px solid var(--gray-2);border-radius:3px;padding:.15rem .45rem;line-height:1.5}.proj-chip-status.status-wip{color:#8a4800;border-color:#f0c98a;background:#fdf6e9}.proj-chip-status.status-archived{color:var(--gray-4)}.proj-empty{padding:3rem 0;font-size:.9rem;color:var(--gray-4)}@media(max-width:860px){.signup-main{grid-template-columns:1fr;padding:0 1.5rem;gap:0;max-width:520px}.hero{padding:2.5rem 0 2rem;border-right:none;border-bottom:1px solid var(--gray-2)}.card-col{padding:2rem 0 3rem}.glass-card,.proj-main{max-width:100%}}@media(max-width:640px){.signup-page{height:100dvh;overflow:hidden;padding-bottom:0}.signup-main{display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:100%;height:100dvh;padding:1.25rem 1.25rem calc(5.5rem + env(safe-area-inset-bottom));gap:1.25rem;overflow:hidden}.hero{width:100%;padding:0;border:none;text-align:center;flex-shrink:0}.hero .headline{font-size:clamp(1.75rem,8vw,2.4rem);margin-bottom:.5rem}.hero .body-text{font-size:.82rem;line-height:1.6;margin-bottom:0}.hero .rule,.hero .features,.hero .proof{display:none}.card-col{width:100%;padding:0;flex-shrink:0}.glass-card{padding:1.5rem}.mobile-count{display:block}.bottom-nav{gap:1rem;padding:.85rem 1.65rem}.blog-main,.policy-main{padding:2.5rem 1.25rem}.centered-main{padding:2rem 1.25rem}.proj-main{padding:2.5rem 1.25rem}.proj-header{text-align:center}.landing-main{grid-template-columns:1fr;gap:2.5rem;padding:2.5rem 1.25rem calc(3rem + env(safe-area-inset-bottom));align-content:center}.landing-name{font-size:clamp(2rem,9vw,2.75rem)}.landing-hero{text-align:center}.landing-social{justify-content:center}.contact-header{text-align:center}}@media(max-width:500px){.nav-collapse{display:none}.menu-btn{display:flex}}@media(max-width:400px){.glass-card{padding:1.25rem;border-radius:16px}.signup-main{padding:1rem}}.cv-main{flex:1;max-width:720px;width:100%;margin:0 auto;padding:5rem 2.5rem calc(7rem + env(safe-area-inset-bottom))}.cv-header{padding-bottom:2.75rem}.cv-name{font-size:clamp(1.875rem,3.5vw,2.5rem);font-weight:700;letter-spacing:-.035em;line-height:1.1;color:var(--black);margin-bottom:.35rem}.cv-subtitle{font-size:.875rem;color:var(--gray-5);line-height:1.5;margin-bottom:1rem}.cv-meta-row{display:flex;flex-wrap:wrap;gap:.35rem .875rem;align-items:center}.cv-meta-item{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--gray-5);text-decoration:none;transition:color .15s;white-space:nowrap}.cv-meta-item:hover{color:var(--black)}.cv-meta-item svg{flex-shrink:0;opacity:.55}.cv-section{padding:2.5rem 0}.cv-section-label{font-size:.7rem;font-weight:650;text-transform:uppercase;letter-spacing:.13em;color:var(--black);margin-bottom:1.75rem;display:flex;align-items:center;gap:.875rem}.cv-section-label:after{content:"";flex:1;height:1px;background:var(--gray-2)}.cv-entry{display:grid;grid-template-columns:1fr auto;gap:0 2rem;margin-bottom:2.25rem}.cv-entry:last-child{margin-bottom:0}.cv-entry-main{grid-column:1}.cv-entry-title{font-size:.9375rem;font-weight:600;color:var(--black);letter-spacing:-.015em;line-height:1.35}.cv-entry-org{font-size:.85rem;color:var(--gray-5);margin-top:.2rem}.cv-entry-date{font-size:.78rem;color:var(--gray-4);white-space:nowrap;padding-top:.12rem;text-align:right;font-variant-numeric:tabular-nums;grid-column:2;grid-row:1}.cv-entry-desc{font-size:.875rem;line-height:1.8;color:var(--gray-5);margin-top:.75rem;grid-column:1 / -1}.cv-entry-desc ul{margin:0;padding-left:1.1rem;list-style:disc}.cv-entry-desc li+li{margin-top:.3rem}.cv-stack{font-size:.78rem;color:var(--gray-4);margin-top:.6rem;grid-column:1 / -1;letter-spacing:.01em}.cv-skills-table{display:grid;grid-template-columns:9rem 1fr;gap:.85rem 2rem;align-items:baseline}.cv-skill-group-label{font-size:.75rem;font-weight:600;color:var(--gray-6);text-transform:uppercase;letter-spacing:.07em;white-space:nowrap}.cv-skill-list{font-size:.875rem;color:var(--gray-5);line-height:1.6}@media(max-width:600px){.cv-main{padding:3rem 1.25rem calc(7rem + env(safe-area-inset-bottom))}.cv-entry{grid-template-columns:1fr}.cv-entry-date{grid-column:1;grid-row:auto;text-align:left;margin-top:.2rem}.cv-skills-table{grid-template-columns:6.5rem 1fr;gap:.7rem 1.25rem}}@media(max-width:400px){.cv-skills-table{grid-template-columns:1fr}.cv-skill-group-label{margin-top:.5rem}}
