/* 10-palette.css - Palette balance and CMS body styling
 * Part of the Pulsar67 marketing stylesheet bundle.
 * Load order is defined in templates/layouts/_marketing_styles.html
 */

/* ============================================================
   Palette balance - purple is an accent, surfaces stay neutral
   ============================================================ */

.p67-builder-section {
    background: linear-gradient(180deg, #fafbfc 0%, #f5f6f8 100%);
}

.p67-checkout-card,
.p67-builder-section .p67-builder-card {
    background: #ffffff;
    border-color: #e3e6ee;
}

.p67-client-area-page .p67-client-billing-panel {
    border-color: #e3e6ee;
}

.p67-client-billing-panel .table-row:hover {
    background: #f6f7f9;
}

.p67-checkout-mini-steps span.is-active {
    background: rgba(90, 82, 184, .1);
    border-color: rgba(90, 82, 184, .28);
}

.p67-section,
.p67-home-section {
    background: transparent;
}

.p67-feature,
.p67-step {
    border-color: #e3e6ee;
}

.p67-order-cadence.is-selected {
    background: #f4f3fb;
}

/* Checkout receipt: payment section must not be crammed into a 1/3 column.
   The order summary and next-step cards share the top row; the payment card
   spans full width so its provider options lay out properly. */
.p67-checkout-layout-wide {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.p67-checkout-payment-card,
.p67-checkout-layout-wide .p67-checkout-admin-card {
    grid-column: 1 / -1;
}

/* Payment options: responsive, never narrower than a readable card. */
.p67-payment-method-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
}

/* Checkout payment options - clean, consistent cards */
.p67-payment-method-option {
    overflow: hidden;
    padding: 0;
}

.p67-payment-method-option .panel-heading {
    margin: 0;
    padding: 1rem 1.15rem .85rem;
}

.p67-payment-method-option .panel-heading h2 {
    font-size: 1.05rem;
}

.p67-payment-method-detail {
    margin: 0;
    padding: 0 1.15rem 1.1rem;
}

.p67-payment-method-option form {
    margin-top: auto;
    padding: 0 1.15rem 1.15rem;
}

.p67-payment-method-option .p67-btn {
    width: 100%;
}

/* Pricing plan cards - corporate spacing + clearer featured tier */
.p67-plan {
    display: flex;
    flex-direction: column;
    padding: 1.6rem 1.4rem;
}

.p67-plan .p67-plan-specs {
    flex: 1 1 auto;
}

.p67-plan .p67-btn {
    margin-top: 1.1rem;
}

.p67-plan-featured {
    position: relative;
}

.p67-plan-billed {
    color: var(--p67-text-muted);
    display: block;
    font-size: .82rem;
    margin-top: .25rem;
    min-height: 1.1rem;
}

/* Verifying-payment state */
.p67-payment-verifying .p67-checkout-card-head h2 {
    align-items: center;
    display: flex;
    gap: .6rem;
}

.p67-verifying-spinner {
    animation: p67Spin .8s linear infinite;
    border: 2px solid rgba(90, 82, 184, .25);
    border-radius: 50%;
    border-top-color: var(--p67-primary);
    display: inline-block;
    height: 18px;
    width: 18px;
}

@keyframes p67Spin {
    to { transform: rotate(360deg); }
}

/* Public surface polish: lighter surfaces, cleaner map-backed sections,
   and less boxed-in utility content. */
.p67-hero {
    background:
        radial-gradient(circle at 14% 12%, rgba(206, 196, 255, .22), transparent 32%),
        linear-gradient(135deg, rgba(111, 82, 222, .24), rgba(57, 49, 129, .16) 46%, rgba(255, 255, 255, .04) 100%),
        linear-gradient(180deg, #2d2254 0%, #372969 56%, #4a348a 100%);
    padding-bottom: 5.35rem;
}

.p67-hero::after,
.p67-page-hero::after,
.p67-builder-hero::after,
.p67-contact-hero::after,
.p67-article-hero::after {
    opacity: .11;
}

.p67-hero-sub,
.p67-page-hero p,
.p67-builder-hero p,
.p67-contact-hero p {
    color: rgba(255, 255, 255, .82);
}

.p67-feature,
.p67-feature-row,
.p67-plan,
.p67-command-panel,
.p67-ops-card,
.p67-plan-fit-card,
.p67-confidence-card,
.p67-stat-card,
.p67-lg-panel {
    border-color: rgba(63, 54, 126, .12);
}

.p67-feature {
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.p67-feature:hover {
    border-color: rgba(90, 82, 184, .34);
    transform: translateY(-2px);
}

.p67-locations-section .p67-devops-tools {
    background: transparent;
    border: 0;
    box-shadow: none;
    padding-left: 0;
    padding-right: 0;
}

.p67-locations-section .p67-tool-card {
    background: rgba(255, 255, 255, .58);
    border: 1px solid rgba(63, 54, 126, .1);
    box-shadow: none;
    backdrop-filter: blur(3px);
}

.p67-locations-section .p67-tool-card:hover {
    background: rgba(255, 255, 255, .72);
    border-color: rgba(90, 82, 184, .22);
}

.p67-client-area-page .p67-client-billing-panel,
.p67-client-area-page .p67-builder-card {
    border-color: rgba(63, 54, 126, .12);
    box-shadow: 0 14px 34px rgba(31, 28, 70, .065);
}

.p67-client-area-page .p67-client-billing-panel:hover {
    box-shadow: 0 18px 42px rgba(31, 28, 70, .09);
}

/* Shared public helpers. These intentionally live in the website bundle so
   marketing pages can render without the portal companion stylesheet. */
.p67-footer-bottom-meta {
    display: flex;
    justify-content: flex-end;
}

.p67-home-hero {
    position: relative;
}

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

.p67-pulsar-orbits,
.p67-pulsar-beams,
.p67-pulsar-core,
.p67-pulsar-core-inner,
.p67-pulsar-orbit-dot {
    transform-box: fill-box;
    transform-origin: center;
}

.p67-pulsar-orbit-dot {
    animation: p67OrbitSpin 9s linear infinite;
}

@keyframes p67OrbitSpin {
    to {
        transform: rotate(360deg);
    }
}

/* Local primitives for templates that use p67-prefixed layout tokens. */
.p67-container {
    margin-left: auto;
    margin-right: auto;
    max-width: 1140px;
    padding-left: 1rem;
    padding-right: 1rem;
    width: 100%;
}

.p67-btn {
    align-items: center;
    display: inline-flex;
    gap: .5rem;
    justify-content: center;
    line-height: 1.2;
    min-height: 42px;
    text-decoration: none;
    user-select: none;
}

.p67-btn:disabled {
    cursor: not-allowed;
    opacity: .58;
}

.p67-navbar {
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 1030;
}

.p67-nav-shell {
    align-items: center;
    display: flex;
    margin: 0 auto;
    max-width: 1140px;
    min-height: 58px;
    padding: 0 1rem;
    position: relative;
    width: 100%;
}

.p67-nav-collapse {
    align-items: center;
    display: flex;
    flex: 1 1 auto;
    min-width: 0;
}

.p67-nav-links,
.p67-account-nav {
    align-items: center;
    display: flex;
    gap: .25rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.p67-nav-links {
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
}

.p67-account-nav {
    margin-left: auto;
    position: relative;
    z-index: 3;
}

.p67-nav-link,
.p67-menu-trigger {
    align-items: center;
    background: transparent;
    border: 0;
    color: var(--p67-text-muted);
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    font-weight: 650;
    gap: .35rem;
    padding: .5rem .85rem;
    border-radius: 999px;
    text-decoration: none;
    transition: background .16s ease, color .16s ease;
    white-space: nowrap;
}

.p67-nav-link:hover,
.p67-nav-link.active,
.p67-menu-trigger:hover,
.p67-menu-trigger.active,
.p67-menu .dropdown-toggle.show,
.p67-menu .dropdown-toggle[aria-expanded="true"] {
    background: rgba(90, 82, 184, 0.08);
    color: var(--p67-text);
}

.p67-menu {
    position: relative;
}

.p67-menu-trigger i {
    font-size: .7rem;
    transition: transform .16s ease;
}

.p67-menu .dropdown-toggle.show i,
.p67-menu .dropdown-toggle[aria-expanded="true"] i {
    transform: rotate(180deg);
}

.p67-menu-panel {
    background: #ffffff;
    border: 1px solid var(--p67-border);
    border-radius: 12px;
    box-shadow: 0 18px 44px rgba(23, 32, 51, .14);
    display: none;
    gap: .15rem;
    left: 0;
    list-style: none;
    margin: .55rem 0 0;
    min-width: 250px;
    padding: .45rem;
    position: absolute;
    top: 100%;
    z-index: 40;
}

.p67-menu-panel-end {
    left: auto;
    right: 0;
}

.p67-menu-panel.show {
    display: grid;
}

.p67-menu-link {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 9px;
    color: var(--p67-text-muted);
    display: flex;
    font: inherit;
    font-size: .94rem;
    gap: .65rem;
    padding: .7rem .85rem;
    text-align: left;
    text-decoration: none;
    width: 100%;
}

.p67-menu-link:hover,
.p67-menu-link:focus {
    background: var(--p67-primary-soft);
    color: var(--p67-text);
}

.p67-menu-link i {
    color: var(--p67-primary);
    width: 1rem;
}

.p67-menu-divider,
.p67-profile-divider,
.p67-menu-divider {
    border: 0;
    border-top: 1px solid var(--p67-border);
    margin: .35rem .45rem;
}

.p67-nav-toggle {
    align-items: center;
    background: #ffffff;
    border: 1px solid var(--p67-border-strong);
    border-radius: 9px;
    color: var(--p67-text);
    cursor: pointer;
    display: none;
    height: 42px;
    justify-content: center;
    margin-left: auto;
    width: 42px;
}

.p67-nav-toggle:focus-visible,
.p67-menu-trigger:focus-visible,
.p67-menu-link:focus-visible {
    outline: 2px solid var(--p67-primary);
    outline-offset: 2px;
}

.p67-accordion-collapse[hidden] {
    display: none;
}

@media (max-width: 991.98px) {
    .p67-nav-toggle {
        display: inline-flex;
    }

    .p67-nav-shell {
        min-height: 56px;
    }

    .p67-nav-collapse {
        align-items: stretch;
        background: #ffffff;
        border: 1px solid var(--p67-border);
        border-radius: 14px;
        box-shadow: 0 18px 44px rgba(23, 32, 51, .14);
        display: none;
        flex-direction: column;
        gap: .4rem;
        left: 1rem;
        padding: .75rem;
        position: absolute;
        right: 1rem;
        top: calc(100% + .55rem);
    }

    .p67-navbar .p67-nav-collapse.show {
        display: flex;
    }

    .p67-nav-links,
    .p67-account-nav {
        align-items: stretch;
        flex-direction: column;
        position: static;
        transform: none;
        width: 100%;
    }

    .p67-account-nav {
        border-top: 1px solid var(--p67-border);
        margin-left: 0;
        padding-top: .45rem;
    }

    .p67-nav-link,
    .p67-menu-trigger {
        justify-content: space-between;
        width: 100%;
    }

    .p67-menu-panel,
    .p67-menu-panel-end {
        box-shadow: none;
        left: auto;
        margin: .35rem 0 .45rem;
        min-width: 0;
        position: static;
        right: auto;
        width: 100%;
    }

    .p67-profile-toggle {
        justify-content: flex-start;
        width: 100%;
    }
}

.p67-hero {
    padding: 6.3rem 0 3.65rem;
}

.p67-hero-title {
    font-size: clamp(2.1rem, 4.4vw, 3.75rem);
    max-width: 840px;
}

.p67-hero-sub {
    font-size: clamp(1rem, 1.5vw, 1.18rem);
    max-width: 760px;
}

.p67-page-hero,
.p67-contact-hero,
.p67-article-hero {
    padding: 5.25rem 0 2.15rem;
}

.p67-builder-hero {
    min-height: 0;
    padding: 5.35rem 0 2.45rem;
}

.p67-public-rendered-page > h1,
.p67-public-rendered-page > header:not([class]) {
    padding: 5.25rem max(1.25rem, calc((100vw - 1140px) / 2)) 2.15rem;
}

.p67-page-hero h1,
.p67-builder-hero h1,
.p67-contact-hero h1 {
    font-size: clamp(2rem, 4vw, 3.15rem);
}

.p67-page-hero p,
.p67-builder-hero p,
.p67-contact-hero p {
    max-width: 760px;
}

.p67-nav-profile .p67-profile-toggle {
    background: transparent;
    border: 0;
    border-radius: 999px;
    box-shadow: none;
    gap: 0;
    height: 48px;
    justify-content: center;
    min-height: 0;
    padding: 4px;
    width: 48px;
}

.p67-nav-profile .p67-profile-toggle::after {
    display: none;
}

.p67-nav-profile .p67-profile-toggle:hover,
.p67-nav-profile .p67-profile-toggle:focus,
.p67-nav-profile .p67-profile-toggle.show,
.p67-nav-profile .p67-profile-toggle[aria-expanded="true"] {
    background: rgba(90, 82, 184, .08);
    color: var(--p67-text);
}

.p67-profile-toggle .p67-profile-avatar,
.p67-profile-toggle .p67-profile-avatar-blank {
    height: 40px;
    width: 40px;
}

.p67-profile-toggle .p67-profile-avatar-blank i {
    color: #111827;
    font-size: 2.1rem;
    height: auto;
    line-height: 1;
    transform: none !important;
    transition: none;
    width: auto;
}

.p67-nav-profile .p67-profile-toggle.show i,
.p67-nav-profile .p67-profile-toggle[aria-expanded="true"] i {
    transform: none !important;
}

.p67-faq {
    margin-left: auto;
    margin-right: auto;
    max-width: 860px;
}

.p67-accordion {
    display: grid;
    gap: .75rem;
}

.p67-accordion .p67-accordion-item,
.p67-faq .p67-accordion-item {
    background: #ffffff;
    border: 1px solid rgba(39, 49, 75, .13);
    border-radius: 10px !important;
    box-shadow: 0 10px 28px rgba(31, 28, 70, .055);
    margin: 0;
    overflow: hidden;
}

.p67-accordion-header {
    margin: 0;
}

.p67-accordion .p67-accordion-button,
.p67-faq .p67-accordion-button {
    align-items: center;
    border: 0;
    cursor: pointer;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    text-align: left;
    width: 100%;
}

.p67-accordion .p67-accordion-button::after,
.p67-faq .p67-accordion-button::after {
    align-items: center;
    background: #ffffff;
    border: 1px solid rgba(39, 49, 75, .22);
    border-radius: 999px;
    box-shadow: none;
    color: #334155;
    content: "+";
    display: inline-flex;
    flex: 0 0 auto;
    filter: none;
    font-family: Inter, sans-serif;
    font-size: 1rem;
    font-weight: 900;
    height: 28px;
    justify-content: center;
    line-height: 1;
    width: 28px;
}

.p67-accordion .p67-accordion-button:not(.is-collapsed)::after,
.p67-faq .p67-accordion-button:not(.is-collapsed)::after {
    background: #f8fafc;
    border-color: rgba(90, 82, 184, .34);
    color: var(--p67-primary);
    content: "-";
}

.p67-faq-more {
    color: var(--p67-text-muted);
    font-size: .98rem;
    margin-top: 1.5rem;
    text-align: center;
}

.p67-faq-more a {
    color: var(--p67-primary);
    font-weight: 700;
    text-decoration: none;
}

.p67-faq-more a:hover {
    color: var(--p67-primary-dark);
}

.p67-accordion-collapse {
    display: none;
}

.p67-accordion-collapse.is-open {
    display: block;
}

.p67-accordion-collapse[hidden] {
    display: none !important;
}

.p67-cms-body {
    background: var(--p67-bg);
}

.p67-cms-body .p67-page-hero + .p67-section {
    padding-top: 3.5rem;
}

.p67-cms-body .p67-section {
    padding: 3.5rem 0;
}

.p67-cms-body .p67-section-alt {
    background: #f7f7fb;
}

.p67-cms-body .row {
    align-items: start;
}

.p67-cms-body .p67-section-title {
    font-size: clamp(1.75rem, 3vw, 2.45rem);
}

.p67-cms-body p {
    color: var(--p67-text-muted);
}

.p67-cms-body .row:has(.p67-pulsar) {
    display: block;
    max-width: 880px;
}

.p67-cms-body .row:has(.p67-pulsar) .col-lg-6 {
    max-width: 860px;
}

.p67-cms-body .p67-pulsar {
    display: none;
}

.p67-cms-body .p67-feature,
.p67-cms-body .p67-builder-card {
    background: #ffffff;
    border: 1px solid rgba(39, 49, 75, .12);
    box-shadow: 0 12px 32px rgba(31, 28, 70, .055);
}

.p67-client-area-page .p67-builder-section {
    background: #f6f7fb;
    padding: 2rem 0 3rem;
}

.dashboard-shell .p67-client-area-page .p67-builder-section {
    padding-top: 1.25rem;
}

.p67-client-hero,
.p67-checkout-simple-head.p67-client-hero {
    background:
        radial-gradient(90% 140% at 100% 0%, rgba(90, 82, 184, .09), transparent 52%),
        #ffffff;
    border: 1px solid rgba(39, 49, 75, .12);
    border-radius: 10px;
    box-shadow: 0 12px 30px rgba(31, 28, 70, .07);
    color: var(--p67-text);
    padding: 1rem 1.15rem;
}

.p67-client-hero h1,
.p67-checkout-simple-head.p67-client-hero h1 {
    color: var(--p67-text);
    font-size: clamp(1.35rem, 2vw, 1.75rem);
}

.p67-client-hero p,
.p67-checkout-simple-head.p67-client-hero p {
    color: var(--p67-text-muted);
}

.p67-client-hero .p67-eyebrow {
    color: var(--p67-primary-dark);
}

.p67-client-hero .p67-hero-ghost-btn,
.p67-client-hero .p67-btn-ghost {
    background: #ffffff;
    border-color: var(--p67-border-strong);
    color: var(--p67-text);
}

.p67-client-hero .p67-hero-ghost-btn:hover,
.p67-client-hero .p67-btn-ghost:hover {
    background: var(--p67-primary-soft);
    color: var(--p67-primary-dark);
}

.p67-client-hero .p67-checkout-mini-steps span {
    background: #f5f4ff;
    border-color: rgba(90, 82, 184, .18);
    color: var(--p67-primary-dark);
}

.p67-client-hero .p67-checkout-mini-steps span.is-active {
    background: var(--p67-primary);
    border-color: var(--p67-primary);
    color: #ffffff;
}

.p67-client-area-page .p67-client-billing-panel,
.p67-client-area-page .p67-builder-card,
.p67-checkout-card,
.p67-order-card,
.p67-order-summary {
    border-radius: 10px;
}

@media (max-width: 991.98px) {
    .p67-hero,
    .p67-page-hero,
    .p67-builder-hero,
    .p67-contact-hero {
        padding-top: 5.2rem;
    }

    .p67-profile-toggle .p67-profile-avatar,
    .p67-profile-toggle .p67-profile-avatar-blank {
        height: 36px;
        width: 36px;
    }
}

/* Bootstrap v3 public surface finalization.
   Token values live in static/css/tokens.css; layout rules only below. */

.p67-navbar {
    background: rgba(255, 255, 255, .96);
    box-shadow: none;
    padding: .38rem 0;
}

.p67-navbar .p67-nav-link,
.p67-menu-link,
.p67-profile-toggle,
.p67-btn,
.p67-btn-primary,
.p67-btn-ghost {
    border-radius: 8px;
}

.p67-btn,
.p67-btn-primary,
.p67-btn-ghost {
    box-shadow: none !important;
    padding: .62rem 1rem;
}

.p67-dropdown,
.p67-menu-panel {
    border-radius: 10px;
    box-shadow: 0 10px 28px rgba(28, 39, 63, .12);
}

.p67-section {
    padding: 3rem 0;
}

.p67-section-head {
    margin-bottom: 1.55rem;
}

.p67-section-title {
  font-family: var(--p67-font-head);
  font-size: var(--p67-text-3xl);
  font-weight: var(--p67-fw-bold);
}

.p67-eyebrow {
  font-size: var(--p67-text-xs);
  font-weight: var(--p67-fw-semibold);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.p67-section-sub {
    font-size: 1rem;
    max-width: 760px;
}

.p67-narrow-grid {
    margin-left: auto;
    margin-right: auto;
    max-width: 960px;
}

.p67-feature-left {
    text-align: left;
}

.p67-addon-price {
    color: var(--p67-text);
    font-family: 'Space Grotesk', sans-serif;
    font-weight: 700;
}

.p67-addon-unit {
    color: var(--p67-text-muted);
    font-weight: 500;
}

.p67-location-card {
    height: 100%;
}

.p67-location-plan-name {
    font-size: 1.6rem;
}

.p67-location-region-mark {
    align-items: center;
    background: var(--p67-primary-soft);
    border: 1px solid var(--p67-accent-border, rgba(90, 82, 184, .22));
    border-radius: 8px;
    color: var(--p67-primary-dark);
    display: inline-flex;
    font-size: .9rem;
    font-weight: 900;
    height: 3rem;
    justify-content: center;
    letter-spacing: .08em;
    line-height: 1;
    width: 3rem;
}

.p67-eyebrow-spaced {
    margin-bottom: 1.5rem;
}

.p67-eyebrow-live {
    background: rgba(46, 204, 113, .12);
    border-color: rgba(46, 204, 113, .3);
    color: #1f8a4d;
}

.p67-eyebrow-live .p67-eyebrow-dot {
    background: #2ecc71;
    box-shadow: 0 0 8px rgba(46, 204, 113, .75);
}

.p67-code-link {
    color: var(--p67-primary-dark);
}

.p67-location-meta-live {
    color: #1f8a4d;
}

.p67-muted-centered-copy {
    color: var(--p67-text-muted);
    margin: 0 auto 1rem;
    max-width: 560px;
}

.p67-hero,
.p67-page-hero,
.p67-builder-hero:not(.p67-checkout-hero),
.p67-contact-hero,
.p67-article-hero {
    min-height: 0;
}

.p67-home-hero.p67-hero,
body:not(.auth-body) .p67-hero#top {
    padding: clamp(5.85rem, 7.25vw, 7.25rem) 0 clamp(3.75rem, 4.75vw, 5rem);
}

.p67-home-hero .p67-hero-row,
.p67-hero#top .p67-hero-row {
    align-items: center;
    display: flex;
    justify-content: flex-start;
    min-height: clamp(26rem, 38vw, 36.5rem);
}

.p67-home-hero .p67-hero-content,
.p67-hero#top .p67-hero-content {
    max-width: 920px;
}

.p67-home-hero .p67-hero-title,
.p67-hero#top .p67-hero-title {
    font-size: clamp(2.55rem, 5vw, 4.65rem);
    line-height: 1;
    max-width: 900px;
}

.p67-home-hero .p67-hero-sub,
.p67-hero#top .p67-hero-sub {
    font-size: clamp(1.05rem, 1.45vw, 1.22rem);
    max-width: 760px;
}

