        :root {
            --background: #f3f6f9;
            --card: #ffffff;
            --heading: #17233c;
            --text: #4d5b70;
            --accent: #6f263d;
            --accent-dark: #531b2d;
            --border: #dce3eb;
        }

        * {
            box-sizing: border-box;
        }

        body {
            margin: 0;
            min-height: 100vh;
            padding: 40px 20px;
            background: linear-gradient(135deg, #edf1f5 0%, #f9fafb 100%);
            color: var(--text);
            font-family: Arial, Helvetica, sans-serif;
            line-height: 1.6;
        }

        main {
            width: min(920px, 100%);
            margin: 0 auto;
            overflow: hidden;
            background: var(--card);
            border: 1px solid var(--border);
            border-radius: 22px;
            box-shadow: 0 20px 55px rgba(23, 35, 60, 0.13);
        }

        .team-header {
            padding: 48px 52px 36px;
            text-align: center;
            border-bottom: 1px solid var(--border);
        }

        .eyebrow {
            margin: 0 0 10px;
            color: var(--accent);
            font-size: 0.82rem;
            font-weight: 700;
            letter-spacing: 0.13em;
            text-transform: uppercase;
        }

        h1 {
            margin: 0;
            color: var(--heading);
            font-size: clamp(2.2rem, 5vw, 3.6rem);
            line-height: 1.05;
        }

        .semester {
            margin: 14px 0 4px;
            color: var(--accent);
            font-size: 1.1rem;
            font-weight: 700;
        }

        .section {
            margin: 0;
            color: var(--text);
            font-size: 0.95rem;
        }

        .members-section {
            padding: 36px 52px 48px;
        }

        .members-section h2 {
            margin: 0 0 20px;
            color: var(--accent);
            font-size: 0.82rem;
            font-weight: 700;
            letter-spacing: 0.13em;
            text-transform: uppercase;
        }

        .members {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 14px;
        }

        .member {
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            padding: 18px;
            background: var(--background);
            border: 1px solid var(--border);
            border-radius: 12px;
        }

        .member h3 {
            margin: 0 0 4px;
            color: var(--heading);
            font-size: 1rem;
        }

        .member p {
            margin: 0 0 16px;
            color: var(--text);
            font-size: 0.86rem;
        }

        .member-link {
            align-self: flex-start;
            display: inline-block;
            padding: 9px 14px;
            border-radius: 8px;
            background: var(--accent);
            color: #ffffff;
            font-size: 0.8rem;
            font-weight: 700;
            text-decoration: none;
            transition: background 0.2s ease, transform 0.2s ease;
        }

        .member-link:hover,
        .member-link:focus-visible {
            background: var(--accent-dark);
            transform: translateY(-1px);
        }

        .member-link:focus-visible {
            outline: 3px solid rgba(111, 38, 61, 0.28);
            outline-offset: 3px;
        }

        @media (max-width: 650px) {
            body {
                padding: 18px;
            }

            .team-header {
                padding: 36px 24px 28px;
            }

            .members-section {
                padding: 28px 24px 36px;
            }

            .members {
                grid-template-columns: 1fr;
            }
        }