@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:200;font-display:swap;src:url('/static/fonts/source-sans-pro-200.woff2') format('woff2')}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:400;font-display:swap;src:url('/static/fonts/source-sans-pro-400.woff2') format('woff2')}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:600;font-display:swap;src:url('/static/fonts/source-sans-pro-600.woff2') format('woff2')}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:700;font-display:swap;src:url('/static/fonts/source-sans-pro-700.woff2') format('woff2')}*, *::before, *::after{box-sizing:border-box;margin:0;padding:0}:root{--red:#ff3333;--red-dark:#cc0000;--black:#e8e8e8;--gray-900:#cccccc;--gray-600:#999999;--gray-300:#444444;--gray-100:#2a2a2a;--white:#1a1a1a;--font:'Source Sans Pro', -apple-system, BlinkMacSystemFont, sans-serif;--max-width:800px}[data-theme="light"]{--red:#ee0000;--red-dark:#cc0000;--black:#1a1a1a;--gray-900:#333333;--gray-600:#6b6b6b;--gray-300:#d1d1d1;--gray-100:#f5f5f5;--white:#ffffff}html{scroll-behavior:smooth;height:100%}body{font-family:var(--font);color:var(--black);background:var(--white);line-height:1.6;border-top:4px solid var(--red);-webkit-font-smoothing:antialiased;transition:background 0.3s, color 0.3s;min-height:100%;display:flex;flex-direction:column}body > *:not(footer):not(.theme-toggle):not(script){flex-shrink:0}/* --- Layout --- */.container{max-width:var(--max-width);margin:0 auto;padding:0 24px}section{padding:64px 0}section + section{border-top:1px solid var(--gray-300)}a{color:var(--red);transition:color 0.2s}a:hover{color:var(--red-dark)}/* --- Section headings --- */.section-label{font-size:0.8rem;font-weight:600;text-transform:uppercase;letter-spacing:0.1em;color:var(--red);margin-bottom:8px}section h2{font-size:1.5rem;font-weight:700;margin-bottom:20px;line-height:1.3}section p{color:var(--gray-900);margin-bottom:16px}/* --- Hero --- */.hero{padding:80px 0 64px;text-align:center}.hero-avatar{width:140px;height:140px;border-radius:50%;margin-bottom:24px;border:3px solid var(--gray-300)}.hero h1{font-size:2rem;font-weight:700;line-height:1.2;margin-bottom:8px}.hero .tagline{font-size:1.05rem;color:var(--gray-900);max-width:600px;margin:0 auto 32px;line-height:1.7}.hero-links{display:flex;justify-content:center;gap:20px;flex-wrap:wrap}.hero-links a{color:var(--gray-600);text-decoration:none;font-size:0.95rem;transition:color 0.2s;display:inline-flex;align-items:center;gap:6px}.hero-links a:hover{color:var(--red)}.hero-links svg{width:18px;height:18px;vertical-align:middle}/* --- Nav --- */.site-nav{padding:16px 0;border-bottom:1px solid var(--gray-300)}.site-nav .container{display:flex;justify-content:space-between;align-items:center}.nav-home{font-weight:700;font-size:1.05rem;color:var(--black);text-decoration:none}.nav-home:hover{color:var(--red)}/* --- What I Do --- */.focus-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));gap:24px;margin-top:24px}.focus-card{padding:20px;border:1px solid var(--gray-300);border-radius:6px;transition:border-color 0.2s}.focus-card:hover{border-color:var(--red)}.focus-card .card-illustration{display:block;width:48px;height:48px;margin-bottom:12px;color:var(--red)}.focus-card h3{font-size:1.05rem;font-weight:600;margin-bottom:8px}.focus-card p{font-size:0.92rem;color:var(--gray-600);margin-bottom:0}/* --- Career Arc --- */.career-arc{list-style:none;position:relative;padding-left:24px}.career-arc::before{content:'';position:absolute;left:5px;top:4px;bottom:4px;width:2px;background:var(--gray-300)}.career-arc li{position:relative;margin-bottom:32px;cursor:pointer}.career-arc li:last-child{margin-bottom:0}.career-arc li::before{content:'';position:absolute;left:-23px;top:6px;width:10px;height:10px;border-radius:50%;background:var(--gray-300);border:2px solid var(--white);transition:background 0.2s}.career-arc li:last-child::before{background:var(--red)}.career-arc li:hover::before{background:var(--red)}.pipeline-stage{font-family:'Courier New', monospace;font-size:0.72rem;text-transform:uppercase;letter-spacing:0.08em;color:var(--red);display:block;margin-bottom:2px;opacity:0.8}.career-arc .phase-label{font-weight:600;font-size:1rem;color:var(--black);display:block;margin-bottom:4px}.career-arc .phase-reflection{color:var(--gray-600);font-size:0.95rem;line-height:1.6}/* --- Expandable case studies / quotes --- */.phase-case-study{max-height:0;overflow:hidden;transition:max-height 0.4s ease, opacity 0.3s ease;opacity:0}.phase-case-study.open{max-height:500px;opacity:1}.phase-case-study-inner{margin-top:12px;padding:16px;background:var(--gray-100);border-left:3px solid var(--red);border-radius:0 6px 6px 0;font-size:0.9rem;color:var(--gray-900);line-height:1.7}.phase-case-study-inner strong{display:block;margin-bottom:4px;color:var(--black);font-size:0.85rem;text-transform:uppercase;letter-spacing:0.05em}/* --- Blog list --- */.blog-list{list-style:none}.blog-list li{border-bottom:1px solid var(--gray-100)}.blog-list li:last-child{border-bottom:none}.blog-list a{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:16px 0;text-decoration:none;transition:color 0.2s}.blog-list .post-title{font-weight:600;color:var(--black)}.blog-list a:hover .post-title{color:var(--red)}.blog-list .post-date{color:var(--gray-600);font-size:0.85rem;white-space:nowrap}/* --- Blog post content --- */.post-header{padding:64px 0 32px}.post-header h1{font-size:2rem;font-weight:700;line-height:1.3;margin-bottom:8px}.post-meta{color:var(--gray-600);font-size:0.9rem}.post-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.tag{font-size:0.78rem;padding:3px 10px;border-radius:12px;background:var(--gray-100);border:1px solid var(--gray-300);color:var(--gray-600)}.post-content{padding:0 0 64px}.post-content p{margin-bottom:20px;line-height:1.8}.post-content h2, .post-content h3, .post-content h4{margin-top:32px;margin-bottom:12px;font-weight:700}.post-content h2{font-size:1.4rem}.post-content h3{font-size:1.2rem}/* Tennis ball bullets on principles post */.post-content hr + h2{padding-left:28px;position:relative;display:flex;align-items:center}.post-content hr + h2::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:18px;height:18px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='11' fill='%23c8d92c' stroke='%23a8b820' stroke-width='0.5'/%3E%3Cpath d='M5 5.5 C8 9, 8 15, 5 18.5' fill='none' stroke='%23f5f5e0' stroke-width='1.5' stroke-linecap='round'/%3E%3Cpath d='M19 5.5 C16 9, 16 15, 19 18.5' fill='none' stroke='%23f5f5e0' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat}.post-content ul, .post-content ol{margin-bottom:20px;padding-left:24px;color:var(--gray-900)}.post-content li{margin-bottom:8px;line-height:1.7}.post-content blockquote{border-left:3px solid var(--red);padding:12px 20px;margin:20px 0;background:var(--gray-100);border-radius:0 6px 6px 0;color:var(--gray-900)}.post-content pre{background:var(--gray-100);padding:16px;border-radius:6px;overflow-x:auto;margin-bottom:20px;font-size:0.9rem;line-height:1.5}.post-content code{font-size:0.9em;background:var(--gray-100);padding:2px 6px;border-radius:3px}.post-content pre code{background:none;padding:0}.post-content img{max-width:100%;height:auto;border-radius:6px;margin:20px 0}.post-content a{color:var(--red);text-decoration:underline}.post-content hr{border:none;border-top:1px solid var(--gray-300);margin:32px 0}/* --- Comments --- */.github-comments h2{font-size:1.2rem;margin-bottom:16px}.github-comments ul{list-style:none;padding:0}.github-comments li{padding:16px 0;border-bottom:1px solid var(--gray-100)}.github-comments li:last-child{border-bottom:none}.github-comments a.user{display:inline-flex;align-items:center;text-decoration:none;margin-bottom:8px}.github-comments .avatar{width:28px;height:28px;border-radius:50%;margin-right:8px}.github-comments .comment-content{font-size:0.92rem;line-height:1.6;color:var(--gray-900)}.github-comments .comment-content p{margin-bottom:8px}.github-comments .comment-url{font-size:0.78rem;color:var(--gray-600);text-decoration:none;margin-top:8px;display:block}.github-comments a{color:var(--red)}.github-comments p{font-size:0.92rem}#no-comments-found{display:none}/* --- Contact --- */.contact-section{text-align:center;padding-bottom:80px}.contact-links{display:flex;justify-content:center;gap:24px;margin-top:24px;flex-wrap:wrap}.contact-links a{display:inline-flex;align-items:center;gap:8px;color:var(--gray-900);text-decoration:none;font-size:0.95rem;padding:10px 20px;border:1px solid var(--gray-300);border-radius:6px;transition:border-color 0.2s, color 0.2s}.contact-links a:hover{border-color:var(--red);color:var(--red)}.contact-links svg{width:18px;height:18px}/* --- Footer --- */footer{text-align:center;padding:24px;padding-bottom:48px;color:var(--gray-600);font-size:0.82rem;border-top:1px solid var(--gray-300);border-bottom:4px solid var(--red);margin-top:auto}/* --- Accessibility --- */.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.skip-link{position:absolute;top:-100px;left:16px;background:var(--red);color:#fff;padding:8px 16px;border-radius:4px;font-size:0.85rem;text-decoration:none;z-index:200;transition:top 0.2s}.skip-link:focus{top:8px}/* --- Theme toggle --- */.theme-toggle{position:fixed;top:16px;right:16px;background:var(--gray-100);border:1px solid var(--gray-300);border-radius:20px;padding:6px 12px;cursor:pointer;color:var(--gray-600);font-family:var(--font);font-size:0.8rem;transition:border-color 0.2s, background 0.3s, color 0.3s;z-index:100;display:flex;align-items:center;gap:6px}.theme-toggle:hover{border-color:var(--red);color:var(--black)}.theme-toggle svg{width:14px;height:14px}/* --- Responsive --- */@media (max-width:600px){.hero h1{font-size:1.6rem}.post-header h1{font-size:1.5rem}section{padding:48px 0}.contact-section{padding-bottom:48px}.contact-links{flex-direction:column;align-items:center}.blog-list a{flex-direction:column;gap:4px}}