/**
 * Alcyone2026 - reusable Page Builder section styles.
 *
 * Content lives in Page Builder (database); these classes are applied through each element's
 * "CSS Classes" field. Scoped under #maincontent because the theme styles all CMS headings with
 * long selectors and sets h1-h6 font sizes with !important.
 *
 * Rows:     alc-section, alc-hero, alc-band, alc-cta
 * Headings: alc-eyebrow (text), alc-title, alc-lead (text), alc-hero__title
 * Columns:  alc-card, alc-stat, alc-step (inside a column group with alc-steps), alc-quote
 * Icons:    alc-icon-<name> on a card column, see the list at the end of this file
 */

#maincontent {
    --alc-bg: #18181b;
    --alc-bg-soft: rgba(39, 39, 42, .5);
    --alc-border: #27272a;
    --alc-border-strong: #3f3f46;
    --alc-text: #ffffff;
    --alc-muted: #a1a1aa;
    --alc-soft: #d4d4d8;
    --alc-accent: #f59e0b;
    --alc-accent-from: #d97706;
    --alc-accent-to: #ca8a04;
}

/* ---------- Rows ---------- */
#maincontent .alc-section {
    margin: 0 0 88px;
}

#maincontent .alc-section > [data-element="inner"],
#maincontent .alc-hero > [data-element="inner"],
#maincontent .alc-band > [data-element="inner"],
#maincontent .alc-cta > [data-element="inner"] {
    padding: 0;
}

#maincontent .alc-hero {
    position: relative;
    overflow: hidden;
    margin: 0 0 28px;
    padding: clamp(32px, 6vw, 72px) clamp(24px, 5vw, 64px);
    border: 1px solid rgba(245, 158, 11, .2);
    border-radius: 28px;
    background:
        radial-gradient(circle at 88% 12%, rgba(245, 158, 11, .18), transparent 50%),
        radial-gradient(circle at 10% 110%, rgba(202, 138, 4, .1), transparent 45%),
        var(--alc-bg);
}

#maincontent .alc-band {
    margin: 0 0 88px;
    padding: 28px clamp(16px, 3vw, 32px);
    border: 1px solid var(--alc-border);
    border-radius: 24px;
    background: var(--alc-bg);
}

#maincontent .alc-cta {
    margin: 0 0 56px;
    padding: clamp(32px, 5vw, 56px);
    border: 1px solid rgba(245, 158, 11, .3);
    border-radius: 28px;
    background: linear-gradient(120deg, rgba(245, 158, 11, .14), transparent 70%), var(--alc-bg);
    text-align: center;
}

/* ---------- Typography ---------- */
#maincontent .alc-eyebrow p {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 22px;
    padding: 7px 16px;
    border: 1px solid rgba(245, 158, 11, .3);
    border-radius: 999px;
    background: rgba(245, 158, 11, .1);
    color: var(--alc-accent);
    font-size: .875rem;
    font-weight: 600;
}

#maincontent .alc-eyebrow p::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--alc-accent);
}

#maincontent h2.alc-hero__title {
    display: inline-block;
    max-width: 960px;
    margin: 0 0 18px;
    background: linear-gradient(90deg, #fff 30%, #fcd34d);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    font-size: clamp(2.25rem, 5.5vw, 4rem) !important;
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -.02em;
}

#maincontent .alc-lead,
#maincontent .alc-lead p {
    max-width: 780px;
    color: var(--alc-muted);
    font-size: clamp(1.0625rem, 1.6vw, 1.25rem);
    line-height: 1.7;
}

#maincontent .alc-cta .alc-lead,
#maincontent .alc-cta .alc-lead p {
    margin-right: auto;
    margin-left: auto;
}

#maincontent h2.alc-title {
    margin: 0 0 12px;
    color: var(--alc-text);
    font-size: clamp(1.75rem, 3vw, 2.25rem) !important;
    line-height: 1.2;
}

#maincontent h2.alc-title::before {
    content: '';
    display: block;
    width: 44px;
    height: 4px;
    margin-bottom: 14px;
    border-radius: 4px;
    background: linear-gradient(90deg, var(--alc-accent-from), var(--alc-accent-to));
}

#maincontent .alc-cta h2.alc-title::before {
    margin-right: auto;
    margin-left: auto;
}

#maincontent .alc-section > [data-element="inner"] > .alc-lead {
    margin-bottom: 28px;
}

#maincontent [data-content-type="buttons"].alc-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}