.p67-page-hero,
.p67-builder-hero:not(.p67-checkout-hero),
.p67-contact-hero,
.p67-article-hero {
    align-items: center;
    display: flex;
    min-height: clamp(21rem, 30vw, 29rem);
    padding: clamp(5.9rem, 7.5vw, 8rem) 0 clamp(3rem, 4.2vw, 4.5rem);
}

.p67-page-hero > .p67-container,
.p67-builder-hero > .p67-container,
.p67-contact-hero > .p67-container,
.p67-article-hero > .p67-container {
    width: 100%;
}

.p67-page-hero h1,
.p67-builder-hero:not(.p67-checkout-hero) h1,
.p67-contact-hero h1,
.p67-article-hero h1,
.p67-public-rendered-page > h1 {
    font-size: clamp(2.35rem, 4.6vw, 4.2rem);
    letter-spacing: 0;
    line-height: 1.02;
}

.p67-page-hero p,
.p67-builder-hero:not(.p67-checkout-hero) p,
.p67-contact-hero p,
.p67-article-hero p {
    font-size: clamp(1rem, 1.4vw, 1.18rem);
    max-width: 780px;
}

.p67-hero::before,
.p67-page-hero::before,
.p67-builder-hero::before,
.p67-contact-hero::before,
.p67-article-hero::before,
.p67-hero::after,
.p67-page-hero::after,
.p67-builder-hero::after,
.p67-contact-hero::after,
.p67-article-hero::after {
    opacity: .08;
}

