:root{--stone-50: #F7F6F3;--stone-100: #EDEAE4;--stone-200: #D8D4CB;--stone-400: #A09890;--stone-600: #6B6460;--stone-800: #3A3531;--stone-900: #1E1B18;--alpine-blue: #5B7FA6;--snow: #FAFAF8;--bg-primary: var(--snow);--bg-secondary: var(--stone-50);--text-primary: var(--stone-900);--text-body: var(--stone-600);--text-muted: var(--stone-400);--border-color: var(--stone-200);--font-heading: 'Playfair Display', serif;--font-mono: 'DM Mono', monospace;--font-body: 'DM Sans', sans-serif;--max-width: 1100px;--container-padding: 48px;--full-bleed-offset: calc(-1 * var(--container-padding));--full-bleed-width: calc(100% + (var(--container-padding) * 2))}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);font-size:18px;font-weight:300;line-height:1.6;color:var(--text-primary);background-color:var(--bg-primary);margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:400;margin-top:0;margin-bottom:1rem;line-height:1.2;color:var(--text-primary)}h1{font-size:64px;letter-spacing:-1px;line-height:1.1}h2{font-size:40px;letter-spacing:-0.5px}h3{font-size:28px}h4{font-size:22px}h5{font-size:19px}h6{font-size:17px}p{margin-top:0;margin-bottom:1rem;color:var(--text-body)}a{color:var(--text-primary);text-decoration:none;transition:color 0.2s ease}a:hover{color:var(--stone-600)}em,i{font-family:var(--font-heading);font-style:italic;color:var(--stone-800)}strong,b{font-weight:500}.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--container-padding)}.full-bleed{width:var(--full-bleed-width);margin-left:var(--full-bleed-offset)}.topo-header{height:72px;background:var(--stone-50);border-bottom:0.5px solid var(--stone-200);overflow:hidden}.topo-header svg{width:100%;height:100%;display:block}.site-header{background-color:var(--bg-primary);border-bottom:0.5px solid var(--stone-200);margin-bottom:72px}.nav-container{display:flex;justify-content:space-between;align-items:flex-start;padding:24px 0 28px 0}.nav-brand{display:flex;flex-direction:column;gap:4px}.nav-brand-name{font-family:var(--font-heading);font-size:22px;font-weight:400;color:var(--text-primary);text-decoration:none}.nav-brand-name:hover{color:var(--text-primary)}.nav-brand-tagline{font-family:var(--font-mono);font-size:11px;font-weight:300;letter-spacing:2px;text-transform:uppercase;color:var(--text-muted)}.nav-menu{display:flex;list-style:none;margin:0;padding:0;gap:32px;align-items:center;padding-top:4px}.nav-menu a{font-family:var(--font-mono);font-size:13px;font-weight:400;letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);text-decoration:none;transition:color 0.2s ease}.nav-menu a:hover,.nav-menu a.active{color:var(--text-primary)}.site-main{min-height:calc(100vh - 300px);padding-bottom:72px}.home-intro{margin-bottom:64px}.home-eyebrow{font-family:var(--font-mono);font-size:12px;font-weight:400;letter-spacing:2px;text-transform:uppercase;color:var(--alpine-blue);margin-bottom:20px}.home-title{font-family:var(--font-heading);font-size:64px;font-weight:400;line-height:1.1;letter-spacing:-1px;margin-bottom:40px}.home-title-italic{font-style:italic;color:var(--text-muted)}.home-prose{font-family:var(--font-body);font-size:20px;font-weight:300;line-height:1.8;color:var(--text-body);max-width:680px;margin-bottom:40px}.home-prose p{margin-bottom:1.5em}.home-cta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:64px}.btn{font-family:var(--font-mono);font-size:13px;font-weight:400;letter-spacing:1px;text-transform:uppercase;padding:14px 28px;border-radius:2px;text-decoration:none;transition:all 0.2s ease;display:inline-block}.btn-primary{background-color:var(--stone-900);color:var(--snow);border:none}.btn-primary:hover{background-color:var(--stone-800);color:var(--snow)}.btn-secondary{background-color:transparent;color:var(--text-body);border:0.5px solid var(--stone-200)}.btn-secondary:hover{border-color:var(--stone-400);color:var(--text-primary)}.ridge-band{height:120px;background:var(--stone-50);border-top:0.5px solid var(--stone-100);border-bottom:0.5px solid var(--stone-100);margin-bottom:72px;overflow:hidden}.ridge-band svg{width:100%;height:100%;display:block}.section-label{display:flex;align-items:center;gap:16px;margin-bottom:24px}.section-label-text{font-family:var(--font-mono);font-size:12px;font-weight:400;letter-spacing:2.5px;text-transform:uppercase;color:var(--text-muted);white-space:nowrap}.section-label-line{flex:1;height:0.5px;background-color:var(--stone-200)}.writing-list{margin-bottom:72px}.writing-item{display:grid;grid-template-columns:90px 1fr auto;align-items:baseline;gap:24px;padding:16px 0;border-bottom:0.5px solid var(--stone-100);text-decoration:none}.writing-item:first-child{padding-top:0}.writing-item:hover .writing-title{color:var(--stone-600)}.writing-date{font-family:var(--font-mono);font-size:13px;font-weight:400;color:var(--text-muted);min-width:100px}.writing-title{font-family:var(--font-heading);font-size:22px;font-weight:400;color:var(--text-primary);transition:color 0.2s ease}.writing-tag{font-family:var(--font-mono);font-size:11px;font-weight:400;letter-spacing:1.5px;text-transform:uppercase}.writing-tag.systems{color:var(--text-body)}.writing-tag.summit{color:var(--alpine-blue)}.projects-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:2px;background-color:var(--stone-200);margin-bottom:72px}.project-card{background-color:var(--snow);padding:32px}.project-card-number{font-family:var(--font-mono);font-size:12px;font-weight:400;color:var(--text-muted);margin-bottom:10px}.project-card-title{font-family:var(--font-heading);font-size:20px;font-weight:400;color:var(--text-primary);margin-bottom:10px;text-decoration:none}.project-card-title:hover{color:var(--stone-600)}.project-card-description{font-family:var(--font-body);font-size:15px;font-weight:300;color:var(--text-body);margin-bottom:14px;line-height:1.6}.project-card-tech{font-family:var(--font-mono);font-size:12px;font-weight:400;color:var(--text-muted)}.page-header{margin-bottom:48px}.page-eyebrow{font-family:var(--font-mono);font-size:12px;font-weight:400;letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);margin-bottom:16px}.page-title{font-family:var(--font-heading);font-size:52px;font-weight:400;line-height:1.2;margin-bottom:16px}.page-title-italic{font-style:italic;color:var(--text-muted)}.page-subtitle{font-family:var(--font-body);font-size:18px;font-weight:300;color:var(--text-body);margin-bottom:32px}.filter-pills{display:flex;gap:10px;margin-bottom:40px}.filter-pill{font-family:var(--font-mono);font-size:12px;font-weight:400;letter-spacing:1.5px;text-transform:uppercase;padding:10px 20px;border:0.5px solid var(--stone-200);border-radius:2px;background:transparent;color:var(--text-muted);cursor:pointer;transition:all 0.2s ease}.filter-pill:hover,.filter-pill.active{border-color:var(--stone-900);color:var(--stone-900)}.article{max-width:720px}.article-back{font-family:var(--font-mono);font-size:12px;font-weight:400;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-muted);text-decoration:none;display:inline-block;margin-bottom:40px}.article-back:hover{color:var(--text-primary)}.article-category{font-family:var(--font-mono);font-size:12px;font-weight:400;letter-spacing:2px;text-transform:uppercase;margin-bottom:14px}.article-category.systems{color:var(--text-body)}.article-category.summit{color:var(--alpine-blue)}.article-title{font-family:var(--font-heading);font-size:48px;font-weight:400;line-height:1.2;letter-spacing:-0.5px;max-width:720px;margin-bottom:20px}.article-date{font-family:var(--font-mono);font-size:13px;font-weight:400;letter-spacing:0.5px;color:var(--text-muted);margin-bottom:48px}.article-content{font-family:var(--font-body);font-size:20px;font-weight:300;line-height:1.85;color:var(--text-body);max-width:720px}.article-content p{margin-bottom:1.5em}.article-content em{font-family:var(--font-heading);font-style:italic;color:var(--stone-800)}.article-content h2{font-size:32px;margin-top:56px;margin-bottom:20px}.article-content h3{font-size:26px;margin-top:48px;margin-bottom:16px}.article-content h4{font-size:22px;margin-top:40px;margin-bottom:12px}.article-content ul,.article-content ol{margin-bottom:1.5em;padding-left:1.5em}.article-content li{margin-bottom:0.5em}.article-content blockquote{margin:2em 0;padding-left:24px;border-left:2px solid var(--stone-200);font-style:italic;color:var(--stone-600)}.article-content code{font-family:var(--font-mono);font-size:0.9em;background-color:var(--stone-50);padding:2px 6px;border-radius:2px}.article-content pre{background-color:var(--stone-50);padding:20px;border-radius:2px;overflow-x:auto;margin:1.5em 0;border:0.5px solid var(--stone-200)}.article-content pre code{background:none;padding:0}.article-content a{color:var(--text-primary);text-decoration:underline;text-decoration-color:var(--stone-200);text-underline-offset:2px}.article-content a:hover{text-decoration-color:var(--stone-600)}.article-content strong{font-weight:500;color:var(--text-primary)}.article-footer{margin-top:64px;padding-top:32px;border-top:0.5px solid var(--stone-200)}.projects-page .project-card{padding:32px}.projects-page .project-card-description{font-size:14px;line-height:1.6}.resume{max-width:900px}.resume-header{margin-bottom:56px}.resume-name{font-family:var(--font-heading);font-size:52px;font-weight:400;margin-bottom:12px}.resume-tagline{font-family:var(--font-mono);font-size:13px;font-weight:400;letter-spacing:0.5px;color:var(--text-muted);margin-bottom:20px}.resume-contact{display:flex;gap:28px;flex-wrap:wrap}.resume-contact a{font-family:var(--font-mono);font-size:13px;font-weight:400;color:var(--text-muted);text-decoration:none}.resume-contact a:hover{color:var(--text-primary)}.resume-section{margin-bottom:48px}.resume-section-header{font-family:var(--font-mono);font-size:12px;font-weight:400;letter-spacing:2.5px;text-transform:uppercase;color:var(--text-muted);padding-bottom:14px;border-bottom:0.5px solid var(--stone-200);margin-bottom:28px}.resume-job{margin-bottom:36px}.resume-job-title{font-family:var(--font-body);font-size:18px;font-weight:500;color:var(--text-primary);margin-bottom:6px}.resume-job-meta{font-family:var(--font-mono);font-size:13px;font-weight:400;color:var(--text-muted);margin-bottom:14px}.resume-job-content{font-family:var(--font-body);font-size:16px;font-weight:300;color:var(--text-body);line-height:1.7}.resume-job-content ul{list-style:none;padding:0;margin:0}.resume-job-content li{position:relative;padding-left:1.5em;margin-bottom:8px}.resume-job-content li::before{content:'—';position:absolute;left:0;color:var(--stone-200)}.skills-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:24px}.skill-category{margin-bottom:16px}.skill-label{font-family:var(--font-mono);font-size:12px;font-weight:400;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px}.skill-items{font-family:var(--font-body);font-size:15px;font-weight:300;color:var(--text-body);line-height:1.7}.site-footer{background-color:var(--stone-50);border-top:0.5px solid var(--stone-200);padding:32px 0;margin-top:72px}.site-footer p{font-family:var(--font-mono);font-size:10px;font-weight:400;letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);text-align:center;margin:0}.markdown-content h1{font-size:38px;margin-top:48px}.markdown-content h2{font-size:28px;margin-top:40px}.markdown-content h3{font-size:22px;margin-top:32px}.markdown-content h4{font-size:18px;margin-top:24px}.markdown-content p,.markdown-content ul,.markdown-content ol{font-family:var(--font-body);font-size:17px;line-height:1.8;color:var(--text-body)}@media (max-width: 768px){:root{--container-padding: 24px}h1{font-size:42px}.home-title{font-size:42px}.page-title{font-size:38px}.article-title{font-size:32px}.nav-container{flex-direction:column;gap:16px;padding:20px 0}.nav-menu{gap:20px}.site-header{margin-bottom:48px}.writing-item{grid-template-columns:1fr;gap:8px}.writing-date{order:2}.writing-title{order:1}.writing-tag{order:3}.projects-grid{grid-template-columns:1fr}.skills-grid{grid-template-columns:1fr}.home-cta{flex-direction:column}.btn{text-align:center}.filter-pills{flex-wrap:wrap}}@media (max-width: 480px){:root{--container-padding: 16px}.nav-menu{gap:16px;font-size:10px}.resume-contact{flex-direction:column;gap:8px}}@media (prefers-reduced-motion: reduce){*{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important}}a:focus,button:focus,input:focus,textarea:focus{outline:2px solid var(--alpine-blue);outline-offset:2px}@media (prefers-contrast: high){:root{--text-primary: #000000;--text-body: #1a1a1a;--text-muted: #333333;--border-color: #000000}}details{margin-bottom:24px}details summary{cursor:pointer;list-style:none}details summary::-webkit-details-marker{display:none}details summary h3{display:inline;font-family:var(--font-mono);font-size:10px;font-weight:400;letter-spacing:2.5px;text-transform:uppercase;color:var(--text-muted)}details summary:hover h3{color:var(--text-primary)}details[open] summary{margin-bottom:16px;padding-bottom:12px;border-bottom:0.5px solid var(--stone-200)}details>div,details>p,details>ul{padding-left:0}