#maincontent .alc-cta [data-content-type="buttons"].alc-buttons {
    justify-content: center;
}

/* ---------- Column groups ---------- */
#maincontent .alc-grid {
    margin: 0;
}

#maincontent .alc-grid .pagebuilder-column-line {
    gap: 20px;
}

#maincontent .alc-grid .pagebuilder-column-line + .pagebuilder-column-line {
    margin-top: 20px;
}

/* Columns keep their Page Builder width but subtract the gap */
@media (min-width: 768px) {
    #maincontent .alc-grid .pagebuilder-column-line {
        flex-wrap: nowrap;
    }

    #maincontent .alc-grid .pagebuilder-column {
        flex: 1 1 0;
        min-width: 0;
    }
}

@media (max-width: 767px) {
    #maincontent .alc-grid .pagebuilder-column-line {
        flex-wrap: wrap;
    }

    #maincontent .alc-grid .pagebuilder-column {
        width: 100% !important;
    }
}

/* ---------- Cards ---------- */
#maincontent .alc-card {
    padding: 28px;
    border: 1px solid var(--alc-border);
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(245, 158, 11, .05), transparent 55%), var(--alc-bg);
    transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

#maincontent .alc-card:hover {
    border-color: rgba(245, 158, 11, .4);
    box-shadow: 0 18px 40px -24px rgba(245, 158, 11, .4);
    transform: translateY(-3px);
}

#maincontent .alc-card h3 {
    margin: 0 0 10px;
    color: var(--alc-text);
    font-size: 1.1875rem !important;
    line-height: 1.35;
}

#maincontent .alc-card p {
    margin: 0;
    color: var(--alc-muted);
    font-size: .9375rem;
    line-height: 1.7;
}

#maincontent .alc-card p + p {
    margin-top: 10px;
}

/* ---------- Stats ---------- */
#maincontent .alc-stats .pagebuilder-column-line {
    flex-wrap: wrap;
    gap: 0;
}

#maincontent .alc-stats .pagebuilder-column.alc-stat {
    flex: 0 0 50%;
    width: 50% !important;
    padding: 14px 12px;
    text-align: center;
}

@media (min-width: 768px) {
    #maincontent .alc-stats .pagebuilder-column.alc-stat {
        flex-basis: 33.3333%;
        width: 33.3333% !important;
    }
}

@media (min-width: 1200px) {
    #maincontent .alc-stats .pagebuilder-column.alc-stat {
        flex-basis: 16.6666%;
        width: 16.6666% !important;
    }

    #maincontent .alc-stats .pagebuilder-column.alc-stat + .alc-stat {
        border-left: 1px solid var(--alc-border);
    }
}

#maincontent .alc-stat p {
    margin: 0;
    color: var(--alc-muted);
    font-size: .875rem;
    line-height: 1.4;
}

#maincontent .alc-stat strong {
    display: block;
    margin-bottom: 4px;
    background: linear-gradient(90deg, #fff, #fcd34d);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    font-size: clamp(1.875rem, 3vw, 2.5rem);
    font-weight: 800;
    line-height: 1.1;
}

/* ---------- Quote ---------- */
#maincontent .alc-quote {
    justify-content: center !important;
    padding: 32px;
    border-left: 4px solid var(--alc-accent);
    border-radius: 0 20px 20px 0;
    background: linear-gradient(90deg, rgba(245, 158, 11, .12), transparent), var(--alc-bg);
}

#maincontent .alc-quote p {
    margin: 0;
    color: var(--alc-text);
    font-size: clamp(1.25rem, 2.2vw, 1.625rem);
    font-weight: 700;
    line-height: 1.4;
}

#maincontent .alc-quote p + p {
    margin-top: 12px;
    color: var(--alc-accent);
    font-size: .9375rem;
    font-weight: 600;
}

#maincontent .alc-prose p {
    margin: 0 0 16px;
    color: var(--alc-soft);
    font-size: 1.0625rem;
    line-height: 1.8;
}

/* ---------- Steps (numbered via CSS, connected by a line on desktop) ---------- */
#maincontent .alc-steps .pagebuilder-column-line {
    position: relative;
    counter-reset: alc-step;
}

#maincontent .alc-step {
    position: relative;
    counter-increment: alc-step;
    padding: 76px 24px 24px;
    border: 1px solid var(--alc-border);
    border-radius: 20px;
    background: var(--alc-bg);
}