.p67-feature,
.p67-feature-row,
.p67-feature-guide,
.p67-command-panel,
.p67-proof-panel,
.p67-proof-card,
.p67-plan,
.p67-plan-fit-card,
.p67-confidence-card,
.p67-stat-card,
.p67-lg-panel,
.p67-tool-card,
.p67-ops-card,
.p67-home-console,
.p67-cta-band,
.p67-feature-table-wrap,
.p67-compare-wrap,
.p67-proof-table-wrap,
.p67-builder-card,
.p67-client-billing-panel {
    border-radius: 10px;
    box-shadow: none !important;
}

.p67-feature:hover,
.p67-plan:hover,
.p67-plan-featured:hover,
.p67-tool-card:hover,
.p67-client-area-page .p67-client-billing-panel:hover,
.p67-client-area-page .p67-builder-card:hover {
    box-shadow: none !important;
    transform: none;
}

.p67-feature-icon,
.p67-feature-row-icon,
.p67-plan-badge,
.p67-eyebrow,
.p67-feature-tags span,
.p67-hero-chip,
.p67-status-badge,
.p67-price-toggle,
.p67-price-option {
    border-radius: 8px;
}

.p67-eyebrow {
    margin-bottom: .7rem;
    padding: .25rem .55rem;
}

.p67-hero-stats {
    gap: 1rem;
}

