/* 13-dark-polish.css - Dark/light theme correction and polish passes
 * Part of the Pulsar67 marketing stylesheet bundle.
 * Load order is defined in templates/layouts/_marketing_styles.html
 */

/* ---------- Dark theme correction pass (tokens in static/css/tokens.css) ---------- */
html[data-p67-theme="dark"] body {
    background:
        radial-gradient(circle at 18% -12%, rgba(139, 92, 246, .22), transparent 34rem),
        radial-gradient(circle at 88% 8%, rgba(55, 212, 165, .12), transparent 28rem),
        var(--p67-bg);
    color: var(--p67-text);
}

html[data-p67-theme] .p67-navbar {
    left: auto;
    position: sticky;
    right: auto;
    top: 0;
    width: 100%;
    z-index: 1040;
}

html[data-p67-theme] .p67-announcement {
    position: relative;
    z-index: 1045;
}

html[data-p67-theme="dark"] .p67-section,
html[data-p67-theme="dark"] .p67-home-section,
html[data-p67-theme="dark"] .p67-public-rendered-page,
html[data-p67-theme="dark"] .p67-cms-body .p67-section {
    background: var(--p67-bg);
    color: var(--p67-text);
}

html[data-p67-theme="dark"] .p67-section-alt,
html[data-p67-theme="dark"] .p67-cms-body .p67-section-alt,
html[data-p67-theme="dark"] .p67-footer,
html[data-p67-theme="dark"] .p67-cta-section,
html[data-p67-theme="dark"] .p67-doc-article-wrap,
html[data-p67-theme="dark"] .p67-builder-page {
    background: var(--p67-bg-2);
    color: var(--p67-text);
}

html[data-p67-theme="dark"] .p67-section-title,
html[data-p67-theme="dark"] .p67-section h1,
html[data-p67-theme="dark"] .p67-section h2,
html[data-p67-theme="dark"] .p67-section h3,
html[data-p67-theme="dark"] .p67-section h4,
html[data-p67-theme="dark"] .p67-section h5,
html[data-p67-theme="dark"] .p67-section h6 {
    color: var(--p67-text);
}

html[data-p67-theme="dark"] .p67-section-sub,
html[data-p67-theme="dark"] .p67-section p,
html[data-p67-theme="dark"] .p67-card p,
html[data-p67-theme="dark"] .p67-feature p,
html[data-p67-theme="dark"] .p67-plan p {
    color: var(--p67-text-muted);
}

html[data-p67-theme="dark"] .p67-profile-dropdown {
    --bs-dropdown-bg: #0f0d18;
    --bs-dropdown-color: #f8fafc;
    --bs-dropdown-link-color: #f8fafc;
    --bs-dropdown-link-hover-bg: rgba(139, 92, 246, .18);
    --bs-dropdown-link-hover-color: #ffffff;
    background: rgba(15, 13, 24, .98) !important;
    border-color: rgba(255, 255, 255, .16) !important;
    color: #f8fafc !important;
}

html[data-p67-theme="dark"] .p67-profile-dropdown .p67-profile-email,
html[data-p67-theme="dark"] .p67-profile-dropdown .p67-profile-link,
html[data-p67-theme="dark"] .p67-profile-dropdown .p67-theme-toggle {
    color: #f8fafc !important;
}

html[data-p67-theme="dark"] .p67-profile-dropdown .p67-profile-role,
html[data-p67-theme="dark"] .p67-profile-dropdown .p67-profile-link i,
html[data-p67-theme="dark"] .p67-profile-dropdown .p67-theme-toggle i {
    color: #b8b4c7 !important;
}

html[data-p67-theme="dark"] .p67-profile-dropdown .p67-profile-link:hover,
html[data-p67-theme="dark"] .p67-profile-dropdown .p67-profile-link:focus,
html[data-p67-theme="dark"] .p67-profile-dropdown .p67-theme-toggle:hover,
html[data-p67-theme="dark"] .p67-profile-dropdown .p67-theme-toggle:focus {
    background: rgba(139, 92, 246, .18) !important;
    color: #ffffff !important;
}

html[data-p67-theme="dark"] .p67-profile-signout-compact {
    color: #fca5a5 !important;
}

html[data-p67-theme="dark"] .p67-profile-signout-compact i {
    color: #fca5a5 !important;
}

html[data-p67-theme="dark"] .p67-profile-divider,
html[data-p67-theme="dark"] .p67-menu-divider {
    border-color: rgba(255, 255, 255, .13) !important;
}
/* ---------- Dark theme visual polish pass ---------- */
html[data-p67-theme="dark"] .p67-section,
html[data-p67-theme="dark"] .p67-home-section,
html[data-p67-theme="dark"] .p67-cms-body .p67-section {
    background: var(--p67-bg) !important;
}

html[data-p67-theme="dark"] .p67-section-alt,
html[data-p67-theme="dark"] .p67-cms-body .p67-section-alt {
    background: var(--p67-bg-2) !important;
}

html[data-p67-theme="dark"] .p67-feature,
html[data-p67-theme="dark"] .p67-feature-row,
html[data-p67-theme="dark"] .p67-feature-guide,
html[data-p67-theme="dark"] .p67-feature-hero-link,
html[data-p67-theme="dark"] .p67-plan-fit-card,
html[data-p67-theme="dark"] .p67-workload-row,
html[data-p67-theme="dark"] .p67-confidence-card,
html[data-p67-theme="dark"] .p67-location,
html[data-p67-theme="dark"] .p67-stat-card,
html[data-p67-theme="dark"] .p67-blog-card,
html[data-p67-theme="dark"] .p67-tool-card,
html[data-p67-theme="dark"] .card.p67-feature {
    --bs-card-bg: rgba(255, 255, 255, .035);
    --bs-card-color: var(--p67-text);
    background: rgba(255, 255, 255, .035) !important;
    border-color: rgba(255, 255, 255, .13) !important;
    box-shadow: 0 14px 34px rgba(0, 0, 0, .16) !important;
    color: var(--p67-text) !important;
}