#maincontent .alc-step::before {
    content: counter(alc-step, decimal-leading-zero);
    position: absolute;
    top: 20px;
    left: 24px;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--alc-accent-from), var(--alc-accent-to));
    box-shadow: 0 0 0 6px var(--alc-bg);
    color: #000;
    font-size: .9375rem;
    font-weight: 800;
}

@media (min-width: 768px) {
    /* Line through the step numbers */
    #maincontent .alc-steps .pagebuilder-column-line::before {
        content: '';
        position: absolute;
        top: 41px;
        right: 40px;
        left: 40px;
        height: 2px;
        background: linear-gradient(90deg, var(--alc-accent), rgba(245, 158, 11, .2));
    }

    #maincontent .alc-step {
        background: transparent;
        border-color: transparent;
        padding-top: 84px;
    }

    #maincontent .alc-step::before {
        box-shadow: 0 0 0 8px #000;
    }
}

#maincontent .alc-step h3 {
    margin: 0 0 8px;
    color: var(--alc-text);
    font-size: 1.125rem !important;
}

#maincontent .alc-step p {
    margin: 0;
    color: var(--alc-muted);
    font-size: .9375rem;
    line-height: 1.65;
}

/* ---------- Company details ---------- */
#maincontent .alc-details {
    padding: 28px;
    border: 1px solid var(--alc-border);
    border-radius: 20px;
    background: var(--alc-bg);
}

#maincontent .alc-details p {
    margin: 0 0 12px;
    color: var(--alc-soft);
    font-size: .9375rem;
    line-height: 1.6;
}

#maincontent .alc-details strong {
    color: var(--alc-text);
}

#maincontent .alc-map [data-content-type="map"] {
    overflow: hidden;
    margin: 0 !important;
    border: 1px solid var(--alc-border);
    border-radius: 20px;
}

/* ---------- Icons: add alc-icon-<name> to a card column ---------- */
#maincontent [class*="alc-icon-"]::before {
    content: '';
    display: block;
    flex: 0 0 auto;
    width: 48px;
    height: 48px;
    margin-bottom: 18px;
    border: 1px solid rgba(245, 158, 11, .25);
    border-radius: 14px;
    background-color: rgba(245, 158, 11, .1);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 24px 24px;
}

#maincontent .alc-icon-workshop::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f59e0b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z'/%3E%3C/svg%3E"); }
#maincontent .alc-icon-globe::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f59e0b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20'/%3E%3Cpath d='M2 12h20'/%3E%3C/svg%3E"); }
#maincontent .alc-icon-target::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f59e0b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Ccircle cx='12' cy='12' r='6'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3C/svg%3E"); }
#maincontent .alc-icon-cart::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f59e0b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='21' r='1'/%3E%3Ccircle cx='19' cy='21' r='1'/%3E%3Cpath d='M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12'/%3E%3C/svg%3E"); }
#maincontent .alc-icon-bot::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f59e0b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 8V4H8'/%3E%3Crect width='16' height='12' x='4' y='8' rx='2'/%3E%3Cpath d='M2 14h2'/%3E%3Cpath d='M20 14h2'/%3E%3Cpath d='M15 13v2'/%3E%3Cpath d='M9 13v2'/%3E%3C/svg%3E"); }
#maincontent .alc-icon-cpu::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f59e0b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='16' height='16' x='4' y='4' rx='2'/%3E%3Crect width='6' height='6' x='9' y='9' rx='1'/%3E%3Cpath d='M15 2v2M15 20v2M2 15h2M2 9h2M20 15h2M20 9h2M9 2v2M9 20v2'/%3E%3C/svg%3E"); }
#maincontent .alc-icon-plug::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f59e0b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22v-5'/%3E%3Cpath d='M9 8V2'/%3E%3Cpath d='M15 8V2'/%3E%3Cpath d='M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8Z'/%3E%3C/svg%3E"); }
#maincontent .alc-icon-sparkles::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f59e0b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3-1.9 5.8a2 2 0 0 1-1.3 1.3L3 12l5.8 1.9a2 2 0 0 1 1.3 1.3L12 21l1.9-5.8a2 2 0 0 1 1.3-1.3L21 12l-5.8-1.9a2 2 0 0 1-1.3-1.3Z'/%3E%3C/svg%3E"); }
#maincontent .alc-icon-lightbulb::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f59e0b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5'/%3E%3Cpath d='M9 18h6'/%3E%3Cpath d='M10 22h4'/%3E%3C/svg%3E"); }
#maincontent .alc-icon-eye::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f59e0b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E"); }
#maincontent .alc-icon-award::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f59e0b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='6'/%3E%3Cpath d='M15.477 12.89 17 22l-5-3-5 3 1.523-9.11'/%3E%3C/svg%3E"); }
#maincontent .alc-icon-handshake::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f59e0b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E"); }
#maincontent .alc-icon-shield::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f59e0b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E"); }
#maincontent .alc-icon-code::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f59e0b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='16 18 22 12 16 6'/%3E%3Cpolyline points='8 6 2 12 8 18'/%3E%3C/svg%3E"); }
#maincontent .alc-icon-rocket::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f59e0b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z'/%3E%3Cpath d='m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z'/%3E%3C/svg%3E"); }
#maincontent .alc-icon-chart::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f59e0b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='22 7 13.5 15.5 8.5 10.5 2 17'/%3E%3Cpolyline points='16 7 22 7 22 13'/%3E%3C/svg%3E"); }
#maincontent .alc-icon-heart::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f59e0b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3C/svg%3E"); }
#maincontent .alc-icon-cloud::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f59e0b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z'/%3E%3C/svg%3E"); }
#maincontent .alc-icon-search::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f59e0b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E"); }
#maincontent .alc-icon-document::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f59e0b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3Cline x1='16' x2='8' y1='13' y2='13'/%3E%3Cline x1='16' x2='8' y1='17' y2='17'/%3E%3C/svg%3E"); }
#maincontent .alc-icon-sliders::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f59e0b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='4' x2='4' y1='21' y2='14'/%3E%3Cline x1='4' x2='4' y1='10' y2='3'/%3E%3Cline x1='12' x2='12' y1='21' y2='12'/%3E%3Cline x1='12' x2='12' y1='8' y2='3'/%3E%3Cline x1='20' x2='20' y1='21' y2='16'/%3E%3Cline x1='20' x2='20' y1='12' y2='3'/%3E%3Cline x1='2' x2='6' y1='14' y2='14'/%3E%3Cline x1='10' x2='14' y1='8' y2='8'/%3E%3Cline x1='18' x2='22' y1='16' y2='16'/%3E%3C/svg%3E"); }