.p67-hero-stats strong {
    font-size: 1.25rem;
}

.p67-hero-stats span {
    font-size: .76rem;
}

.p67-public-rendered-page .p67-page-hero,
.p67-cms-body .p67-page-hero,
.p67-cms-body .p67-builder-hero {
    background:
        linear-gradient(rgba(49, 37, 111, .88), rgba(64, 48, 140, .84)),
        url("../../img/world-map-outline.04b03780e8d0.svg") center / cover no-repeat;
    color: #ffffff;
    overflow: hidden;
}

.p67-public-rendered-page .p67-page-hero h1,
.p67-public-rendered-page .p67-page-hero p,
.p67-public-rendered-page .p67-page-hero .p67-eyebrow,
.p67-public-rendered-page .p67-page-hero .p67-link-arrow,
.p67-cms-body .p67-page-hero h1,
.p67-cms-body .p67-page-hero p,
.p67-cms-body .p67-page-hero .p67-eyebrow,
.p67-cms-body .p67-page-hero .p67-link-arrow {
    color: #ffffff;
}

.p67-cms-body .p67-page-hero .p67-eyebrow,
.p67-public-rendered-page .p67-page-hero .p67-eyebrow {
    background: rgba(255, 255, 255, .13);
    border-color: rgba(255, 255, 255, .22);
}