html[data-p67-theme="dark"] .p67-feature:hover,
html[data-p67-theme="dark"] .p67-feature-row:hover,
html[data-p67-theme="dark"] .card.p67-feature:hover {
    background: rgba(255, 255, 255, .055) !important;
    border-color: rgba(196, 181, 253, .36) !important;
    box-shadow: 0 18px 44px rgba(0, 0, 0, .22) !important;
}

html[data-p67-theme="dark"] .p67-feature h3,
html[data-p67-theme="dark"] .p67-feature-row h3,
html[data-p67-theme="dark"] .p67-feature-guide h2,
html[data-p67-theme="dark"] .p67-plan-fit-card h3,
html[data-p67-theme="dark"] .card.p67-feature h3 {
    color: var(--p67-text) !important;
}

html[data-p67-theme="dark"] .p67-feature p,
html[data-p67-theme="dark"] .p67-feature-row p,
html[data-p67-theme="dark"] .p67-feature-guide p,
html[data-p67-theme="dark"] .p67-plan-fit-card p,
html[data-p67-theme="dark"] .card.p67-feature p {
    color: var(--p67-text-muted) !important;
}

html[data-p67-theme="dark"] .p67-feature-icon,
html[data-p67-theme="dark"] .p67-feature-row-icon,
html[data-p67-theme="dark"] .p67-confidence-icon,
html[data-p67-theme="dark"] .p67-workload-icon,
html[data-p67-theme="dark"] .p67-proof-icon {
    background: rgba(167, 139, 250, .14) !important;
    border-color: rgba(196, 181, 253, .22) !important;
    color: var(--p67-primary-dark) !important;
}

html[data-p67-theme="dark"] .p67-pricing-handoff {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}

html[data-p67-theme="dark"] .p67-pricing-summary div {
    background: transparent !important;
    border-color: rgba(255, 255, 255, .13) !important;
}

html[data-p67-theme="dark"] .p67-profile-toggle .p67-profile-avatar,
html[data-p67-theme="dark"] .p67-profile-toggle .p67-profile-avatar-blank {
    background: rgba(167, 139, 250, .12) !important;
    border: 1px solid rgba(196, 181, 253, .42) !important;
    box-shadow: none !important;
}

html[data-p67-theme="dark"] .p67-profile-toggle .p67-profile-avatar-blank {
    align-items: center;
    display: inline-flex;
    justify-content: center;
}

html[data-p67-theme="dark"] .p67-profile-toggle .p67-profile-avatar-blank i {
    color: var(--p67-primary-dark) !important;
    font-size: 1.25rem !important;
}

html[data-p67-theme="dark"] .p67-nav-profile .p67-profile-toggle:hover,
html[data-p67-theme="dark"] .p67-nav-profile .p67-profile-toggle:focus,
html[data-p67-theme="dark"] .p67-nav-profile .p67-profile-toggle.show,
html[data-p67-theme="dark"] .p67-nav-profile .p67-profile-toggle[aria-expanded="true"] {
    background: rgba(167, 139, 250, .1) !important;
}

/* Compact marketing navbar profile avatar */
.p67-nav-profile .p67-profile-toggle {
    height: 34px !important;
    min-height: 0 !important;
    padding: 3px !important;
    width: 34px !important;
}

.p67-profile-toggle .p67-profile-avatar,
.p67-profile-toggle .p67-profile-avatar-blank,
html[data-p67-theme="dark"] .p67-profile-toggle .p67-profile-avatar,
html[data-p67-theme="dark"] .p67-profile-toggle .p67-profile-avatar-blank {
    height: 28px !important;
    max-height: 28px !important;
    width: 28px !important;
}

.p67-profile-toggle .p67-profile-avatar-blank i,
html[data-p67-theme="dark"] .p67-profile-toggle .p67-profile-avatar-blank i {
    font-size: .95rem !important;
}

.p67-profile-card {
    padding: .8rem .8rem .7rem;
}

.p67-profile-card-avatar,
html[data-p67-theme="dark"] .p67-profile-card-avatar {
    height: 44px !important;
    margin-bottom: .55rem;
    max-height: 44px !important;
    width: 44px !important;
}

/* Contained dark homepage hero */
html[data-p67-theme="dark"] .p67-home-hero.p67-hero,
html[data-p67-theme="dark"] body:not(.auth-body) .p67-hero#top {
    background-color: #172235 !important;
    background-image:
        radial-gradient(circle at 18% 18%, rgba(139, 92, 246, .22), transparent 30rem),
        radial-gradient(circle at 88% 20%, rgba(55, 212, 165, .10), transparent 34rem),
        linear-gradient(180deg, rgba(16, 21, 34, .66) 0%, rgba(12, 14, 24, .88) 100%),
        url("../../img/world-map-outline.04b03780e8d0.svg") !important;
    background-position: center, center, center, center 48% !important;
    background-repeat: no-repeat !important;
    background-size: cover, cover, cover, min(1280px, 112vw) auto !important;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 18px;
    box-shadow: 0 24px 70px rgba(0, 0, 0, .34);
    margin: 0 auto clamp(2.5rem, 4vw, 4rem);
    overflow: hidden;
    width: min(calc(100% - clamp(2rem, 7vw, 8rem)), 1680px);
}

html[data-p67-theme="dark"] .p67-home-hero.p67-hero::before,
html[data-p67-theme="dark"] .p67-home-hero.p67-hero::after,
html[data-p67-theme="dark"] body:not(.auth-body) .p67-hero#top::before,
html[data-p67-theme="dark"] body:not(.auth-body) .p67-hero#top::after {
    content: none !important;
    display: none !important;
}

