:root {
            --red: #E3000F;
            --dark: #1d1d1b;
            --light: #f6f6f6;
            --white: #ffffff;
        }

        * {
            box-sizing: border-box;
        }

        body {
            margin: 0;
            font-family: Arial, Helvetica, sans-serif;
            color: var(--dark);
            line-height: 1.6;
        }

        header,
        .hero {
            background: linear-gradient(135deg, var(--red), #a8000b);
            color: white;
        }

        header {
            padding: 24px 7%;
        }

        nav {
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 20px;
        }

        .logo {
            background: white;
            color: var(--red);
            font-size: 36px;
            font-weight: 900;
            letter-spacing: -2px;
            padding: 6px 13px;
            line-height: 1;
            text-decoration: none;
            display: inline-block;
        }

        nav a {
            color: white;
            text-decoration: none;
            margin-left: 18px;
            font-weight: bold;
        }

        .wrap {
            max-width: 1180px;
            margin: auto;
        }

        .hero {
            padding: 70px 7%;
        }

        .hero-grid {
            display: grid;
            grid-template-columns: 1.2fr .8fr;
            gap: 40px;
            align-items: center;
        }

        .kicker {
            font-size: 20px;
            font-weight: bold;
            margin-bottom: 10px;
        }

        h1 {
            font-size: clamp(42px, 6vw, 72px);
            margin: 0 0 20px;
            line-height: 1.05;
        }

        h2 {
            color: var(--red);
            font-size: 40px;
            margin-top: 0;
        }

        .claim {
            display: inline-block;
            background: white;
            color: var(--red);
            padding: 10px 18px;
            font-weight: 900;
            font-size: 24px;
            margin-bottom: 25px;
        }

        .hero p {
            font-size: 22px;
        }

        .candidate-photo {
            background: white;
            padding: 10px;
            box-shadow: 0 10px 30px rgba(0, 0, 0, .25);
        }

        .candidate-photo img {
            width: 100%;
            display: block;
        }

        .btn {
            display: inline-block;
            margin-right: 10px;
            margin-top: 10px;
            padding: 14px 20px;
            text-decoration: none;
            font-weight: bold;
            border: 2px solid white;
        }

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

        .btn.secondary {
            color: white;
        }

        section {
            padding: 70px 7%;
        }

        .light {
            background: var(--light);
        }

.cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.candidate-cards {
    grid-template-columns: repeat(2, 1fr);
}

        .card {
            background: white;
            border-top: 8px solid var(--red);
            padding: 24px;
            box-shadow: 0 8px 22px rgba(0, 0, 0, .08);
        }

        .card h3 {
            margin-top: 0;
            font-size: 24px;
        }

        .dialog {
            display: grid;
            grid-template-columns: 1.2fr .8fr;
            gap: 40px;
            background: white;
            border-top: 8px solid var(--red);
            padding: 50px;
            box-shadow: 0 10px 30px rgba(0, 0, 0, .08);
        }

        .dialog ul {
            list-style: none;
            padding: 0;
        }

        .dialog li {
            margin-bottom: 18px;
            padding-left: 28px;
            position: relative;
        }

        .dialog li::before {
            content: "✓";
            color: var(--red);
            position: absolute;
            left: 0;
            font-weight: bold;
        }

        .dialog-box {
            background: var(--light);
            border-left: 5px solid var(--red);
            padding: 35px;
            display: flex;
            justify-content: center;
            flex-direction: column;
        }

        .quote {
            color: var(--red);
            font-size: 30px;
            font-weight: bold;
            line-height: 1.3;
        }

        .final {
            background: #1d1d1b;
            color: white;
            text-align: center;
        }

        .final h2 {
            color: white;
        }

        footer {
            background: #111;
            color: white;
            padding: 30px 7%;
        }

        .foot {
            display: flex;
            justify-content: space-between;
            flex-wrap: wrap;
            gap: 20px;
        }

        .foot a {
            color: white;
            text-decoration: none;
        }

        @media(max-width:900px) {

            .hero-grid,
            .cards,
            .dialog {
                grid-template-columns: 1fr;
            }

            nav div:last-child {
                display: none;
            }

        }