.p67-cms-body .p67-page-hero .p67-link-arrow,
.p67-public-rendered-page .p67-page-hero .p67-link-arrow {
    color: #efeaff;
}

.p67-cms-body .p67-section {
    padding: clamp(3rem, 4vw, 4.25rem) 0;
}

.p67-cms-body .p67-section-alt,
.p67-cms-body .p67-use-proof,
.p67-cms-body .p67-feature-table-section {
    background:
        radial-gradient(circle at 12% 10%, rgba(90, 82, 184, .06), transparent 20rem),
        #f7f7fb;
}

.p67-cms-body .p67-section-title,
.p67-cms-body h2,
.p67-cms-body h3,
.p67-cms-body h4 {
    color: var(--p67-text);
}

.p67-cms-body p,
.p67-cms-body li,
.p67-cms-body td,
.p67-cms-body th {
    color: var(--p67-text-muted);
}

.p67-cms-body .p67-feature,
.p67-cms-body .p67-builder-card,
.p67-cms-body .p67-plan-fit-card,
.p67-cms-body .p67-proof-card,
.p67-cms-body .p67-proof-panel,
.p67-cms-body .p67-compare-wrap,
.p67-cms-body .p67-feature-table-wrap,
.p67-cms-body .p67-proof-table-wrap,
.p67-cms-body .p67-workload-row {
    background: rgba(255, 255, 255, .98);
    border: 1px solid rgba(39, 49, 75, .12);
    border-radius: 12px;
    box-shadow: 0 12px 32px rgba(31, 28, 70, .055);
    color: var(--p67-text);
}