html[data-p67-theme="dark"] .p67-home-hero .p67-container,
html[data-p67-theme="dark"] .p67-hero#top .p67-container {
    max-width: 1280px;
}

html[data-p67-theme="dark"] .p67-home-hero .p67-hero-title,
html[data-p67-theme="dark"] .p67-hero#top .p67-hero-title {
    color: #ffffff;
    text-shadow: 0 2px 24px rgba(0, 0, 0, .18);
}

html[data-p67-theme="dark"] .p67-home-hero .p67-hero-sub,
html[data-p67-theme="dark"] .p67-hero#top .p67-hero-sub {
    color: rgba(248, 250, 252, .82);
}

html[data-p67-theme="dark"] .p67-home-hero .p67-hero-stats,
html[data-p67-theme="dark"] .p67-hero#top .p67-hero-stats {
    background: rgba(255, 255, 255, .055);
    border-color: rgba(255, 255, 255, .14);
    box-shadow: none;
}

html[data-p67-theme="dark"] .p67-home-hero .p67-btn-ghost,
html[data-p67-theme="dark"] .p67-hero#top .p67-btn-ghost {
    background: rgba(255, 255, 255, .055);
    border-color: rgba(255, 255, 255, .16);
    color: rgba(248, 250, 252, .9);
}

html[data-p67-theme="dark"] .p67-home-hero .p67-btn-ghost:hover,
html[data-p67-theme="dark"] .p67-hero#top .p67-btn-ghost:hover {
    background: rgba(255, 255, 255, .10);
    border-color: rgba(196, 181, 253, .36);
    color: #ffffff;
}

@media (max-width: 991.98px) {
    html[data-p67-theme="dark"] .p67-home-hero.p67-hero,
    html[data-p67-theme="dark"] body:not(.auth-body) .p67-hero#top {
        border-radius: 16px;
        width: min(calc(100% - 1.5rem), 1680px);
    }
}

@media (max-width: 575.98px) {
    html[data-p67-theme="dark"] .p67-home-hero.p67-hero,
    html[data-p67-theme="dark"] body:not(.auth-body) .p67-hero#top {
        border-left: 0;
        border-radius: 0;
        border-right: 0;
        margin-bottom: 2.25rem;
        width: 100%;
    }
}

/* Dark public utility pages and checkout polish */
html[data-p67-theme="dark"] .p67-page-hero,
html[data-p67-theme="dark"] .p67-contact-hero,
html[data-p67-theme="dark"] .p67-public-rendered-page .p67-page-hero,
html[data-p67-theme="dark"] .p67-cms-body .p67-page-hero {
    background-color: #172235 !important;
    background-image:
        radial-gradient(circle at 18% 16%, rgba(139, 92, 246, .20), transparent 30rem),
        linear-gradient(180deg, rgba(16, 21, 34, .74) 0%, rgba(12, 14, 24, .9) 100%),
        url("../../img/world-map-outline.04b03780e8d0.svg") !important;
    background-position: center, center, center 48% !important;
    background-repeat: no-repeat !important;
    background-size: cover, cover, min(1280px, 116vw) auto !important;
    color: #ffffff !important;
}

html[data-p67-theme="dark"] .p67-page-hero h1,
html[data-p67-theme="dark"] .p67-contact-hero h1,
html[data-p67-theme="dark"] .p67-page-hero p,
html[data-p67-theme="dark"] .p67-contact-hero p {
    color: inherit !important;
}

html[data-p67-theme="dark"] .p67-page-hero p,
html[data-p67-theme="dark"] .p67-contact-hero p {
    color: rgba(248, 250, 252, .82) !important;
}

html[data-p67-theme="dark"] .p67-lg-panel,
html[data-p67-theme="dark"] .p67-lg-output,
html[data-p67-theme="dark"] .p67-contact-card,
html[data-p67-theme="dark"] .p67-contact-meta > div,
html[data-p67-theme="dark"] .p67-faq .p67-accordion-item,
html[data-p67-theme="dark"] .p67-faq .p67-accordion-button,
html[data-p67-theme="dark"] .p67-accordion .p67-accordion-item,
html[data-p67-theme="dark"] .p67-accordion .p67-accordion-button,
html[data-p67-theme="dark"] .p67-faq-handoff,
html[data-p67-theme="dark"] .p67-public-rendered-page :where(.p67-feature, .p67-card, .p67-content-card) {
    background: rgba(255, 255, 255, .045) !important;
    border-color: rgba(255, 255, 255, .14) !important;
    box-shadow: none !important;
    color: #f8fafc !important;
}

html[data-p67-theme="dark"] .p67-lg-panel h2,
html[data-p67-theme="dark"] .p67-lg-panel strong,
html[data-p67-theme="dark"] .p67-contact-card h2,
html[data-p67-theme="dark"] .p67-contact-card label,
html[data-p67-theme="dark"] .p67-contact-meta strong,
html[data-p67-theme="dark"] .p67-faq .p67-accordion-button,
html[data-p67-theme="dark"] .p67-accordion .p67-accordion-button {
    color: #f8fafc !important;
}

html[data-p67-theme="dark"] .p67-lg-panel p,
html[data-p67-theme="dark"] .p67-lg-help,
html[data-p67-theme="dark"] .p67-contact-card p,
html[data-p67-theme="dark"] .p67-contact-meta span,
html[data-p67-theme="dark"] .p67-contact-meta a,
html[data-p67-theme="dark"] .p67-faq .p67-accordion-body,
html[data-p67-theme="dark"] .p67-accordion .p67-accordion-body {
    color: #b8b4c7 !important;
}

