:root {
            --color-bg: #FDFBF7; --color-text: #1A1A1A; --color-text-secondary: #6B6560;
            --color-accent: #C8553D; --color-border: #E8E2DA; --color-surface: #F5F0E8;
            --font-display: 'Newsreader', Georgia, serif; --font-body: 'DM Sans', -apple-system, sans-serif;
            --max-width: 680px; --space-sm: 1rem; --space-md: 2rem; --space-lg: 3.5rem; --space-xl: 6rem;
        }
        *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
        html { font-size: 17px; -webkit-font-smoothing: antialiased; }
        body { font-family: var(--font-body); color: var(--color-text); background: var(--color-bg); line-height: 1.65; min-height: 100vh; display: flex; flex-direction: column; }
        a { color: var(--color-text); text-decoration-color: var(--color-border); text-underline-offset: 3px; transition: text-decoration-color 0.2s; }
        a:hover { text-decoration-color: var(--color-accent); }
        .nav { display: flex; justify-content: space-between; align-items: baseline; padding: var(--space-md); max-width: 900px; width: 100%; margin: 0 auto; }
        .nav-name { font-family: var(--font-display); font-size: 1.15rem; text-decoration: none; color: var(--color-text); }
        .nav-links { display: flex; gap: var(--space-md); }
        .nav-links a { font-size: 0.9rem; color: var(--color-text-secondary); text-decoration: none; transition: color 0.2s; }
        .nav-links a:hover { color: var(--color-text); }
        .home { max-width: var(--max-width); width: 100%; margin: 0 auto; padding: var(--space-lg) var(--space-md) var(--space-md); flex: 1; }
        .hero { padding-bottom: var(--space-lg); border-bottom: 1px solid var(--color-border); margin-bottom: var(--space-lg); }
        .hero-intro { display: flex; align-items: flex-start; gap: 2rem; margin-bottom: var(--space-md); }
        .hero-photo { width: 140px; height: 140px; border-radius: 50%; object-fit: cover; object-position: center top; border: 2px solid var(--color-border); padding: 5px; background: var(--color-bg); flex-shrink: 0; }
        .hero-text { flex: 1; padding-top: 0.25rem; }
        .hero-label { font-size: 0.85rem; color: var(--color-accent); letter-spacing: 0.06em; text-transform: uppercase; font-weight: 500; margin-bottom: 0.5rem; }
        .hero h1 { font-family: var(--font-display); font-size: 3rem; font-weight: 400; line-height: 1.1; letter-spacing: -0.02em; }
        .hero-description { font-size: 1.1rem; line-height: 1.7; color: var(--color-text-secondary); max-width: 600px; margin-bottom: var(--space-md); }
        .hero-writing-at { display: flex; align-items: center; gap: 0.75rem; font-size: 0.85rem; color: var(--color-text-secondary); }
        .hero-writing-at span { flex-shrink: 0; }
        .hero-logo-link { display: inline-flex; align-items: center; text-decoration: none; transition: opacity 0.2s; }
        .hero-logo-link:hover { opacity: 0.5; }
        .hero-logo-link svg { height: 22px; width: auto; }
        .hero-logo-divider { width: 1px; height: 18px; background: var(--color-border); }
        .home-section { margin-bottom: var(--space-lg); }
        .home-section h2 { font-family: var(--font-display); font-size: 1.5rem; font-weight: 400; margin-bottom: var(--space-md); }
        .article-preview { display: flex; flex-direction: column; }
        .article-preview-link { display: flex; align-items: baseline; gap: var(--space-sm); padding: 0.85rem 0; border-bottom: 1px solid var(--color-border); text-decoration: none; transition: background 0.15s; }
        .article-preview-link:first-child { border-top: 1px solid var(--color-border); }
        .article-preview-link:hover .article-preview-title { text-decoration: underline; text-decoration-color: var(--color-accent); text-underline-offset: 3px; }
        .article-preview-pub { font-size: 0.8rem; font-weight: 500; flex-shrink: 0; min-width: 75px; color: var(--color-text-secondary); }
        .article-preview-title { font-size: 0.95rem; color: var(--color-text); flex: 1; }
        .article-preview-arrow { color: var(--color-text-secondary); flex-shrink: 0; opacity: 0; transition: opacity 0.15s; }
        .article-preview-link:hover .article-preview-arrow { opacity: 1; }
        .section-link { display: inline-block; margin-top: var(--space-sm); font-size: 0.9rem; color: var(--color-accent); text-decoration: none; font-weight: 500; }
        .section-link:hover { text-decoration: underline; text-decoration-color: var(--color-accent); }
        .social-links { display: flex; gap: var(--space-md); }
        .social-link { display: inline-flex; align-items: center; gap: 0.5rem; font-size: 0.95rem; color: var(--color-text); text-decoration: none; padding: 0.6rem 1rem; border: 1px solid var(--color-border); border-radius: 6px; transition: border-color 0.2s, background 0.2s; }
        .social-link:hover { border-color: var(--color-text-secondary); background: var(--color-surface); }
        .social-link svg { flex-shrink: 0; }
        .footer { max-width: 900px; width: 100%; margin: 0 auto; padding: var(--space-md); border-top: 1px solid var(--color-border); font-size: 0.82rem; color: var(--color-text-secondary); }
        .footer a { color: var(--color-text-secondary); }
        /* ── About page ─────────────────────────────────────────── */
        .about { max-width: var(--max-width); width: 100%; margin: 0 auto; padding: var(--space-lg) var(--space-md) var(--space-md); flex: 1; }
        .about-header { display: flex; align-items: flex-start; gap: 2rem; margin-bottom: var(--space-lg); }
        .about-photo { width: 200px; height: 200px; border-radius: 50%; object-fit: cover; object-position: center top; border: 2px solid var(--color-border); padding: 5px; background: var(--color-bg); flex-shrink: 0; }
        .about-header-text { flex: 1; padding-top: 0.25rem; }
        .about h1 { font-family: var(--font-display); font-size: 2.8rem; font-weight: 400; line-height: 1.1; letter-spacing: -0.02em; margin-bottom: 0.5rem; }
        .about-subtitle { font-size: 1.05rem; color: var(--color-accent); font-weight: 500; }
        .about-bio { font-size: 1.05rem; line-height: 1.75; margin-bottom: var(--space-md); }
        .about-education { font-size: 0.95rem; color: var(--color-text-secondary); margin-bottom: var(--space-lg); }
        .about-focus { font-size: 1rem; line-height: 1.7; color: var(--color-text-secondary); padding: var(--space-md); background: var(--color-surface); border-radius: 8px; margin-bottom: var(--space-lg); border-left: 3px solid var(--color-accent); }
        .about-links { border-top: 1px solid var(--color-border); padding-top: var(--space-md); }
        .about-links h2 { font-family: var(--font-display); font-size: 1.5rem; font-weight: 400; margin-bottom: var(--space-sm); }
        .about-link-list { list-style: none; display: flex; flex-direction: column; gap: 0.6rem; }
        .about-link-list li { display: flex; align-items: baseline; gap: 0.4rem; }
        .about-link-list li a { font-size: 0.95rem; text-decoration: none; color: var(--color-text); transition: text-decoration-color 0.2s; }
        .about-link-list li a:hover { text-decoration: underline; text-decoration-color: var(--color-accent); }
        .about-link-list li a::after { content: ' \2197'; font-size: 0.8rem; color: var(--color-text-secondary); }
        .coming-soon { font-size: 0.82rem; color: var(--color-text-secondary); }

        /* ── Writing page ────────────────────────────────────────── */
        .writing { max-width: var(--max-width); width: 100%; margin: 0 auto; padding: var(--space-lg) var(--space-md) var(--space-md); flex: 1; }
        .writing h1 { font-family: var(--font-display); font-size: 2.8rem; font-weight: 400; line-height: 1.1; letter-spacing: -0.02em; margin-bottom: var(--space-sm); }
        .featured-section { margin-bottom: var(--space-sm); }
        .featured-section h2 { font-family: var(--font-display); font-size: 1.3rem; font-weight: 400; color: var(--color-text-secondary); margin-bottom: var(--space-md); }
        .featured-article { padding: var(--space-md) 0; border-bottom: 1px solid var(--color-border); }
        .featured-article:first-of-type { border-top: 1px solid var(--color-border); }
        .featured-article-meta { display: flex; align-items: center; gap: var(--space-sm); margin-bottom: 0.4rem; font-size: 0.8rem; color: var(--color-text-secondary); }
        .featured-article-meta .pub { color: var(--color-accent); font-weight: 500; }
        .featured-article h3 { font-family: var(--font-display); font-size: 1.3rem; font-weight: 400; margin-bottom: 0.3rem; line-height: 1.35; }
        .featured-article h3 a { text-decoration: none; color: var(--color-text); }
        .featured-article h3 a:hover { text-decoration: underline; text-decoration-color: var(--color-accent); }
        .featured-article-desc { font-size: 0.9rem; color: var(--color-text-secondary); line-height: 1.6; }
        .linkedin-section { padding-top: var(--space-md); }
        .linkedin-section h2 { font-family: var(--font-display); font-size: 1.3rem; font-weight: 400; color: var(--color-text-secondary); margin-bottom: var(--space-md); }

        /* ── Responsive ──────────────────────────────────────────── */
        @media (max-width: 600px) {
            html { font-size: 16px; } .hero h1 { font-size: 2.2rem; }
            .hero-intro { flex-direction: column; gap: 1.25rem; } .hero-photo { width: 110px; height: 110px; }
            .article-preview-link { flex-direction: column; align-items: flex-start; gap: 0.2rem; } .article-preview-pub { min-width: auto; } .article-preview-arrow { display: none; }
            .social-links { flex-direction: column; gap: var(--space-sm); }
            .nav { padding: var(--space-sm); } .home { padding-left: var(--space-sm); padding-right: var(--space-sm); }
            .about h1 { font-size: 2rem; } .about-header { flex-direction: column; gap: 1.25rem; } .about-photo { width: 150px; height: 150px; } .about { padding-left: var(--space-sm); padding-right: var(--space-sm); }
            .writing h1 { font-size: 2rem; } .writing { padding-left: var(--space-sm); padding-right: var(--space-sm); }
        }