.p67-cms-body .p67-proof-command,
.p67-cms-body .p67-feature-table,
.p67-cms-body .p67-compare {
    background: #ffffff;
    color: var(--p67-text);
}

.p67-cms-body .p67-proof-command code,
.p67-cms-body .p67-proof-command span,
.p67-cms-body .p67-feature-table strong,
.p67-cms-body .p67-compare strong {
    color: var(--p67-text);
}

.p67-cms-body .p67-proof-command {
    border: 1px solid rgba(39, 49, 75, .1);
    border-radius: 10px;
    grid-template-columns: minmax(0, 1fr);
}

.p67-cms-body .p67-cta,
.p67-cms-body .p67-cta-card,
.p67-cms-body .p67-builder-cta {
    background:
        linear-gradient(rgba(49, 37, 111, .9), rgba(79, 59, 168, .86)),
        url("../../img/world-map-outline.04b03780e8d0.svg") center / cover no-repeat;
    border: 1px solid rgba(255, 255, 255, .14);
    color: #ffffff;
}

.p67-cms-body .p67-cta h2,
.p67-cms-body .p67-cta h3,
.p67-cms-body .p67-cta p,
.p67-cms-body .p67-cta-card h2,
.p67-cms-body .p67-cta-card h3,
.p67-cms-body .p67-cta-card p,
.p67-cms-body .p67-builder-cta h2,
.p67-cms-body .p67-builder-cta h3,
.p67-cms-body .p67-builder-cta p {
    color: #ffffff;
}