html[data-p67-theme="dark"] .p67-faq .p67-accordion-button:hover,
html[data-p67-theme="dark"] .p67-accordion .p67-accordion-button:hover,
html[data-p67-theme="dark"] .p67-faq .p67-accordion-button:not(.is-collapsed),
html[data-p67-theme="dark"] .p67-accordion .p67-accordion-button:not(.is-collapsed) {
    background: rgba(139, 92, 246, .16) !important;
    color: #ffffff !important;
}

html[data-p67-theme="dark"] .p67-faq .p67-accordion-body,
html[data-p67-theme="dark"] .p67-accordion .p67-accordion-body {
    background: rgba(255, 255, 255, .025) !important;
    border-top: 1px solid rgba(255, 255, 255, .1) !important;
}

html[data-p67-theme="dark"] .p67-lg-form :where(input, select, textarea),
html[data-p67-theme="dark"] .p67-contact-card :where(input, select, textarea),
html[data-p67-theme="dark"] .p67-checkout-page :where(input, select, textarea, .form-control, .form-select) {
    background-color: rgba(255, 255, 255, .065) !important;
    border-color: rgba(255, 255, 255, .18) !important;
    color: #f8fafc !important;
}

html[data-p67-theme="dark"] .p67-lg-form :where(input, select, textarea)::placeholder,
html[data-p67-theme="dark"] .p67-contact-card :where(input, select, textarea)::placeholder,
html[data-p67-theme="dark"] .p67-checkout-page :where(input, textarea, .form-control)::placeholder {
    color: #918ba5 !important;
}

html[data-p67-theme="dark"] .p67-lg-group-pill,
html[data-p67-theme="dark"] .p67-doc-card-kicker,
html[data-p67-theme="dark"] .p67-lg-status {
    background: rgba(139, 92, 246, .18) !important;
    border-color: rgba(196, 181, 253, .28) !important;
    color: #d8ccff !important;
}

html[data-p67-theme="dark"] .p67-contact-page .p67-contact-hero {
    min-height: 0;
    padding-bottom: clamp(4rem, 7vw, 7rem);
    padding-top: clamp(4rem, 7vw, 7rem);
}

html[data-p67-theme="dark"] .p67-checkout-page {
    color: #f8fafc;
    margin-left: auto;
    margin-right: auto;
    max-width: 1180px;
    padding: clamp(1rem, 2vw, 1.5rem);
}

html[data-p67-theme="dark"] .p67-checkout-page .p67-client-page-header,
html[data-p67-theme="dark"] .p67-checkout-page .card,
html[data-p67-theme="dark"] .p67-checkout-page .list-group-item,
html[data-p67-theme="dark"] .p67-checkout-page .border,
html[data-p67-theme="dark"] .p67-checkout-page [data-payment-provider-selector] {
    background: rgba(255, 255, 255, .045) !important;
    border-color: rgba(255, 255, 255, .14) !important;
    box-shadow: none !important;
    color: #f8fafc !important;
}

html[data-p67-theme="dark"] .p67-checkout-page [aria-label="Checkout progress"] {
    display: none !important;
}

html[data-p67-theme="dark"] .p67-checkout-page .card-body {
    padding: 1rem !important;
}

html[data-p67-theme="dark"] .p67-checkout-page .text-body-secondary,
html[data-p67-theme="dark"] .p67-checkout-page .text-muted {
    color: #b8b4c7 !important;
}

html[data-p67-theme="dark"] .p67-checkout-page [data-payment-provider-selector] > .table-responsive {
    display: none !important;
}

html[data-p67-theme="dark"] .p67-checkout-page [data-payment-provider-selector] .card-header {
    border-bottom-color: rgba(255, 255, 255, .1) !important;
    padding: .85rem 1rem !important;
}

html[data-p67-theme="dark"] .p67-checkout-page .list-group-item.active {
    background: rgba(139, 92, 246, .22) !important;
    border-color: rgba(196, 181, 253, .36) !important;
    color: #ffffff !important;
}
/* DevOps logo contrast tray */
.p67-tool-card {
    gap: 1rem;
}

.p67-tool-logo {
    background: rgba(255, 255, 255, .96);
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 10px;
    box-sizing: border-box;
    height: 64px;
    max-width: none;
    object-fit: contain;
    object-position: center;
    padding: .55rem .85rem;
    width: min(214px, 88%);
}

.p67-tool-logo-kubernetes {
    height: 64px;
    padding: .45rem .75rem;
    width: min(184px, 84%);
}

.p67-tool-logo-ansible {
    width: min(196px, 86%);
}

html[data-p67-theme="dark"] .p67-tool-logo {
    background: rgba(255, 255, 255, .95);
    border-color: rgba(255, 255, 255, .18);
    box-shadow: 0 12px 26px rgba(0, 0, 0, .18);
}

html[data-p67-theme="dark"] .p67-tool-card span {
    color: #c9c4d6;
}
/* Pricing table dark-mode contrast fix. */
html[data-p67-theme="dark"] .p67-compare.table {
    --bs-table-bg: transparent;
    --bs-table-color: #f8fafc;
    --bs-table-hover-bg: rgba(255, 255, 255, .055);
    --bs-table-hover-color: #f8fafc;
    --bs-table-border-color: rgba(255, 255, 255, .12);
    background: transparent !important;
    color: #f8fafc !important;
}

html[data-p67-theme="dark"] .p67-compare.table > :not(caption) > * > * {
    background-color: transparent !important;
    border-color: rgba(255, 255, 255, .12) !important;
    color: #f8fafc !important;
}

html[data-p67-theme="dark"] .p67-compare thead th {
    background: #242033 !important;
    color: #f8fafc !important;
}

html[data-p67-theme="dark"] .p67-compare thead th.p67-compare-featured {
    background: linear-gradient(180deg, rgba(139, 92, 246, .24), rgba(55, 212, 165, .07)) !important;
    color: #d8ccff !important;
}

