:root{--color-primary: #5B5FED;--color-text: #1a1a1a;--color-text-secondary: #666;--color-background: #ffffff;--color-gray-light: #d3d3d3;--font-family: "Liter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-heading: "Hanken Grotesk", sans-serif}*{margin:0;padding:0;box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}html{font-family:var(--font-family);color:var(--color-text);background-color:#fff;font-size:20px;line-height:1.6}body{max-width:1200px;margin:0 auto;padding:4rem 2rem 2rem}h1{font-family:var(--font-heading);font-size:2.4rem;font-weight:600;margin-bottom:2rem;color:var(--color-primary);line-height:1.2}h2{font-family:var(--font-heading);font-size:1.6rem;font-weight:600;margin:3rem 0 1rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);line-height:1.2}h3{font-family:var(--font-heading);font-size:1.3rem;font-weight:600;margin-bottom:1.5rem;color:var(--color-text-secondary);line-height:1.2}h4{font-family:var(--font-heading);font-size:.9rem;font-weight:600;margin-bottom:1.5rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text);line-height:1.2}p{margin-bottom:1rem}li{margin-bottom:.5rem}strong,b{font-weight:700}a{color:var(--color-primary);text-decoration:underline;text-decoration-style:dashed;text-underline-offset:3px;transition:opacity .2s}a:hover{opacity:.7}blockquote{margin:2rem 0;padding:1rem 1.5rem;border-left:4px solid var(--color-primary);font-style:italic;color:var(--color-text-secondary)}blockquote p{margin-bottom:0}blockquote p:not(:last-child){margin-bottom:1rem}blockquote ul,blockquote ol{list-style:none;padding-left:0;margin:0}blockquote li{margin-bottom:0}.footnotes{margin-top:3rem;padding-top:2rem;border-top:2px dotted var(--color-gray-light);font-size:.8rem;color:var(--color-text-secondary)}.footnotes ol{padding-left:1.5rem}.footnotes li{margin-bottom:.75rem;line-height:1.6}sup{font-size:.75em;vertical-align:super;line-height:0}sup a{text-decoration:none;font-weight:600;color:var(--color-primary)}.attribution{font-size:.8rem;color:var(--color-text-secondary);line-height:1.6}figure.image-figure{margin:2rem 0}figure.image-figure img{margin:0;display:block;border-radius:8px}figcaption{margin-top:.75rem;font-size:.9rem;color:var(--color-text-secondary);font-style:italic;text-align:center;line-height:1.5}.post figure.image-figure{margin:2rem 0}.post figure.image-figure img{margin:0}.image-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin:2rem 0}.image-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:2rem 0}.image-grid-2 img,.image-grid-3 img{width:100%;height:auto;border-radius:8px;margin:0}.image-grid-2 figure,.image-grid-3 figure{margin:0}.image-grid-2 figcaption,.image-grid-3 figcaption{margin-top:.5rem;font-size:.85rem;color:var(--color-text-secondary);font-style:italic;text-align:left;line-height:1.4}.breadcrumb-header{position:sticky;top:0;z-index:100;background-color:#fffffff2;backdrop-filter:blur(8px);border-bottom:1px solid #e5e7eb;margin:-4rem -2rem 2rem;padding:1rem 2rem}.breadcrumb{display:flex;align-items:center;gap:.5rem;font-size:.9rem;flex-wrap:wrap}.breadcrumb-link{color:var(--color-text-secondary);text-decoration:none;transition:color .2s}.breadcrumb-link:hover{color:var(--color-primary)}.breadcrumb-separator{color:var(--color-text-secondary);user-select:none}.breadcrumb-current{color:var(--color-text);font-weight:500}.back-link{display:inline-block;margin-bottom:2rem;font-size:1rem;font-weight:500;color:var(--color-text);text-decoration:none;transition:all .2s}.back-link:hover{color:var(--color-primary);opacity:1;transform:translate(-4px)}.post-header-image{width:100%;border-radius:8px;overflow:hidden}.post-header-image img{width:100%;height:auto;display:block;margin:0}.post-header{margin-bottom:0}.post-header-meta-container{display:flex;flex-direction:row;gap:.5rem;align-items:center;margin-top:1.5rem}.post-header-meta{font-family:var(--font-family);font-size:.7rem;font-weight:400;color:#5b5c7a;margin:0;white-space:nowrap}.post-header-meta:not(:last-child):after{content:"•";margin-left:.5rem;color:#5b5c7a}.post h1{font-size:2.5rem;margin-bottom:1rem;line-height:1.2}.post .description{font-size:.9rem;color:#5b5c7a;margin-bottom:0;line-height:1.6}.post h2{font-size:1.75rem;margin-top:2.5rem;margin-bottom:1rem;color:var(--color-text);text-transform:none;letter-spacing:normal;line-height:1.2}.post h3{font-size:1.35rem;margin-top:2rem;margin-bottom:.75rem;color:var(--color-text);font-weight:600;line-height:1.2}.post h4{margin-bottom:1rem}.post p{margin-bottom:1.25rem;line-height:1.7}.post img{max-width:100%;height:auto;margin:2rem 0;border-radius:8px}.post ul,.post ol{margin-bottom:1.25rem;padding-left:2rem}.post li{margin-bottom:.5rem;line-height:1.7}.container{max-width:900px;margin:0 auto}.intro{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:start;margin-bottom:3rem}.intro-text h1{margin-bottom:1.5rem}.profile-container{position:relative;width:fit-content}.postmark{position:absolute;width:150px;height:75px;top:-10px;right:-40px;pointer-events:none}.profile-photo{--r: 12px;width:200px;height:200px;object-fit:cover;padding:var(--r);filter:drop-shadow(0 2px 8px rgba(0,0,0,.1));background:radial-gradient(50% 50%,#0000 65%,#fff 67%) round var(--r) var(--r) / calc(2 * var(--r)) calc(2 * var(--r));box-sizing:content-box}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.section-header h4{margin:0}.view-all{font-size:.875rem;text-decoration:underline;text-decoration-style:dashed}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-bottom:3rem}.card{text-decoration:none;display:block}.card-image{width:100%;aspect-ratio:9 / 5;background-color:var(--color-gray-light);border-radius:8px;margin-bottom:1rem;object-fit:cover}.card h3{font-family:var(--font-heading);font-size:1.25rem;font-weight:600;margin-bottom:.5rem;color:var(--color-primary);text-decoration:none;transition:all .2s}.external-link-icon{opacity:.6;transition:opacity .2s;margin-left:.2rem;line-height:1}.external-link-icon .material-symbols-outlined{font-size:.75em;font-weight:600;vertical-align:baseline}.card:hover .external-link-icon{opacity:.9}.card p{color:var(--color-text);margin-bottom:0;font-size:.95rem;transition:color .2s}.card:hover h3{text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;opacity:1}.card:hover p{color:var(--color-text-secondary)}footer{margin-top:4rem;padding-top:2rem;display:flex;flex-direction:column;gap:1rem;font-size:.95rem}.footer-line{height:4px;width:100%;background:repeating-linear-gradient(135deg,#dc143c 0px 6px,#fff 6px 12px,#5b5fed 12px 18px,#fff 18px 24px)}.footer-links-container{display:flex;justify-content:space-between;align-items:center}.footer-links{display:flex;gap:.5rem;align-items:center}.colophon-link{background:none;border:none;color:var(--color-primary);text-decoration:underline;text-decoration-style:dashed;text-underline-offset:3px;font-size:inherit;font-family:inherit;cursor:pointer;padding:0;transition:opacity .2s}.colophon-link:hover{opacity:.7}.modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;background-color:#00000080;opacity:0;transition:opacity .3s ease}.modal-active{display:flex;align-items:center;justify-content:center;opacity:1}.modal-content{background-color:var(--color-background);padding:2.5rem;border-radius:8px;max-width:600px;width:90%;max-height:80vh;overflow-y:auto;position:relative;box-shadow:0 4px 20px #0000004d;animation:modalSlideIn .3s ease}@keyframes modalSlideIn{0%{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:2rem;line-height:1;cursor:pointer;color:var(--color-text-secondary);padding:.25rem .5rem;transition:color .2s}.modal-close:hover{color:var(--color-text)}.modal-content h2{margin-top:0;margin-bottom:1.5rem;font-size:1.75rem;text-transform:none;letter-spacing:normal;color:var(--color-primary)}.modal-content h3{font-size:1.1rem;margin-bottom:.75rem;margin-top:0;color:var(--color-text)}.colophon-section{margin-bottom:1.5rem}.colophon-section:last-child{margin-bottom:0}.colophon-section p{margin-bottom:.5rem;line-height:1.6}.colophon-section p:last-child{margin-bottom:0}.claude-logo{width:20px;height:20px;opacity:.7;transition:opacity .3s;vertical-align:middle;display:inline-block}.claude-logo:hover{opacity:1}@media(max-width:768px){html{font-size:16px}body{padding:1.5rem 2rem;max-width:100%}.intro{grid-template-columns:1fr;gap:1.5rem;text-align:left;margin-bottom:2.5rem}.intro-text{order:2}.intro>div:has(.profile-photo){order:1;display:flex;justify-content:flex-start}.profile-photo{--r: 8px;width:140px;height:140px;margin:0}.intro-text h1{margin-bottom:1.25rem;line-height:1.2}.intro-text p{text-align:left;line-height:1.6}.section-header{margin-bottom:1.5rem}.grid{grid-template-columns:1fr;gap:2rem;margin-bottom:2.5rem}.card-image{margin-bottom:.75rem}.card h3{margin-bottom:.5rem}.card p{line-height:1.5}footer{margin-top:3rem;padding-top:1.5rem;gap:1rem}.post-header-meta-container{margin-top:1rem}.image-grid-2,.image-grid-3{grid-template-columns:1fr}.breadcrumb-header{margin:-1.5rem -1rem 1.5rem;padding-left:1rem;padding-right:1rem}section ul{padding-left:0}.resume-header{flex-direction:column;align-items:flex-start!important}}