.p67-cms-body .p67-cta .p67-btn-ghost,
.p67-cms-body .p67-cta-card .p67-btn-ghost,
.p67-cms-body .p67-builder-cta .p67-btn-ghost {
    background: rgba(255, 255, 255, .1);
    border-color: rgba(255, 255, 255, .36);
    color: #ffffff;
}

@media (max-width: 991.98px) {
    .p67-section {
        padding: 2.35rem 0;
    }

    .p67-home-hero.p67-hero,
    body:not(.auth-body) .p67-hero#top {
        padding: 5.4rem 0 3.2rem;
    }

    .p67-home-hero .p67-hero-row,
    .p67-hero#top .p67-hero-row {
        display: block;
        min-height: 0;
    }

    .p67-page-hero,
    .p67-builder-hero:not(.p67-checkout-hero),
    .p67-contact-hero,
    .p67-article-hero {
        min-height: 17.5rem;
        padding: 5rem 0 2.75rem;
    }

    .p67-page-hero h1,
    .p67-builder-hero:not(.p67-checkout-hero) h1,
    .p67-contact-hero h1,
    .p67-article-hero h1,
    .p67-public-rendered-page > h1 {
        font-size: clamp(2rem, 6vw, 3rem);
    }
}

/* Keep public page heroes visually separated from the first content section. */
.p67-page-hero + .p67-section,
.p67-builder-hero:not(.p67-checkout-hero) + .p67-section,
.p67-contact-hero + .p67-section,
.p67-article-hero + .p67-section {
    padding-top: clamp(4.75rem, 6vw, 6.5rem);
}

@media (max-width: 991.98px) {
    .p67-page-hero + .p67-section,
    .p67-builder-hero:not(.p67-checkout-hero) + .p67-section,
    .p67-contact-hero + .p67-section,
    .p67-article-hero + .p67-section {
        padding-top: 3.5rem;
    }
}

@media (max-width: 575.98px) {
    .p67-home-hero.p67-hero,
    body:not(.auth-body) .p67-hero#top {
        padding: 4.8rem 0 2.75rem;
    }

    .p67-page-hero,
    .p67-builder-hero:not(.p67-checkout-hero),
    .p67-contact-hero,
    .p67-article-hero {
        min-height: 16rem;
        padding: 4.7rem 0 2.45rem;
    }

    .p67-page-hero + .p67-section,
    .p67-builder-hero:not(.p67-checkout-hero) + .p67-section,
    .p67-contact-hero + .p67-section,
    .p67-article-hero + .p67-section {
        padding-top: 3rem;
    }
}

/* Public V3 final cascade: keep the redesign simple and consistent. */
.p67-page-hero,
.p67-builder-hero:not(.p67-checkout-hero),
.p67-article-hero {
    align-items: center;
    background:
        linear-gradient(rgba(45, 34, 91, .9), rgba(57, 43, 115, .88)),
        url("../../img/world-map-outline.04b03780e8d0.svg") center / min(1320px, 126vw) auto no-repeat;
    color: #ffffff;
    display: flex;
    min-height: clamp(18rem, 24vw, 24rem);
    padding: clamp(5.35rem, 7vw, 7rem) 0 clamp(2.5rem, 3.6vw, 3.4rem);
    text-align: center;
}

.p67-page-hero > .p67-container,
.p67-builder-hero:not(.p67-checkout-hero) > .p67-container,
.p67-article-hero > .p67-container,
.p67-cms-body .p67-page-hero > .p67-container,
.p67-cms-body .p67-builder-hero > .p67-container {
    align-items: center;
    display: flex;
    flex-direction: column;
}

.p67-page-hero h1,
.p67-builder-hero:not(.p67-checkout-hero) h1,
.p67-article-hero h1 {
    color: #ffffff;
    font-size: clamp(2.15rem, 4vw, 3.55rem);
    line-height: 1.04;
    max-width: 920px;
}

.p67-page-hero p,
.p67-builder-hero:not(.p67-checkout-hero) p,
.p67-article-hero p {
    color: rgba(255, 255, 255, .78);
    max-width: 760px;
}