html[data-p67-theme="dark"] .p67-compare th:first-child,
html[data-p67-theme="dark"] .p67-compare td:first-child {
    color: #c9c4d6 !important;
}

html[data-p67-theme="dark"] .p67-compare tbody tr:hover td {
    background-color: rgba(255, 255, 255, .055) !important;
}

html[data-p67-theme="dark"] .p67-compare .p67-compare-check {
    color: #a78bfa !important;
}

html[data-p67-theme="dark"] .p67-compare .p67-compare-x {
    color: #9ca3af !important;
}

/* Homepage rhythm: keep the marketing story dense without making it feel cramped. */
.p67-home-hero.p67-hero,
body:not(.auth-body) .p67-hero#top {
    margin-bottom: clamp(1.35rem, 2.4vw, 2.25rem);
}

.p67-home-hero + .p67-section {
    padding-top: clamp(1.75rem, 3vw, 2.75rem);
}

.p67-home-hero ~ .p67-section {
    padding-bottom: clamp(2.65rem, 4.2vw, 4rem);
    padding-top: clamp(2.65rem, 4.2vw, 4rem);
}

.p67-home-hero ~ .p67-section .p67-section-head {
    margin-bottom: clamp(1.15rem, 2vw, 1.65rem);
}

.p67-home-hero ~ .p67-section .p67-section-title {
    font-size: clamp(1.8rem, 2.55vw, 2.4rem);
    line-height: 1.12;
}

.p67-home-hero ~ .p67-section .p67-section-sub {
    line-height: 1.55;
    margin-bottom: 0;
    max-width: 690px;
}

.p67-home-hero ~ .p67-section .p67-narrow-grid {
    max-width: 900px;
    row-gap: 1rem;
}

.p67-home-hero ~ .p67-section .p67-feature-row {
    gap: .95rem;
    padding: clamp(1rem, 1.4vw, 1.25rem);
}

.p67-home-hero ~ .p67-section .p67-feature-row-icon {
    height: 2.55rem;
    width: 2.55rem;
}

.p67-home-hero ~ .p67-section .p67-feature-row-body h3 {
    margin-bottom: .25rem;
}

.p67-home-hero ~ #use-cases .row,
.p67-home-hero ~ #how-it-works .row {
    --bs-gutter-y: 1.25rem;
}

.p67-home-hero ~ #use-cases .text-center.mt-5 {
    margin-top: 2rem !important;
}

@media (max-width: 767.98px) {
    .p67-home-hero + .p67-section,
    .p67-home-hero ~ .p67-section {
        padding-bottom: 2.5rem;
        padding-top: 2.5rem;
    }
}

html[data-p67-theme="light"] .p67-home-hero.p67-hero,
html[data-p67-theme="light"] body:not(.auth-body) .p67-hero#top,
html[data-p67-theme="dark"] .p67-home-hero.p67-hero,
html[data-p67-theme="dark"] body:not(.auth-body) .p67-hero#top {
    margin: 0 auto clamp(1.35rem, 2.4vw, 2.25rem);
}

@media (max-width: 575.98px) {
    html[data-p67-theme="light"] .p67-home-hero.p67-hero,
    html[data-p67-theme="light"] body:not(.auth-body) .p67-hero#top,
    html[data-p67-theme="dark"] .p67-home-hero.p67-hero,
    html[data-p67-theme="dark"] body:not(.auth-body) .p67-hero#top {
        margin-bottom: 1.75rem;
    }
}

/* CMS/docs hero alignment: keep generated page hero copy truly centered. */
.p67-public-rendered-page > .p67-page-hero > .p67-container {
    align-items: center;
    display: flex;
    flex-direction: column;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.p67-public-rendered-page > .p67-page-hero h1,
.p67-public-rendered-page > .p67-page-hero p {
    margin-left: auto;
    margin-right: auto;
    max-width: min(100%, 920px);
    text-align: center;
    width: 100%;
}

.p67-public-rendered-page > .p67-page-hero p {
    max-width: min(100%, 760px);
}

/* CMS solution heroes: center primary/secondary hero actions under centered copy. */
.p67-public-rendered-page .p67-page-hero .p67-builder-actions,
.p67-cms-body .p67-page-hero .p67-builder-actions,
.p67-builder-page .p67-page-hero .p67-builder-actions {
    align-self: center;
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
    max-width: min(100%, 760px);
    text-align: center;
    width: 100%;
}

.p67-public-rendered-page .p67-page-hero .p67-builder-actions .p67-link-arrow,
.p67-cms-body .p67-page-hero .p67-builder-actions .p67-link-arrow,
.p67-builder-page .p67-page-hero .p67-builder-actions .p67-link-arrow {
    justify-content: center;
}

/* Public hero consistency and homepage pricing handoff cleanup. */
.p67-pricing-handoff,
html[data-p67-theme="light"] .p67-pricing-handoff,
html[data-p67-theme="dark"] .p67-pricing-handoff {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.p67-pricing-summary div,
html[data-p67-theme="light"] .p67-pricing-summary div,
html[data-p67-theme="dark"] .p67-pricing-summary div {
    background: transparent !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-top: 0 !important;
    box-shadow: none !important;
    padding: .7rem 0 !important;
}

.p67-page-hero,
.p67-builder-hero:not(.p67-checkout-hero),
.p67-contact-hero,
.p67-article-hero,
.p67-public-rendered-page .p67-page-hero,
.p67-cms-body .p67-page-hero,
.p67-cms-body .p67-builder-hero {
    align-items: center !important;
    display: flex !important;
    min-height: clamp(17.5rem, 22vw, 21rem) !important;
    padding: clamp(4.8rem, 5.8vw, 6.35rem) 0 clamp(2.35rem, 3vw, 3.1rem) !important;
}

.p67-page-hero > .p67-container,
.p67-builder-hero:not(.p67-checkout-hero) > .p67-container,
.p67-contact-hero > .p67-container,
.p67-article-hero > .p67-container,
.p67-public-rendered-page .p67-page-hero > .p67-container,
.p67-cms-body .p67-page-hero > .p67-container,
.p67-cms-body .p67-builder-hero > .p67-container {
    width: 100%;
}

.p67-features-hero .p67-feature-hero-grid,
.p67-page-hero .p67-builder-actions,
.p67-builder-hero:not(.p67-checkout-hero) .p67-builder-actions {
    margin-top: clamp(1rem, 1.7vw, 1.35rem);
}

@media (max-width: 575.98px) {
    .p67-page-hero,
    .p67-builder-hero:not(.p67-checkout-hero),
    .p67-contact-hero,
    .p67-article-hero,
    .p67-public-rendered-page .p67-page-hero,
    .p67-cms-body .p67-page-hero,
    .p67-cms-body .p67-builder-hero {
        min-height: 15.5rem !important;
        padding: 4.55rem 0 2.2rem !important;
    }
}

/* Homepage storytelling polish: richer workload cards and clearer launch flow. */
.p67-home-hero ~ #use-cases .p67-home-workloads .p67-feature,
.p67-home-hero ~ #how-it-works .p67-home-step-grid .p67-feature,
body:not(.auth-body) .p67-hero#top ~ #use-cases .p67-home-workloads .p67-feature,
body:not(.auth-body) .p67-hero#top ~ #how-it-works .p67-home-step-grid .p67-feature {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    position: relative;
}

.p67-home-hero ~ #use-cases .p67-home-workloads .p67-feature::before,
body:not(.auth-body) .p67-hero#top ~ #use-cases .p67-home-workloads .p67-feature::before {
    background: linear-gradient(90deg, var(--p67-primary), rgba(20, 184, 166, .8));
    content: "";
    height: 3px;
    inset: 0 0 auto;
    position: absolute;
}

