/* --- Hero --- */
        .hero {
            padding-top: clamp(8rem, 12vw, 12rem);
            padding-bottom: 6rem;
            position: relative;
        }

        .hero__label {
            grid-column: 1 / -1;
            font-family: var(--font-heading);
            font-weight: 800;
            font-size: 1.25rem;
            margin-bottom: 2rem;
            display: block;
            color: var(--gray-text);
            text-transform: uppercase;
            letter-spacing: 0.1em;
        }

        .hero__title {
            grid-column: 1 / 12;
            font-family: var(--font-heading);
            font-weight: 800;
            font-size: clamp(4rem, 10vw, 9rem);
            line-height: 0.9;
            letter-spacing: -0.03em;
            color: var(--black);
            margin-bottom: 3rem;
            text-transform: uppercase;
        }

        .hero__title span {
            display: block;
            color: var(--accent);
        }

        .hero__subtitle {
            grid-column: 1 / 8;
            font-family: var(--font-body);
            font-weight: 500;
            font-size: clamp(1.25rem, 2vw, 1.5rem);
            color: var(--black);
            line-height: 1.5;
            border-left: 4px solid var(--accent);
            padding-left: 2rem;
        }

        /* --- Feature Cards --- */
        .features {
            padding-top: 4rem;
            padding-bottom: 4rem;
            border-top: 2px solid var(--black);
            border-bottom: 2px solid var(--black);
        }

        .feature-card {
            grid-column: span 4;
            padding-right: 2rem;
        }

        .feature-card__title {
            font-family: var(--font-heading);
            font-weight: 800;
            font-size: 1.5rem;
            margin-bottom: 1rem;
            color: var(--black);
            text-transform: uppercase;
            letter-spacing: -0.02em;
            overflow-wrap: break-word;
            word-break: break-word;
            hyphens: auto;
        }

        .feature-card__text {
            font-family: var(--font-body);
            font-weight: 400;
            font-size: 1.0625rem;
            color: var(--gray-text);
            line-height: 1.6;
        }

        .feature-card__link {
            display: inline-block;
            margin-top: 0.75rem;
            font-family: var(--font-body);
            font-size: 0.875rem;
            color: var(--gray-text);
            text-decoration: none;
            border-bottom: 1px solid currentColor;
            opacity: 0.6;
            transition: opacity 0.2s;
        }

        .feature-card__link:hover {
            opacity: 1;
        }

        /* --- Testimonial --- */
        .testimonial {
            padding: 8rem 0;
            border-bottom: 2px solid var(--black);
            background: var(--gray-light);
        }

        .testimonial__inner {
            grid-column: 2 / 12;
            display: flex;
            gap: 4rem;
            align-items: center;
        }

        .testimonial__portrait {
            flex-shrink: 0;
            width: 120px;
            height: 120px;
            border-radius: 50%;
            object-fit: cover;
            object-position: top center;
            filter: saturate(0.85);
        }

        .testimonial__body {
            flex: 1;
        }

        .testimonial__text {
            font-family: var(--font-heading);
            font-size: clamp(1.25rem, 2.5vw, 2rem);
            font-weight: 500;
            line-height: 1.35;
            color: var(--black);
        }

        .testimonial__author {
            display: block;
            font-family: var(--font-body);
            font-size: 0.9375rem;
            font-weight: 700;
            margin-top: 2rem;
            color: var(--accent);
            text-transform: uppercase;
            letter-spacing: 0.1em;
        }

        @media (max-width: 700px) {
            .testimonial__inner {
                flex-direction: column;
                gap: 2rem;
                text-align: center;
            }
        }

        /* --- Content Sections --- */
        .content-section {
            padding-top: 8rem;
            padding-bottom: 8rem;
            position: relative;
        }

        .content-section--odd {
            background: var(--white);
        }

        .content-section--even {
            background: var(--gray-light);
        }

        /* Full-width image */
        .image-full {
            grid-column: 1 / -1;
            margin: 0 0 4rem 0;
        }

        .image-full img {
            width: 100%;
            height: auto;
            display: block;
            filter: saturate(0.8) contrast(1.1);
        }

        /* Left content column */
        .s-content-left {
            grid-column: 1 / 8;
            display: flex;
            flex-direction: column;
        }

        .s-content-left--wide {
            grid-column: 1 / 10;
        }

        /* Heading with left accent bar */
        .content-section__heading {
            font-family: var(--font-heading);
            font-weight: 800;
            font-size: clamp(2.5rem, 5vw, 4rem);
            line-height: 1;
            letter-spacing: -0.04em;
            color: var(--black);
            margin-bottom: 2.5rem;
            text-transform: uppercase;
            text-align: left;
            border-left: 4px solid var(--accent);
            padding-left: 1.5rem;
        }

        /* Merged body paragraph */
        .content-section__text {
            font-family: var(--font-body);
            font-weight: 400;
            font-size: 1.0625rem;
            color: var(--black);
            line-height: 1.7;
            margin-bottom: 2rem;
        }

        /* CTA link with sliding underline – page-specific margin-top */
        .content-section .cta-link {
            margin-top: auto;
            padding-top: 2rem;
        }

        /* --- Pull-Quote Sidebar (right column) --- */
        .pull-quote {
            grid-column: 9 / 13;
            display: flex;
            align-items: center;
            padding: 2rem 0;
        }

        .pull-quote__inner {
            border-top: 4px solid var(--accent);
            padding-top: 2rem;
        }

        .pull-quote__text {
            font-family: var(--font-heading);
            font-weight: 700;
            font-size: clamp(2rem, 4vw, 3rem);
            color: var(--accent);
            line-height: 1.15;
            letter-spacing: -0.02em;
            text-transform: uppercase;
        }

        /* Decorative element for sections without pull-quote */
        .pull-quote--decorative {
            grid-column: 11 / 13;
            display: flex;
            align-items: flex-start;
            padding-top: 1rem;
        }

        .pull-quote__deco-bar {
            width: 100%;
            height: 4px;
            background: var(--accent);
            opacity: 0.3;
        }

        /* --- Responsive --- */
        @media (max-width: 1024px) {
            .feature-card {
                grid-column: span 12;
                padding-right: 0;
                margin-bottom: 2rem;
            }

            .s-content-left,
            .s-content-left--wide {
                grid-column: 1 / -1 !important;
            }

            .pull-quote,
            .pull-quote--decorative {
                grid-column: 1 / -1 !important;
                padding-top: 0;
            }

            .pull-quote__text {
                font-size: clamp(1.5rem, 3vw, 2rem);
            }
        }

        @media (max-width: 768px) {
            .hero { padding-top: clamp(5rem, 10vw, 8rem); padding-bottom: 3rem; }
            .hero__label { font-size: 1rem; margin-bottom: 1.25rem; }
            .hero__title {
                grid-column: 1 / -1;
                font-size: clamp(2.5rem, 8vw, 4rem);
                word-break: break-word;
                overflow-wrap: break-word;
                hyphens: auto;
            }

            .hero__subtitle {
                grid-column: 1 / -1;
                padding-left: 1.25rem;
            }

            .testimonial__inner {
                grid-column: 1 / -1;
            }

            .content-section { padding-top: 4rem; padding-bottom: 4rem; }
            .content-section__heading { font-size: clamp(1.75rem, 5vw, 2.5rem); padding-left: 1rem; }
        }