.p67-page-hero .p67-eyebrow,
.p67-builder-hero:not(.p67-checkout-hero) .p67-eyebrow,
.p67-article-hero .p67-eyebrow {
    background: rgba(255, 255, 255, .12);
    border-color: rgba(255, 255, 255, .24);
    color: #ffffff;
}

.p67-page-hero + .p67-section,
.p67-builder-hero:not(.p67-checkout-hero) + .p67-section,
.p67-contact-hero + .p67-section,
.p67-article-hero + .p67-section {
    padding-top: clamp(3rem, 4.5vw, 4.25rem);
}

.p67-section {
    padding-bottom: clamp(3rem, 5vw, 4.75rem);
    padding-top: clamp(3rem, 5vw, 4.75rem);
}

.p67-section-head {
    margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
}

.row {
    justify-items: stretch;
}

.p67-feature,
.p67-feature-row,
.p67-plan,
.p67-plan-fit-card,
.p67-stat-card,
.p67-confidence-card,
.p67-location,
.p67-tool-card,
.p67-cms-body .p67-feature,
.p67-cms-body .p67-builder-card,
.p67-cms-body .p67-plan-fit-card,
.p67-cms-body .p67-proof-card {
    height: 100%;
}

.p67-feature,
.p67-feature-row,
.p67-cms-body .p67-feature,
.p67-cms-body .p67-builder-card,
.p67-cms-body .p67-plan-fit-card,
.p67-cms-body .p67-proof-card {
    box-shadow: none !important;
    padding: clamp(1.25rem, 2vw, 1.65rem);
}

.p67-feature p,
.p67-feature-row p,
.p67-cms-body .p67-feature p,
.p67-cms-body .p67-builder-card p {
    margin-bottom: 0;
}

.p67-narrow-grid,
.p67-cms-body .row {
    row-gap: 1.5rem;
}

.p67-locations-section {
    text-align: center;
}

.p67-locations-section .row {
    align-items: stretch;
    justify-content: center;
}

.p67-locations-section .p67-location {
    display: grid;
    min-height: 170px;
    place-content: center;
}

.p67-devops-tools {
    margin-top: clamp(2rem, 4vw, 3rem);
}

.p67-builder-actions,
.p67-cta-buttons,
.p67-feature-action-row,
.p67-cms-body .p67-builder-actions {
    justify-content: center;
    text-align: center;
}

.p67-cms-body .p67-section {
    padding-bottom: clamp(2.5rem, 4vw, 3.75rem);
    padding-top: clamp(2.5rem, 4vw, 3.75rem);
}

.p67-cms-body .p67-section + .p67-section {
    margin-top: 0;
}

.p67-cms-body .p67-page-hero,
.p67-cms-body .p67-builder-hero {
    background:
        linear-gradient(rgba(45, 34, 91, .9), rgba(57, 43, 115, .88)),
        url("../../img/world-map-outline.04b03780e8d0.svg") center / min(1320px, 126vw) auto no-repeat;
    min-height: clamp(18rem, 24vw, 24rem);
    text-align: center;
}

.p67-accordion .p67-accordion-body,
.p67-faq .p67-accordion-body {
    padding-top: .75rem;
}

.p67-contact-page {
    background:
        linear-gradient(180deg, #31265b 0%, #3b2b70 100%);
}

.p67-contact-page .p67-contact-hero {
    min-height: calc(100vh - 74px);
    padding-bottom: clamp(4rem, 7vw, 6rem);
}

@media (max-width: 991.98px) {
    .p67-page-hero,
    .p67-builder-hero:not(.p67-checkout-hero),
    .p67-article-hero {
        min-height: 16rem;
        padding: 4.85rem 0 2.5rem;
    }

    .p67-page-hero + .p67-section,
    .p67-builder-hero:not(.p67-checkout-hero) + .p67-section,
    .p67-contact-hero + .p67-section,
    .p67-article-hero + .p67-section {
        padding-top: 2.75rem;
    }
}

/* Public hero background normalization: one filled map image, no stacked overlays. */
.p67-hero,
.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 {
    background-color: #3b2b70 !important;
    background-image: url("../../img/world-map-outline.04b03780e8d0.svg") !important;
    background-position: center 48% !important;
    background-repeat: no-repeat !important;
    background-size: min(1320px, 126vw) auto !important;
    color: #ffffff;
    isolation: isolate;
    overflow: hidden;
}

.p67-hero::before,
.p67-page-hero::before,
.p67-builder-hero::before,
.p67-contact-hero::before,
.p67-article-hero::before,
.p67-hero::after,
.p67-page-hero::after,
.p67-builder-hero::after,
.p67-contact-hero::after,
.p67-article-hero::after {
    background: none !important;
    content: none !important;
    display: none !important;
}

.p67-honeypot {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.p67-honeypot-input {
    pointer-events: none;
}

.p67-turnstile-wrap {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    min-height: 65px;
    margin: 1rem 0;
}

.auth-form-card .p67-turnstile-wrap {
    justify-content: center;
}

