/* === ai-narrator-voice.css === */

.narrator-hero-card {
            position: relative;
            overflow: hidden;
            background:
                radial-gradient(circle at 12% 12%, rgba(255, 140, 0, 0.13), transparent 16rem),
                linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(247, 250, 255, 0.9));
        }

        .narrator-hero-card::after {
            position: absolute;
            right: -5rem;
            bottom: -5rem;
            width: 14rem;
            height: 14rem;
            border-radius: 999px;
            background: rgba(0, 98, 255, 0.12);
            content: "";
            filter: blur(10px);
        }

        .narrator-preview {
            position: relative;
            z-index: 1;
            display: grid;
            gap: 1rem;
        }

        .narrator-preview__scene {
            display: grid;
            gap: 1rem;
            padding: 1rem;
            border: 1px solid rgba(26, 86, 116, 0.14);
            border-radius: var(--landing-radius-lg);
            background: rgba(255, 255, 255, 0.82);
        }

        .narrator-preview__scene strong {
            color: var(--landing-text);
            font-size: 1.15rem;
        }

        .narrator-preview__meter {
            display: flex;
            align-items: end;
            gap: 0.45rem;
            min-height: 8.5rem;
            padding: 1rem;
            border-radius: var(--landing-radius-md);
            background:
                linear-gradient(135deg, rgba(0, 98, 255, 0.08), rgba(255, 140, 0, 0.1)),
                #fff;
        }

        .narrator-preview__meter span {
            flex: 1;
            border-radius: 999px;
            background: linear-gradient(180deg, var(--landing-primary), var(--landing-brand));
        }

        .narrator-preview__meter span:nth-child(1) { height: 34%; }
        .narrator-preview__meter span:nth-child(2) { height: 62%; }
        .narrator-preview__meter span:nth-child(3) { height: 82%; }
        .narrator-preview__meter span:nth-child(4) { height: 54%; }
        .narrator-preview__meter span:nth-child(5) { height: 92%; }
        .narrator-preview__meter span:nth-child(6) { height: 48%; }
        .narrator-preview__meter span:nth-child(7) { height: 76%; }
        .narrator-preview__meter span:nth-child(8) { height: 38%; }

        .narrator-showcase-grid {
            display: grid;
            gap: clamp(1.25rem, 4vw, 2rem);
        }

        .narrator-card {
            overflow: hidden;
            padding: 0;
        }

        .narrator-card:hover {
            transform: translateY(-3px);
        }

        .narrator-card__media {
            position: relative;
            overflow: hidden;
            display: flex;
            justify-content: center;
            padding: 1.25rem;
            background: var(--landing-text);
        }

        .narrator-card__media img {
            display: block;
            width: min(100%, 300px);
            height: auto;
            aspect-ratio: 300 / 480;
            border-radius: var(--landing-radius-md);
            object-fit: contain;
            box-shadow: var(--landing-shadow-md);
        }

        .narrator-card__label {
            position: absolute;
            left: 1rem;
            bottom: 1rem;
            color: #fff;
            background: rgba(16, 24, 40, 0.72);
            backdrop-filter: blur(12px);
        }

        .narrator-card__body {
            display: grid;
            align-content: start;
            gap: 1rem;
            padding: clamp(1.25rem, 4vw, 1.75rem);
        }

        .narrator-card__body h3 {
            margin-bottom: 0;
            font-size: clamp(1.35rem, 3vw, 1.85rem);
        }

        .narrator-card__controls {
            display: grid;
            align-content: start;
            gap: 0.8rem;
            padding-top: 0.35rem;
        }

        .narrator-card__controls audio {
            display: block;
            width: 100%;
        }

        /* Firefox sizes <audio> from the 300x150 replaced-element box, so
           width: 100% in a grid leaves a tall empty track above the controls. */
        @supports (-moz-appearance: none) {
            .narrator-card__controls audio {
                height: 40px;
            }
        }

        .use-case-grid {
            display: grid;
            gap: 1rem;
        }

        .seo-link-row {
            display: flex;
            flex-wrap: wrap;
            gap: 0.65rem;
            margin-top: 1.5rem;
        }

        .seo-link-row a {
            color: var(--landing-brand);
            font-weight: 720;
            text-decoration: none;
        }

        .seo-link-row a:hover {
            color: var(--landing-primary);
        }

        @media (min-width: 720px) {
            .narrator-showcase-grid,
            .use-case-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }
        }

        @media (min-width: 960px) {
            .use-case-grid {
                grid-template-columns: repeat(3, minmax(0, 1fr));
            }
        }
