.artifact-body--ai-chat-lp-codex {
    --artifact-header-accent: #1e5b73;
    --artifact-header-muted: #5b7487;
    --artifact-header-border: rgba(19, 34, 56, 0.1);
    --artifact-header-surface: rgba(255, 255, 255, 0.82);
    margin: 0;
    color: #132238;
    background:
        radial-gradient(circle at top left, rgba(126, 215, 197, 0.28), transparent 28%),
        radial-gradient(circle at right 10%, rgba(255, 225, 177, 0.36), transparent 22%),
        linear-gradient(180deg, #f7fbff 0%, #eef5fa 100%);
    font-family: "Hiragino Sans", "Yu Gothic", sans-serif;
}

.chat-lp-frame {
    min-height: 100vh;
}

.chat-lp-shell {
    width: min(1120px, calc(100% - 32px));
    margin: 0 auto;
}

.chat-lp-footer,
.chat-lp-hero__grid,
.chat-demo,
.usage-grid,
.faq-grid,
.contact-box {
    display: grid;
    gap: 24px;
}

.chat-lp-inline-link,
.chat-lp-footer a {
    color: #1e5b73;
    text-decoration: none;
}

.chat-lp-kicker,
.chat-lp-highlight__label,
.feature-card__eyebrow {
    margin: 0 0 8px;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.chat-lp-branding h1,
.chat-lp-hero h2,
.chat-demo__intro h2,
.section-heading-alt h2,
.usage-card h2,
.faq-grid h2,
.contact-box h2,
.feature-card h3,
.faq-item h3,
.chat-lp-highlight h3 {
    margin: 0;
    font-family: Georgia, "Yu Mincho", serif;
}

.chat-lp-hero,
.chat-lp-section {
    padding: 34px 0;
}

.chat-lp-hero__grid,
.usage-grid {
    grid-template-columns: minmax(0, 1.4fr) minmax(300px, 0.9fr);
    align-items: start;
}

.chat-lp-copy,
.chat-lp-highlight,
.chat-demo__panel,
.feature-card,
.usage-card,
.faq-item,
.contact-box {
    border: 1px solid rgba(19, 34, 56, 0.1);
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.8);
    box-shadow: 0 20px 60px rgba(27, 57, 79, 0.08);
}

.chat-lp-copy,
.chat-lp-highlight,
.usage-card,
.contact-box {
    padding: 30px;
}

.chat-lp-lead,
.chat-lp-highlight p,
.chat-demo__intro p,
.feature-card p,
.usage-card p,
.faq-item p,
.contact-box p,
.chat-lp-footer p {
    margin: 0;
    line-height: 1.85;
}

.chat-lp-actions,
.contact-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 24px;
}

.chat-lp-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 18px;
    border-radius: 999px;
    text-decoration: none;
    font-weight: 700;
}

.chat-lp-button--primary {
    background: linear-gradient(135deg, #1e5b73 0%, #1b88a2 100%);
    color: #f7fdff;
}

.chat-lp-button--ghost {
    border: 1px solid rgba(30, 91, 115, 0.22);
    color: #1e5b73;
}

.chat-lp-points {
    margin: 24px 0 0;
    padding-left: 20px;
    line-height: 1.8;
}

.chat-lp-highlight {
    background: linear-gradient(180deg, rgba(18, 81, 104, 0.94) 0%, rgba(17, 56, 78, 0.96) 100%);
    color: #eefbff;
}

.chat-demo {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    align-items: start;
}

.chat-demo__panel {
    gap: 16px;
    padding: 24px;
    background: rgba(255, 255, 255, 0.92);
}

.chat-bubble {
    display: grid;
    gap: 6px;
}

.chat-bubble__name {
    margin: 0;
    font-size: 0.85rem;
    font-weight: 700;
    color: #537085;
}

.chat-bubble__body {
    max-width: 90%;
    padding: 16px 18px;
    border-radius: 22px;
}

.chat-bubble__body p {
    margin: 0;
    line-height: 1.75;
}

.chat-bubble--user {
    justify-items: end;
}

.chat-bubble--user .chat-bubble__body {
    background: #dff7f3;
    color: #0d4f47;
    border-bottom-right-radius: 8px;
}

.chat-bubble--assistant .chat-bubble__body {
    background: #f1f7fb;
    color: #1b3446;
    border-bottom-left-radius: 8px;
}

.chat-lp-section--muted {
    background: linear-gradient(180deg, rgba(217, 236, 244, 0.55) 0%, rgba(255, 255, 255, 0) 100%);
}

.feature-grid,
.faq-list {
    display: grid;
    gap: 20px;
}

.feature-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.feature-card {
    padding: 24px;
}

.usage-card--accent,
.chat-lp-section--cta .contact-box {
    background:
        radial-gradient(circle at top right, rgba(141, 223, 209, 0.5), transparent 30%),
        rgba(255, 255, 255, 0.9);
}

.chat-lp-section--dark {
    color: #eefbff;
    background: linear-gradient(180deg, #153b50 0%, #0e2735 100%);
}

.chat-lp-section--dark .faq-item,
.chat-lp-section--dark .faq-grid > div:first-child {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(238, 251, 255, 0.12);
}

.faq-grid {
    grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.25fr);
}

.faq-item {
    padding: 22px;
}

.chat-lp-footer {
    padding: 28px 0 48px;
    color: #507086;
}

@media (max-width: 960px) {
    .chat-lp-hero__grid,
    .chat-demo,
    .usage-grid,
    .faq-grid,
    .feature-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .chat-lp-shell {
        width: min(100% - 20px, 1120px);
    }

    .chat-lp-copy,
    .chat-lp-highlight,
    .chat-demo__panel,
    .feature-card,
    .usage-card,
    .faq-item,
    .contact-box {
        padding: 22px;
        border-radius: 22px;
    }

    .chat-lp-actions,
    .contact-actions {
        flex-direction: column;
    }

    .chat-lp-button {
        width: 100%;
    }

    .chat-bubble__body {
        max-width: 100%;
    }
}
