        /* ── Reset & Base ── */
        *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

        :root {
            --color-base:     #FAFAFA;
            --color-surface:  #FFFFFF;
            --color-contrast: #111827;
            --color-primary:  #374151;
            --color-secondary:#6B7280;
            --color-muted:    #9CA3AF;
            --color-subtle:   #E5E7EB;
            --color-accent:   #6366F1;

            --spacing-sm:  1rem;
            --spacing-md:  2rem;
            --spacing-lg:  3.5rem;
            --spacing-xl:  5rem;

            --max-width:   960px;
            --max-width-text: 620px;
            --radius:      8px;
        }

        body {
            font-family: 'Inter', system-ui, sans-serif;
            font-size: 1rem;
            line-height: 1.6;
            background-color: var(--color-base);
            color: var(--color-contrast);
        }

        a { color: var(--color-primary); text-decoration: underline; }
        a:hover { color: var(--color-contrast); text-decoration: none; }

        img { max-width: 100%; height: auto; display: block; }

        /* ── Layout helpers ── */
        .container {
            max-width: var(--max-width);
            margin-inline: auto;
            padding-inline: var(--spacing-md);
        }

        .container--narrow {
            max-width: var(--max-width-text);
            margin-inline: auto;
            padding-inline: var(--spacing-md);
        }

        /* ── Header ── */
        .site-header {
            background: var(--color-surface);
            border-bottom: 1px solid var(--color-subtle);
            padding-block: 0.875rem;
        }

        .site-header__inner {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 1rem;
        }

        .site-title {
            font-size: 1.125rem;
            font-weight: 600;
            letter-spacing: -0.02em;
            text-decoration: none;
            color: var(--color-contrast);
        }

        .site-header__right {
            display: flex;
            align-items: center;
            gap: 1.5rem;
        }

        .site-nav ul {
            list-style: none;
            display: flex;
            gap: 1.25rem;
        }

        .site-nav a {
            font-size: 0.9rem;
            font-weight: 500;
            color: var(--color-secondary);
            text-decoration: none;
        }

        .site-nav a:hover { color: var(--color-contrast); }

        /* Social icons */
        .social-links {
            list-style: none;
            display: flex;
            gap: 0.5rem;
        }

        .social-links a {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 32px;
            height: 32px;
            border: 1px solid currentColor;
            border-radius: var(--radius);
            color: var(--color-secondary);
            text-decoration: none;
            transition: color 0.15s;
        }

        .social-links a:hover { color: var(--color-contrast); }
        .social-links svg { width: 16px; height: 16px; }
        .sr-only { position: absolute; width: 1px; height: 1px; clip-path: inset(50%); overflow: hidden; }

        /* ── Hero ── */
        .hero {
            background: var(--color-surface);
            padding-block: var(--spacing-lg);
        }

        .hero__inner {
            display: flex;
            align-items: center;
            gap: clamp(1.5rem, 4vw, 3rem);
            flex-wrap: wrap;
        }

        .hero__photo {
            flex: 0 0 220px;
        }

        .hero__photo img {
            border-radius: 16px;
            width: 200px;
            height: 220px;
            object-fit: cover;
            margin-inline: auto;
        }

        .hero__text {
            flex: 1;
            min-width: 260px;
        }

        .hero__name {
            font-size: clamp(1.5rem, 3vw, 2.25rem);
            font-weight: 700;
            letter-spacing: -0.02em;
            line-height: 1.2;
            margin-bottom: 0.4rem;
        }

        .hero__role {
            font-size: 1rem;
            font-weight: 500;
            color: var(--color-muted);
            margin-bottom: 1.25rem;
        }

        .hero__bio {
            font-size: 1rem;
            color: var(--color-secondary);
            margin-bottom: 1.75rem;
            line-height: 1.7;
        }

        .btn-group {
            display: flex;
            gap: 0.75rem;
            flex-wrap: wrap;
        }

        .btn {
            display: inline-block;
            padding: 0.65rem 1.4rem;
            font-size: 0.9rem;
            font-weight: 500;
            border-radius: 6px;
            text-decoration: none;
            transition: background 0.15s, color 0.15s;
            cursor: pointer;
            border: none;
        }

        .btn--primary {
            background: var(--color-primary);
            color: var(--color-surface);
        }

        .btn--primary:hover { background: var(--color-contrast); color: var(--color-surface); }

        .btn--outline {
            background: transparent;
            color: var(--color-contrast);
            border: 2px solid currentColor;
        }

        .btn--outline:hover { background: var(--color-contrast); color: var(--color-surface); }

        /* ── Articles ── */
        .articles {
            padding-block: var(--spacing-xl);
        }

        .articles__heading {
            font-size: clamp(1.5rem, 3vw, 2rem);
            font-weight: 600;
            text-align: center;
            margin-bottom: 0.5rem;
        }

        .articles__empty {
            text-align: center;
            color: var(--color-muted);
            margin-top: var(--spacing-md);
        }

        .articles__footer {
            text-align: center;
            margin-top: var(--spacing-md);
        }

        /* ── Newsletter ── */
        .newsletter {
            background: #111827;
            color: #F9FAFB;
            padding-block: var(--spacing-lg);
            text-align: center;
        }

        .newsletter__inner {
            max-width: 560px;
            margin-inline: auto;
            padding-inline: var(--spacing-md);
        }

        .newsletter__heading {
            font-size: 1.4rem;
            font-weight: 600;
            margin-bottom: 0.5rem;
        }

        .newsletter__desc {
            font-size: 1rem;
            opacity: 0.85;
            margin-bottom: 1.5rem;
            line-height: 1.6;
        }

        .newsletter__form {
            display: flex;
            gap: 0.75rem;
            justify-content: center;
            flex-wrap: wrap;
        }

        .newsletter__input {
            flex: 1;
            min-width: 200px;
            max-width: 280px;
            padding: 0.8rem 1.1rem;
            font-size: 0.95rem;
            border-radius: var(--radius);
            border: 1px solid rgba(255,255,255,0.2);
            background: rgba(255,255,255,0.1);
            color: #F9FAFB;
            outline: none;
            font-family: inherit;
        }

        .newsletter__input::placeholder { color: rgba(255,255,255,0.5); }
        .newsletter__input:focus { border-color: rgba(255,255,255,0.5); }

        .newsletter__btn {
            padding: 0.8rem 1.75rem;
            font-size: 0.95rem;
            font-weight: 600;
            border-radius: var(--radius);
            border: none;
            background: #6366F1;
            color: white;
            cursor: pointer;
            font-family: inherit;
            transition: background 0.15s;
            white-space: nowrap;
        }

        .newsletter__btn:hover { background: #4F46E5; }

        .newsletter__note {
            font-size: 0.8rem;
            opacity: 0.6;
            margin-top: 1rem;
        }

        /* ── Footer ── */
        .site-footer {
            background: var(--color-base);
            border-top: 1px solid var(--color-subtle);
            padding-block: var(--spacing-md);
        }

        .site-footer__inner {
            display: flex;
            align-items: center;
            justify-content: space-between;
            flex-wrap: wrap;
            gap: 1rem;
        }

        .site-footer__left {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            font-size: 0.875rem;
            font-weight: 300;
            color: var(--color-secondary);
        }

        .site-footer__right {
            display: flex;
            align-items: center;
            gap: 1.5rem;
        }

        .footer-nav ul {
            list-style: none;
            display: flex;
            gap: 1rem;
        }

        .footer-nav a {
            font-size: 0.875rem;
            font-weight: 300;
            color: var(--color-secondary);
            text-decoration: none;
        }

        .footer-nav a:hover { color: var(--color-contrast); }

        /* ── Responsive ── */
        @media (max-width: 600px) {
            .site-nav { display: none; }
            .hero__photo { flex: 0 0 100%; }
            .hero__photo img { margin-inline: auto; }
            .site-footer__inner { flex-direction: column; align-items: flex-start; }
        }