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

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

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

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

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

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

.l1-checkout-mini-steps span.is-active {
    background: rgba(120, 131, 146, .1);
    border-color: rgba(120, 131, 146, .28);
}

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

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

.l1-order-cadence.is-selected {
    background: #f6f7f8;
}

/* 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. */
.l1-checkout-layout-wide {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.l1-verifying-spinner {
    animation: l1Spin .8s linear infinite;
    border: 2px solid rgba(120, 131, 146, .25);
    border-radius: 50%;
    border-top-color: var(--l1-primary);
    display: inline-block;
    height: 18px;
    width: 18px;
}

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

/* Public surface polish: lighter surfaces, cleaner map-backed sections,
   and less boxed-in utility content. */
.l1-hero {
    background:
        radial-gradient(circle at 14% 12%, rgba(222, 225, 229, .22), transparent 32%),
        linear-gradient(135deg, rgba(141, 150, 163, .24), rgba(79, 87, 99, .16) 46%, rgba(255, 255, 255, .04) 100%),
        linear-gradient(180deg, #353a41 0%, #414851 56%, #555d69 100%);
    padding-bottom: 5.35rem;
}

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

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

.l1-feature,
.l1-feature-row,
.l1-plan,
.l1-command-panel,
.l1-ops-card,
.l1-plan-fit-card,
.l1-confidence-card,
.l1-stat-card,
.l1-lg-panel {
    border-color: rgba(80, 88, 100, .12);
}

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

.l1-feature:hover {
    border-color: rgba(120, 131, 146, .34);
    transform: translateY(-2px);
}

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

.l1-locations-section .l1-tool-card {
    background: rgba(255, 255, 255, .58);
    border: 1px solid rgba(80, 88, 100, .1);
    box-shadow: none;
    backdrop-filter: blur(3px);
}

.l1-locations-section .l1-tool-card:hover {
    background: rgba(255, 255, 255, .72);
    border-color: rgba(120, 131, 146, .22);
}

.l1-client-area-page .l1-client-billing-panel,
.l1-client-area-page .l1-builder-card {
    border-color: rgba(80, 88, 100, .12);
    box-shadow: 0 14px 34px rgba(44, 48, 54, .065);
}

.l1-client-area-page .l1-client-billing-panel:hover {
    box-shadow: 0 18px 42px rgba(44, 48, 54, .09);
}

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

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

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

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

.l1-pulsar-orbit-dot {
    animation: l1OrbitSpin 9s linear infinite;
}

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

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

.l1-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;
}

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

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

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

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

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

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

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

.l1-nav-link,
.l1-menu-trigger {
    align-items: center;
    background: transparent;
    border: 0;
    color: var(--l1-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;
}

.l1-nav-link:hover,
.l1-nav-link.active,
.l1-menu-trigger:hover,
.l1-menu-trigger.active,
.l1-menu .dropdown-toggle.show,
.l1-menu .dropdown-toggle[aria-expanded="true"] {
    background: rgba(120, 131, 146, 0.08);
    color: var(--l1-text);
}

.l1-menu {
    position: relative;
}

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

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

.l1-menu-panel {
    background: #ffffff;
    border: 1px solid var(--l1-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;
}

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

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

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

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

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

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

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

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

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

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

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

    .l1-nav-collapse {
        align-items: stretch;
        background: #ffffff;
        border: 1px solid var(--l1-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);
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.l1-nav-profile .l1-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;
}

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

.l1-nav-profile .l1-profile-toggle:hover,
.l1-nav-profile .l1-profile-toggle:focus,
.l1-nav-profile .l1-profile-toggle.show,
.l1-nav-profile .l1-profile-toggle[aria-expanded="true"] {
    background: rgba(120, 131, 146, .08);
    color: var(--l1-text);
}

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

.l1-profile-toggle .l1-profile-avatar-blank i {
    color: var(--l1-brand-strong);
    font-size: 0.9rem;
    height: auto;
    line-height: 1;
    transform: translateY(0.5px);
    transition: none;
    width: auto;
}

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

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

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

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

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

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

.l1-accordion .l1-accordion-button::after,
.l1-faq .l1-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: var(--l1-font-body);
    font-size: 1rem;
    font-weight: 900;
    height: 28px;
    justify-content: center;
    line-height: 1;
    width: 28px;
}

.l1-accordion .l1-accordion-button:not(.is-collapsed)::after,
.l1-faq .l1-accordion-button:not(.is-collapsed)::after {
    background: #f8fafc;
    border-color: rgba(120, 131, 146, .34);
    color: var(--l1-primary);
    content: "-";
}

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

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

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

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

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

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

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

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

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

.l1-cms-body .l1-section-alt {
    background: #f8f9fa;
}

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

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

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

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

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

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

.l1-cms-body .l1-feature,
.l1-cms-body .l1-builder-card {
    background: #ffffff;
    border: 1px solid rgba(39, 49, 75, .12);
    box-shadow: 0 12px 32px rgba(44, 48, 54, .055);
}

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

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

.l1-client-hero,
.l1-checkout-simple-head.l1-client-hero {
    background:
        radial-gradient(90% 140% at 100% 0%, rgba(120, 131, 146, .09), transparent 52%),
        #ffffff;
    border: 1px solid rgba(39, 49, 75, .12);
    border-radius: 10px;
    box-shadow: 0 12px 30px rgba(44, 48, 54, .07);
    color: var(--l1-text);
    padding: 1rem 1.15rem;
}

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

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

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

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

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

.l1-client-hero .l1-checkout-mini-steps span {
    background: #f9f9fa;
    border-color: rgba(120, 131, 146, .18);
    color: var(--l1-primary-dark);
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.l1-addon-price {
    color: var(--l1-text);
    font-family: var(--l1-font-head);
    font-weight: 700;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.l1-page-hero,
.l1-builder-hero:not(.l1-checkout-hero),
.l1-contact-hero,
.l1-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);
}

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

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

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

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

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

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

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

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

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

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

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

.l1-public-rendered-page .l1-page-hero,
.l1-cms-body .l1-page-hero,
.l1-cms-body .l1-builder-hero {
    background:
        linear-gradient(rgba(66, 73, 82, .88), rgba(84, 92, 104, .84)),
        url("../../img/world-map-outline.04b03780e8d0.svg") center / cover no-repeat;
    color: #ffffff;
    overflow: hidden;
}

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

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

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

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

.l1-cms-body .l1-section-alt,
.l1-cms-body .l1-use-proof,
.l1-cms-body .l1-feature-table-section {
    background:
        radial-gradient(circle at 12% 10%, rgba(120, 131, 146, .06), transparent 20rem),
        #f8f9fa;
}

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

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

.l1-cms-body .l1-feature,
.l1-cms-body .l1-builder-card,
.l1-cms-body .l1-plan-fit-card,
.l1-cms-body .l1-proof-card,
.l1-cms-body .l1-proof-panel,
.l1-cms-body .l1-compare-wrap,
.l1-cms-body .l1-feature-table-wrap,
.l1-cms-body .l1-proof-table-wrap,
.l1-cms-body .l1-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(44, 48, 54, .055);
    color: var(--l1-text);
}

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

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

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

.l1-cms-body .l1-cta,
.l1-cms-body .l1-cta-card,
.l1-cms-body .l1-builder-cta {
    background:
        linear-gradient(rgba(66, 73, 82, .9), rgba(101, 111, 126, .86)),
        url("../../img/world-map-outline.04b03780e8d0.svg") center / cover no-repeat;
    border: 1px solid rgba(255, 255, 255, .14);
    color: #ffffff;
}

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

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

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

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

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

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

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

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

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

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

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

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

/* Public V3 final cascade: keep the redesign simple and consistent. */
.l1-page-hero,
.l1-builder-hero:not(.l1-checkout-hero),
.l1-article-hero {
    align-items: center;
    background:
        linear-gradient(rgba(56, 61, 69, .9), rgba(70, 78, 88, .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;
}

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

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

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

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

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

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

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

.row {
    justify-items: stretch;
}

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

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

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

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

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

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

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

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

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

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

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

.l1-cms-body .l1-page-hero,
.l1-cms-body .l1-builder-hero {
    background:
        linear-gradient(rgba(56, 61, 69, .9), rgba(70, 78, 88, .88)),
        url("../../img/world-map-outline.04b03780e8d0.svg") center / min(1320px, 126vw) auto no-repeat;
    min-height: clamp(18rem, 24vw, 24rem);
    text-align: center;
}

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

.l1-contact-page {
    background:
        linear-gradient(180deg, #393f48 0%, #454c56 100%);
}

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

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

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

/* Public hero background normalization: one filled map image, no stacked overlays. */
.l1-hero,
.l1-page-hero,
.l1-builder-hero:not(.l1-checkout-hero),
.l1-contact-hero,
.l1-article-hero,
.l1-public-rendered-page .l1-page-hero,
.l1-cms-body .l1-page-hero,
.l1-cms-body .l1-builder-hero {
    background-color: var(--l1-hero-ground) !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;
}

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

.l1-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;
}

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

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

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

