:root {
    --sp-soft: #f7f7f7;
    --sp-muted: #6f6f6f;
    --sp-line: #dddddd;
    --sp-field: #ffffff;
    --sp-measure: 46rem;
    --sp-section-space: clamp(3.5rem, calc(2rem + 4vw), 5.5rem);
    --sp-row-space: clamp(1.75rem, calc(1rem + 2vw), 2.75rem);
}

#et-boc .et-l--post .et_pb_section:is(.sp-hero, .sp-value, .sp-cases, .sp-process, .sp-proof, .sp-questions, .sp-enquiry) {
    padding: var(--sp-section-space) 0;
    background-color: #ffffff;
}

#et-boc .et-l--post .et_pb_section.sp-soft {
    background-color: var(--sp-soft);
}

#et-boc .et-l--post .et_pb_section.sp-process {
    border-top: 1px solid var(--sp-line);
}

#et-boc .et-l--post .et_pb_section.sp-hero {
    padding-bottom: 0;
}

#et-boc .et-l--post :is(.sp-hero, .sp-value, .sp-cases, .sp-process, .sp-proof, .sp-questions, .sp-enquiry) .et_pb_row {
    padding: 0;
}

#et-boc .et-l--post :is(.sp-hero, .sp-value, .sp-cases, .sp-process, .sp-proof, .sp-questions, .sp-enquiry) .et_pb_row + .et_pb_row {
    margin-top: var(--sp-row-space);
}

#et-boc .et-l--post .sp-intro .et_pb_module,
#et-boc .et-l--post :is(.sp-item, .sp-case-text, .sp-enquiry-text) .et_pb_module {
    margin-bottom: 0;
}

#et-boc .et-l--post :is(.sp-hero, .sp-value, .sp-cases, .sp-process, .sp-proof, .sp-questions, .sp-enquiry) :is(h1, h2, h3) {
    font-family: var(--type-heading-family);
    font-weight: var(--type-heading-weight);
    letter-spacing: var(--type-heading-tracking);
    color: var(--type-heading-color);
    padding-bottom: 0;
    margin: 0 0 0.45em;
}

#et-boc .et-l--post :is(.sp-hero, .sp-value, .sp-cases, .sp-process, .sp-proof, .sp-questions, .sp-enquiry) h1 {
    max-width: 18em;
    font-size: clamp(var(--type-h1-size-floor), var(--type-h1-size-fluid), var(--type-h1-size-ceiling));
    line-height: var(--type-h1-leading);
}

#et-boc .et-l--post :is(.sp-hero, .sp-value, .sp-cases, .sp-process, .sp-proof, .sp-questions, .sp-enquiry) h2 {
    max-width: 22em;
    font-size: clamp(var(--type-h2-size-floor), var(--type-h2-size-fluid), var(--type-h2-size-ceiling));
    line-height: var(--type-h2-leading);
}

#et-boc .et-l--post :is(.sp-hero, .sp-value, .sp-cases, .sp-process, .sp-proof, .sp-questions, .sp-enquiry) h3 {
    font-size: clamp(var(--type-h3-size-floor), var(--type-h3-size-fluid), var(--type-h3-size-ceiling));
    line-height: var(--type-h3-leading);
}

#et-boc .et-l--post :is(.sp-hero, .sp-value, .sp-cases, .sp-process, .sp-proof, .sp-questions, .sp-enquiry) .et_pb_text :is(p, li) {
    font-family: var(--type-body-family);
    font-size: clamp(var(--type-body-size-floor), var(--type-body-size-fluid), var(--type-body-size-ceiling));
    line-height: var(--type-body-leading);
    color: var(--type-body-color);
    padding-bottom: 0;
    margin-bottom: var(--type-space-after-block);
}

#et-boc .et-l--post :is(.sp-hero, .sp-value, .sp-cases, .sp-process, .sp-proof, .sp-questions, .sp-enquiry) .et_pb_text p:last-child {
    margin-bottom: 0;
}

#et-boc .et-l--post .sp-intro .et_pb_text,
#et-boc .et-l--post .sp-enquiry-text .et_pb_text:not(.sp-kicker) {
    max-width: var(--sp-measure);
}

#et-boc .et-l--post .et_pb_text.sp-kicker p {
    margin-bottom: 0.9rem;
    font-size: 0.75rem;
    line-height: 1.4;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--sp-muted);
}

#et-boc .et-l--post .et_pb_button_module_wrapper:has(.sp-cta),
#et-boc .et-l--post .et_pb_button.sp-cta {
    margin-top: 1.75rem;
}

#et-boc .et-l--post .et_pb_text.sp-note p,
#et-boc .et-l--post .et_pb_text.sp-caption p {
    font-size: clamp(var(--type-caption-size-floor), var(--type-caption-size-fluid), var(--type-caption-size-ceiling));
    line-height: var(--type-caption-leading);
    color: var(--sp-muted);
}

