:root{--bg: #ffffff;--surface: #ffffff;--surface-soft: #f8f9fa;--line: #e0e3e7;--line-strong: #d2d7de;--text: #202124;--muted: #5f6368;--pinon-black: #171313;--pinon-red: #9f1f28;--pinon-blue: #17345d;--pinon-thread: #d9a85b;--blue: var(--pinon-blue);--red: var(--pinon-red);--yellow: #8c6324;--green: #2f463c;--shadow: 0 1px 2px rgba(60, 64, 67, 0.16), 0 1px 3px rgba(60, 64, 67, 0.1);--radius: 18px;--content: 68rem}*{box-sizing:border-box}html{font-size:16px}body{margin:0;color:var(--text);background:var(--bg);font-family:Arial, Helvetica, sans-serif;line-height:1.6;min-height:100vh}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}.page-shell{width:min(calc(100% - 2rem), var(--content));margin:0 auto;padding:0 1rem 3rem}.site-header,.site-footer,.grid,.section-heading,.post-nav{display:flex;gap:1rem;align-items:center;justify-content:space-between}.site-header{padding:1rem 0;border-bottom:1px solid var(--line)}.site-brand{font-size:1.5rem;font-weight:700;letter-spacing:-0.02em;text-decoration:none;color:var(--text)}.site-nav{display:flex;gap:1.25rem;flex-wrap:wrap}.site-nav a,.footer-links a{text-decoration:none;color:var(--muted);font-size:0.95rem}.site-main{padding:2.25rem 0 1rem}.hero,.panel,.post,.page{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.hero{padding:clamp(1.5rem, 3vw, 2.5rem);margin-bottom:1.5rem;position:relative;overflow:hidden}.hero::before{content:"";position:absolute;inset:0 0 auto;height:6px;background:repeating-linear-gradient(135deg, rgba(217,168,91,0.75) 0 1px, transparent 1px 10px),linear-gradient(90deg, var(--pinon-black) 0 16%, var(--pinon-red) 16% 25%, var(--pinon-blue) 25% 30%, var(--pinon-black) 30% 70%, var(--pinon-blue) 70% 75%, var(--pinon-red) 75% 84%, var(--pinon-black) 84% 100%)}.eyebrow,.panel-label,.meta,.category-line,.post-meta,.tag{color:var(--muted);letter-spacing:0.08em;text-transform:uppercase;font-size:0.72rem}.hero h1,.post-header h1,.page-header h1{margin:0;line-height:1;letter-spacing:-0.04em}.hero h1{font-size:clamp(2.75rem, 7vw, 4.75rem);max-width:10ch}.hero-copy{max-width:42rem;margin:0.9rem 0 0;font-size:1.05rem;color:var(--muted)}.hero-actions{display:flex;gap:0.75rem;flex-wrap:wrap;margin-top:1.5rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:2.5rem;padding:0.65rem 1rem;border-radius:999px;border:1px solid var(--line-strong);text-decoration:none;background:#fff;color:var(--text)}.button-primary{background:var(--blue);color:#fff;border-color:var(--blue)}.grid{align-items:stretch;margin-bottom:1.5rem}.grid>*{flex:1 1 0}.panel,.post,.page{padding:1.25rem}.panel h2,.panel h3,.archive h2{margin:0.35rem 0 0;font-size:clamp(1.35rem, 2.5vw, 2rem);line-height:1.1;letter-spacing:-0.03em;color:var(--text)}.panel-copy,.prose,.prose-block{color:var(--text)}.archive{margin-top:2rem}.section-heading{align-items:end;margin-bottom:1rem}.section-heading h2{margin:0;font-size:clamp(1.7rem, 3vw, 2.4rem);letter-spacing:-0.04em}.post-list,.footer-links{list-style:none;padding:0;margin:0}.post-list{display:grid;grid-template-columns:repeat(12, 1fr);gap:1rem}.post-card{grid-column:span 4;padding:1.2rem;border:1px solid var(--line);border-radius:16px;background:var(--surface-soft);box-shadow:none}.post-card h3{margin:0.35rem 0 0.75rem;font-size:1.25rem}.category-line{display:flex;gap:0.5rem;flex-wrap:wrap}.category-line span:nth-child(4n+1),.tag-row .tag:nth-child(4n+1){color:var(--blue)}.category-line span:nth-child(4n+2),.tag-row .tag:nth-child(4n+2){color:var(--red)}.category-line span:nth-child(4n+3),.tag-row .tag:nth-child(4n+3){color:var(--yellow)}.category-line span:nth-child(4n+4),.tag-row .tag:nth-child(4n+4){color:var(--green)}.post-header,.page-header{margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}.post-header h1,.page-header h1{font-size:clamp(2.3rem, 5vw, 3.75rem)}.post-meta,.tag-row{display:flex;gap:0.75rem;flex-wrap:wrap;margin-top:1rem}.tag{padding:0.3rem 0.65rem;border-radius:999px;background:var(--surface-soft);border:1px solid var(--line)}.prose{max-width:48rem;font-size:1.02rem}.prose p,.prose ul,.prose ol,.prose blockquote,.prose pre,.prose h2,.prose h3{margin:0 0 1rem}.prose h2,.prose h3{line-height:1.15;letter-spacing:-0.03em}.prose blockquote{margin-left:0;padding:1rem 1.2rem;border-left:4px solid var(--blue);background:var(--surface-soft)}.prose code,.prose pre{font-family:"IBM Plex Mono", "SFMono-Regular", Consolas, monospace}.prose code{padding:0.12rem 0.35rem;border-radius:0.35rem;background:#f1f3f4}.prose pre{overflow-x:auto;padding:1rem;border-radius:1rem;background:#202124;color:#f8f9fa}.projects-intro{max-width:42rem;margin-bottom:2rem;color:var(--muted);font-size:1.06rem}.projects-section+.projects-section{margin-top:2.5rem}.compact-heading{align-items:end;margin-bottom:0.9rem}.compact-heading h2{margin:0;font-size:clamp(1.45rem, 2.4vw, 2rem)}.project-list{display:grid;gap:1.5rem;max-width:120rem;margin:0 auto}.project-card{display:grid;gap:1rem;padding:1.5rem;border:1px solid var(--line);border-radius:1rem;background:var(--surface-strong)}.project-card header,.project-card footer{display:flex;flex-direction:column;gap:0.25rem}.project-card h3,.timeline-body h3{margin:0;line-height:1.2;letter-spacing:-0.02em}.project-copy{display:grid;gap:0.75rem}.project-overview{margin:0;color:var(--text)}.project-highlights{margin:0;padding-left:1.15rem;color:var(--muted);display:grid;gap:0.5rem}.project-highlights li{margin:0}.project-kicker,.project-meta{color:var(--muted);font-size:0.88rem}.project-kicker{margin:0;text-transform:uppercase;letter-spacing:0.08em}.project-meta{margin:0;text-align:left}.timeline{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.timeline-item{display:grid;grid-template-columns:7rem minmax(0, 1fr);gap:1.25rem;padding:1rem 0;border-bottom:1px solid var(--line)}.timeline-year{color:var(--muted);font-family:"IBM Plex Mono", "SFMono-Regular", Consolas, monospace;font-size:0.9rem}.timeline-body p{max-width:39rem;margin:0.35rem 0 0;color:var(--muted)}.timeline-body .timeline-heading{display:flex;align-items:center;gap:0.9rem;margin-bottom:0.35rem}.timeline-logo{display:inline-flex;align-items:center;justify-content:center;width:2.4rem;height:2.4rem;border-radius:0.75rem;overflow:hidden;font-size:0.8rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:#fff;background:var(--muted)}.timeline-logo img{width:100%;height:100%;object-fit:contain}.timeline-logo-milestone{background:#8b0000}.timeline-logo-nit{background:#0f3a70}.timeline-logo-datafluent{background:#17345d}.timeline-body .timeline-location{margin-top:0.2rem;font-size:0.9rem;font-style:italic}.timeline-body .timeline-role{color:var(--text);font-weight:700}.tree-log{--tree-center: 9rem;list-style:none;margin:-0.25rem 0 0;padding:0;position:relative}.tree-log::before{content:"";position:absolute;top:0.45rem;bottom:0.45rem;left:var(--tree-center);width:1px;background:var(--line-strong)}.tree-item{display:grid;grid-template-columns:var(--tree-center) minmax(0, 1fr);gap:1.5rem;position:relative;padding:0 0 1.35rem}.tree-item::before{content:"";position:absolute;top:0.42rem;left:calc(var(--tree-center) - 0.25rem);width:0.5rem;height:0.5rem;border:1px solid var(--pinon-red);border-radius:50%;background:var(--surface)}.tree-date{color:var(--muted);font-family:"IBM Plex Mono", "SFMono-Regular", Consolas, monospace;font-size:0.9rem}.post-nav{margin-top:2rem;padding-top:1.25rem;border-top:1px solid var(--line)}.site-footer{margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid var(--line);align-items:start}.footer-title{margin:0 0 0.4rem;font-size:1.1rem;font-weight:700}.footer-copy{max-width:32rem;margin:0;color:var(--muted)}.footer-links{display:flex;gap:1rem;flex-wrap:wrap}@media (max-width: 900px){.grid,.section-heading,.site-header,.site-footer,.post-nav{flex-direction:column;align-items:flex-start}.post-card{grid-column:span 12}.project-item{grid-template-columns:1fr;gap:0.5rem}.project-meta{text-align:left}}@media (max-width: 640px){.page-shell{width:min(calc(100% - 1rem), var(--content));margin:0.5rem auto;padding:1rem;border-radius:24px}.hero,.panel,.post,.page{padding:1.15rem}.hero h1,.post-header h1,.page-header h1{max-width:none}.timeline-item{grid-template-columns:1fr;gap:0.35rem}.tree-log{--tree-center: 0.75rem}.tree-item{grid-template-columns:1fr;gap:0.35rem;padding-left:1.75rem}.tree-date{font-size:0.82rem}}