.p67-home-hero ~ #use-cases .p67-home-workloads .p67-feature::after,
body:not(.auth-body) .p67-hero#top ~ #use-cases .p67-home-workloads .p67-feature::after {
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .08) 1px, transparent 1px),
        linear-gradient(0deg, rgba(255, 255, 255, .06) 1px, transparent 1px),
        radial-gradient(ellipse at 100% 0%, rgba(124, 92, 255, .16), transparent 56%);
    background-size: 42px 42px, 42px 42px, auto;
    content: "";
    inset: 0;
    opacity: .42;
    pointer-events: none;
    position: absolute;
}

.p67-home-hero ~ #use-cases .p67-home-workloads .p67-feature > *,
.p67-home-hero ~ #how-it-works .p67-home-step-grid .p67-feature > *,
body:not(.auth-body) .p67-hero#top ~ #use-cases .p67-home-workloads .p67-feature > *,
body:not(.auth-body) .p67-hero#top ~ #how-it-works .p67-home-step-grid .p67-feature > * {
    position: relative;
    z-index: 1;
}

.p67-home-hero ~ #use-cases .p67-feature-tags,
body:not(.auth-body) .p67-hero#top ~ #use-cases .p67-feature-tags {
    margin-top: auto;
    padding-top: 1.05rem;
}

.p67-home-hero ~ #plans .p67-pricing-summary,
body:not(.auth-body) .p67-hero#top ~ #plans .p67-pricing-summary {
    border: 1px solid var(--p67-border);
    border-radius: 14px;
    background:
        linear-gradient(135deg, rgba(124, 92, 255, .12), transparent 45%),
        var(--p67-surface);
    padding: 1rem;
}

.p67-home-hero ~ #plans .p67-pricing-summary div,
body:not(.auth-body) .p67-hero#top ~ #plans .p67-pricing-summary div {
    border-bottom: 1px solid var(--p67-border) !important;
    padding: .8rem .1rem !important;
}

.p67-home-hero ~ #plans .p67-pricing-summary div:last-child,
body:not(.auth-body) .p67-hero#top ~ #plans .p67-pricing-summary div:last-child {
    border-bottom: 0 !important;
}

.p67-home-hero ~ #how-it-works .p67-home-step-grid,
body:not(.auth-body) .p67-hero#top ~ #how-it-works .p67-home-step-grid {
    counter-reset: p67-launch-step;
}

.p67-home-hero ~ #how-it-works .p67-home-step-grid .p67-feature,
body:not(.auth-body) .p67-hero#top ~ #how-it-works .p67-home-step-grid .p67-feature {
    padding-top: 4.25rem;
}

.p67-home-hero ~ #how-it-works .p67-home-step-grid .p67-feature::before,
body:not(.auth-body) .p67-hero#top ~ #how-it-works .p67-home-step-grid .p67-feature::before {
    align-items: center;
    background: var(--p67-primary-soft);
    border: 1px solid rgba(124, 92, 255, .28);
    border-radius: 999px;
    color: var(--p67-primary-dark);
    content: "0" counter(p67-launch-step);
    counter-increment: p67-launch-step;
    display: inline-flex;
    font-size: .78rem;
    font-weight: 800;
    height: 2rem;
    justify-content: center;
    left: 1.35rem;
    letter-spacing: .04em;
    position: absolute;
    top: 1.25rem;
    width: 3rem;
    z-index: 2;
}

.p67-home-hero ~ #how-it-works .p67-home-step-grid .p67-feature-icon,
body:not(.auth-body) .p67-hero#top ~ #how-it-works .p67-home-step-grid .p67-feature-icon {
    position: absolute;
    right: 1.35rem;
    top: 1.12rem;
}