#et-boc .et-l--post .et_pb_text.sp-note {
    margin-top: 0.75rem;
}

#et-boc .et-l--post .sp-hero-image {
    margin-top: var(--sp-section-space);
}

#et-boc .et-l--post .sp-hero-image .et_pb_image {
    margin-bottom: 0.6rem;
}

#et-boc .et-l--post :is(.sp-hero-image, .sp-case-image) img {
    display: block;
    width: 100%;
    height: auto;
}

#et-boc .et-l--post .sp-grid {
    row-gap: 1.75rem;
}

#et-boc .et-l--post .sp-item {
    padding-top: 1.1rem;
    border-top: 1px solid var(--sp-line);
}

@media (min-width: 768px) {

    #et-boc .et-l--post .sp-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    #et-boc .et-l--post .sp-grid:has(> .sp-item:nth-child(2):last-child) {
        grid-template-columns: minmax(0, 1fr);
    }

    #et-boc .et-l--post .sp-grid > .sp-item {
        display: grid;
        grid-row: span 3;
        grid-template-rows: subgrid;
        width: auto;
        max-width: none;
        margin: 0;
    }

    #et-boc .et-l--post .sp-grid > .sp-item:is(:not(:has(> .et_pb_heading)), :not(:has(> .sp-index)), .sp-credentials > *) {
        grid-row: span 2;
    }
}

@media (min-width: 981px) {

    #et-boc .et-l--post .sp-grid:has(> .sp-item:nth-child(2):last-child) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

#et-boc .et-l--post .et_pb_text.sp-index p {
    margin-bottom: 0.85rem;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    color: var(--sp-muted);
}

#et-boc .et-l--post .sp-credentials .et_pb_text.sp-index {
    display: none;
}

#et-boc .et-l--post :is(.sp-steps, .sp-credentials) .et_pb_text:not(.sp-index) p {
    color: var(--sp-muted);
}

#et-boc .et-l--post .sp-case {
    row-gap: 1.25rem;
    align-items: center;
}

#et-boc .et-l--post .sp-case + .sp-case {
    padding-top: var(--sp-row-space);
    border-top: 1px solid var(--sp-line);
}

#et-boc .et-l--post .sp-case-image .et_pb_image {
    margin-bottom: 0;
}

#et-boc .et-l--post .sp-narrow .et_pb_column {
    max-width: 52rem;
}

#et-boc .et-l--post .et_pb_accordion.sp-faq {
    border-top: 1px solid var(--sp-line);
}

#et-boc .et-l--post .sp-faq .et_pb_toggle {
    margin: 0;
    padding: 1.1rem 2.5rem 1.1rem 0;
    border: 0;
    border-bottom: 1px solid var(--sp-line);
    background: transparent;
}

#et-boc .et-l--post .sp-faq .et_pb_toggle_title {
    padding-bottom: 0;
    font-family: var(--type-body-family);
    font-size: var(--type-toggle-size);
    font-weight: var(--type-toggle-weight);
    line-height: var(--type-toggle-leading);
    color: var(--type-body-color);
}

#et-boc .et-l--post .sp-faq .et_pb_toggle_title::before {
    right: -2.5rem;
    color: var(--sp-muted);
}

#et-boc .et-l--post .sp-faq .et_pb_toggle_content {
    padding-top: 0.75rem;
}

#et-boc .et-l--post .sp-faq .et_pb_toggle_content p {
    max-width: var(--sp-measure);
    padding-bottom: 0;
    font-family: var(--type-body-family);
    font-size: clamp(var(--type-body-size-floor), var(--type-body-size-fluid), var(--type-body-size-ceiling));
    line-height: var(--type-body-leading);
    color: var(--type-body-color);
}

#et-boc .et-l--post .sp-enquiry-row {
    row-gap: 2rem;
    align-items: flex-start;
}

#et-boc .et-l--post .sp-form .et_pb_contact_main_title {
    margin-bottom: 1rem;
}

#et-boc .et-l--post .sp-form :is(.input, input[type="text"], input[type="email"], select, textarea) {
    border: 1px solid var(--sp-line);
    background-color: var(--sp-field);
    color: var(--type-body-color);
    font-family: var(--type-body-family);
    font-size: 1rem;
}

#et-boc .et-l--post .sp-form :is(.input, select, textarea):focus {
    border-color: var(--type-heading-color);
    outline: none;
}

#et-boc .et-l--post .sp-form .input::placeholder {
    color: var(--sp-muted);
}

#et-boc .et-l--post .sp-form .et_contact_bottom_container {
    margin-top: 0.5rem;
}

#et-boc .et-l--post .sp-form .et-pb-contact-message p {
    font-family: var(--type-body-family);
    color: var(--type-body-color);
}