/* ---------- Stats with four items ---------- */
@media (min-width: 768px) {
    #maincontent .alc-stats--4 .pagebuilder-column.alc-stat {
        flex-basis: 25%;
        width: 25% !important;
    }

    #maincontent .alc-stats--4 .pagebuilder-column.alc-stat + .alc-stat {
        border-left: 1px solid var(--alc-border);
    }
}

/* ---------- Logo tiles (partner / funding logos made for white backgrounds) ---------- */
#maincontent .alc-logo {
    justify-content: center !important;
    min-height: 140px;
    padding: 24px;
    border-radius: 18px;
    background: #fff;
}

#maincontent .alc-logo figure {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
}

#maincontent .alc-logo img {
    width: auto;
    max-width: 100%;
    max-height: 88px;
    object-fit: contain;
}

@media (max-width: 767px) {
    #maincontent .alc-logos .pagebuilder-column-line {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* ---------- Media tile (illustrations made for white backgrounds) ---------- */
#maincontent .alc-media {
    justify-content: center !important;
    padding: 24px;
    border-radius: 24px;
    background: #fff;
}

#maincontent .alc-media figure {
    margin: 0;
}

#maincontent .alc-media img {
    display: block;
    width: 100%;
    max-width: 520px;
    height: auto;
    margin: 0 auto;
}

@media (min-width: 768px) {
    #maincontent .alc-grid .pagebuilder-column.alc-media + .pagebuilder-column {
        justify-content: center !important;
        padding-left: 24px;
    }
}

/* ---------- Chips list inside a text element: <ul class="alc-chips"> ---------- */
#maincontent ul.alc-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 16px 0 0;
    padding: 0;
    list-style: none;
}

#maincontent ul.alc-chips li {
    margin: 0;
    padding: 4px 12px;
    border: 1px solid var(--alc-border-strong);
    border-radius: 999px;
    background: var(--alc-bg-soft);
    color: var(--alc-soft);
    font-size: .8125rem;
    font-weight: 500;
    line-height: 1.5;
}

#maincontent ul.alc-chips li::before {
    content: none;
}

/* Breathing room when a section directly follows the hero */
#maincontent .alc-hero + .alc-section {
    margin-top: 72px;
}