html[data-p67-theme="dark"] .p67-home-hero ~ #plans .p67-pricing-summary,
html[data-p67-theme="dark"] body:not(.auth-body) .p67-hero#top ~ #plans .p67-pricing-summary {
    background:
        linear-gradient(135deg, rgba(167, 139, 250, .16), transparent 48%),
        rgba(255, 255, 255, .035);
    border-color: rgba(255, 255, 255, .13);
}

@media (max-width: 767.98px) {
    .p67-home-hero ~ #how-it-works .p67-home-step-grid .p67-feature,
    body:not(.auth-body) .p67-hero#top ~ #how-it-works .p67-home-step-grid .p67-feature {
        padding-top: 4rem;
    }
}
/* Pricing page and launch CTA refinement pass. */
.p67-pricing-page .p67-pricing-hero {
    text-align: center;
}

.p67-pricing-page .p67-pricing-hero .p67-container {
    max-width: 940px;
}

.p67-pricing-page .p67-pricing-proof-row {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    justify-content: center;
    margin: 1.15rem auto 0;
}

.p67-pricing-page .p67-pricing-proof-row span {
    align-items: center;
    background: rgba(255, 255, 255, .14);
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 999px;
    color: rgba(255, 255, 255, .9);
    display: inline-flex;
    font-size: .86rem;
    font-weight: 750;
    gap: .45rem;
    letter-spacing: 0;
    padding: .48rem .72rem;
}

.p67-pricing-page .p67-pricing-proof-row i {
    color: #45e0bf;
}

.p67-pricing-page .p67-commitment-strip {
    border: 1px solid rgba(255, 255, 255, .16);
    margin-left: auto;
    margin-right: auto;
    width: fit-content;
}

html[data-p67-theme="light"] .p67-pricing-page .p67-pricing-proof-row span {
    background: rgba(255, 255, 255, .72);
    border-color: rgba(79, 70, 229, .18);
    color: #1f2937;
}

html[data-p67-theme="light"] .p67-pricing-page .p67-commitment-strip {
    background: rgba(255, 255, 255, .74);
    border-color: rgba(79, 70, 229, .2);
    color: #1f2937;
}

html[data-p67-theme="light"] .p67-pricing-page .p67-commitment-strip button {
    color: #475569;
}

html[data-p67-theme="light"] .p67-pricing-page .p67-commitment-strip button:hover {
    background: rgba(79, 70, 229, .08);
    color: #111827;
}

html[data-p67-theme="light"] .p67-pricing-page .p67-commitment-strip button.is-active {
    background: #111827;
    color: #ffffff;
}

.p67-pricing-page .p67-pricing-plans-section {
    padding-top: 3rem !important;
}

.p67-pricing-page .p67-pricing-plan-row {
    --bs-gutter-x: 1rem;
    --bs-gutter-y: 1rem;
}

.p67-pricing-page .p67-plan {
    border-radius: 14px;
    gap: .45rem;
    overflow: hidden;
    padding: 1.45rem 1.25rem !important;
}

.p67-pricing-page .p67-plan::before {
    background: linear-gradient(90deg, var(--p67-primary), #14b8a6);
    content: "";
    height: 3px;
    inset: 0 0 auto;
    opacity: .86;
    position: absolute;
}

.p67-pricing-page .p67-plan-featured::before {
    height: 4px;
    opacity: 1;
}

.p67-pricing-page .p67-plan-kicker {
    color: var(--p67-text-muted);
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1;
    margin-bottom: .25rem;
    text-transform: uppercase;
}

.p67-pricing-page .p67-plan-name {
    font-size: 1.18rem;
}

.p67-pricing-page .p67-plan-tagline {
    margin-bottom: .7rem;
}

.p67-pricing-page .p67-plan-price {
    margin-bottom: .2rem;
}

.p67-pricing-page .p67-plan-amount {
    font-size: clamp(1.8rem, 2.6vw, 2.35rem);
}

.p67-pricing-page .p67-plan-specs {
    margin-top: .85rem !important;
    margin-bottom: .35rem;
}

.p67-pricing-page .p67-plan-specs li {
    gap: .55rem;
    padding: .48rem 0;
}

.p67-pricing-page .p67-plan .p67-btn {
    margin-top: auto;
}

html[data-p67-theme="dark"] .p67-pricing-page .p67-plan {
    background: linear-gradient(180deg, rgba(255, 255, 255, .046), rgba(255, 255, 255, .024));
    border-color: rgba(255, 255, 255, .13);
}

html[data-p67-theme="light"] .p67-pricing-page .p67-plan {
    background: #ffffff;
    border-color: #dde4ef;
}

.p67-pricing-page .p67-plan-featured {
    border-color: rgba(124, 92, 255, .55) !important;
}

.p67-pricing-page .p67-plan-badge {
    top: .9rem;
    transform: none;
    left: auto;
    right: .9rem;
}

.p67-pricing-page .p67-buying-confidence {
    gap: .85rem;
    margin-top: 1.25rem;
}

.p67-pricing-page .p67-confidence-card {
    align-items: flex-start;
    display: grid;
    gap: .85rem;
    grid-template-columns: 42px minmax(0, 1fr);
    padding: 1rem;
}

.p67-pricing-page .p67-os-card {
    grid-template-columns: 1fr;
}

.p67-pricing-page .p67-confidence-card h3 {
    font-size: .98rem;
    margin-bottom: .28rem;
}

.p67-pricing-page .p67-confidence-card p {
    font-size: .9rem;
    line-height: 1.5;
}

.p67-pricing-page .p67-custom-build-note {
    align-items: center;
    background: var(--p67-surface);
    border: 1px solid var(--p67-border);
    border-radius: 14px;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-top: 1.35rem;
    padding: 1rem 1.1rem;
}

.p67-pricing-page .p67-custom-build-note span {
    color: var(--p67-text);
    display: block;
    font-weight: 800;
    margin-bottom: .12rem;
}

.p67-pricing-page .p67-custom-build-note p {
    color: var(--p67-text-muted);
    margin: 0;
}

html[data-p67-theme="dark"] .p67-pricing-page .p67-custom-build-note {
    background: rgba(255, 255, 255, .035);
    border-color: rgba(255, 255, 255, .13);
}

.p67-pricing-page .p67-addon-card {
    border-radius: 14px;
}

.p67-pricing-page .p67-addon-price {
    border-top: 1px solid var(--p67-border);
    color: var(--p67-text);
    font-weight: 850;
}

.p67-pricing-page .p67-compare-wrap {
    border-radius: 14px;
}

.p67-pricing-page .p67-compare th,
.p67-pricing-page .p67-compare td {
    padding: .85rem 1rem;
}

/* Shared launch CTA reset: clean card, no map/grid treatment. */
.p67-cta-card,
html[data-p67-theme="light"] .p67-cta-card,
html[data-p67-theme="dark"] .p67-cta-card {
    --bs-card-bg: transparent;
    align-items: center;
    background-image: none !important;
    border-radius: 14px !important;
    display: grid;
    gap: .25rem 1.35rem;
    grid-template-columns: minmax(0, 1fr) auto;
    justify-items: stretch;
    margin-left: auto;
    margin-right: auto;
    max-width: 980px;
    min-height: 0 !important;
    overflow: hidden;
    padding: clamp(1.4rem, 2.8vw, 2rem) clamp(1.25rem, 3vw, 2.1rem) !important;
    position: relative;
    text-align: left;
}

html[data-p67-theme="light"] .p67-cta-card {
    background: linear-gradient(135deg, #ffffff, #f7f9ff) !important;
    border: 1px solid #dbe3f0 !important;
    box-shadow: 0 16px 46px rgba(15, 23, 42, .08) !important;
    color: #111827 !important;
}

html[data-p67-theme="dark"] .p67-cta-card,
.p67-cta-card {
    background: linear-gradient(135deg, rgba(255, 255, 255, .055), rgba(255, 255, 255, .026)) !important;
    border: 1px solid rgba(255, 255, 255, .14) !important;
    box-shadow: none !important;
    color: #f8fafc !important;
}

.p67-cta-card::before,
html[data-p67-theme="light"] .p67-cta-card::before,
html[data-p67-theme="dark"] .p67-cta-card::before {
    background: linear-gradient(180deg, var(--p67-primary), #14b8a6) !important;
    content: "";
    inset: 0 auto 0 0;
    opacity: 1 !important;
    pointer-events: none;
    position: absolute;
    width: 4px;
    z-index: 1;
}

.p67-cta-card::after,
html[data-p67-theme="light"] .p67-cta-card::after,
html[data-p67-theme="dark"] .p67-cta-card::after,
.p67-cta-glow,
html[data-p67-theme="light"] .p67-cta-glow,
html[data-p67-theme="dark"] .p67-cta-glow {
    display: none !important;
}

.p67-cta-card > :not(.p67-cta-glow) {
    position: relative;
    z-index: 2;
}

.p67-cta-card h2,
html[data-p67-theme="light"] .p67-cta-card h2,
html[data-p67-theme="dark"] .p67-cta-card h2 {
    color: inherit !important;
    font-size: clamp(1.45rem, 2.4vw, 2rem);
    grid-column: 1;
    letter-spacing: 0;
    line-height: 1.12;
    margin: 0 0 .45rem;
    max-width: 620px;
}

.p67-cta-card p,
html[data-p67-theme="light"] .p67-cta-card p,
html[data-p67-theme="dark"] .p67-cta-card p {
    color: var(--p67-text-muted) !important;
    font-size: .98rem;
    grid-column: 1;
    line-height: 1.55;
    margin: 0;
    max-width: 660px;
}

.p67-cta-card .p67-cta-buttons {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    grid-column: 2;
    grid-row: 1 / span 2;
    justify-content: flex-end;
}

.p67-cta-card .p67-btn-primary,
html[data-p67-theme="light"] .p67-cta-card .p67-btn-primary,
html[data-p67-theme="dark"] .p67-cta-card .p67-btn-primary {
    background: var(--p67-primary) !important;
    border-color: var(--p67-primary) !important;
    box-shadow: none !important;
    color: #ffffff !important;
}

.p67-cta-card .p67-btn-ghost,
.p67-cta-card .btn-outline-secondary,
html[data-p67-theme="light"] .p67-cta-card .p67-btn-ghost,
html[data-p67-theme="light"] .p67-cta-card .btn-outline-secondary,
html[data-p67-theme="dark"] .p67-cta-card .p67-btn-ghost,
html[data-p67-theme="dark"] .p67-cta-card .btn-outline-secondary {
    background: transparent !important;
    border-color: var(--p67-border-strong) !important;
    color: var(--p67-text) !important;
}

@media (max-width: 767.98px) {
    .p67-cta-card,
    html[data-p67-theme="light"] .p67-cta-card,
    html[data-p67-theme="dark"] .p67-cta-card {
        grid-template-columns: 1fr;
        text-align: left;
    }

    .p67-cta-card .p67-cta-buttons {
        grid-column: 1;
        grid-row: auto;
        justify-content: flex-start;
        margin-top: 1rem;
        width: 100%;
    }

    .p67-pricing-page .p67-custom-build-note {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 575.98px) {
    .p67-pricing-page .p67-pricing-proof-row,
    .p67-pricing-page .p67-commitment-strip {
        width: 100%;
    }

    .p67-pricing-page .p67-pricing-proof-row span,
    .p67-pricing-page .p67-commitment-strip button,
    .p67-pricing-page .p67-commitment-strip > span {
        justify-content: center;
    }
}

