
.aab-section{
    --aab-content-width: 720px;
    --aab-section-padding: 84px;
    --aab-image-height: 520px;
    --aab-image-gap: 18px;
    --aab-accent-opacity: .10;
    --aab-motion-stagger: 90ms;
    --aab-eyebrow-accent: var(--wp--preset--color--accent, #4DA3FF);

    position: relative;
    overflow: hidden;
    padding: var(--aab-section-padding) 32px;
}

.aab-accent-plane{
    position:absolute;
    left:-8%;
    right:-8%;
    bottom:10%;
    height:18%;
    background: color-mix(in srgb, var(--wp--preset--color--accent, #4DA3FF) 76%, transparent);
    opacity: var(--aab-accent-opacity);
    transform: skewY(-4deg);
    transform-origin:left bottom;
    pointer-events:none;
    z-index:0;
}
.accent-glow .aab-accent-plane{
    top:-8%;
    bottom:auto;
    left:auto;
    right:-10%;
    width:28%;
    height:34%;
    border-radius:999px;
    transform:none;
    filter: blur(64px);
}
.accent-none .aab-accent-plane{
    display:none;
}

.aab-shell{
    position:relative;
    z-index:1;
    max-width:1320px;
    margin:0 auto;
    display:grid;
    grid-template-columns: minmax(0, var(--aab-content-width)) minmax(0, 1fr);
    gap: 32px;
    align-items:start;
}
.layout-split .aab-shell{
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.aab-content{
    max-width: var(--aab-content-width);
}

.aab-eyebrow{
    margin:0 0 12px;
    color: var(--aab-eyebrow-accent);
    font-size:.82rem;
    line-height:1.2;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.aab-heading{
    margin:0;
    font-family: var(--wp--preset--font-family--heading, inherit);
    font-size: clamp(2.4rem, 5vw, 5rem);
    line-height:.96;
    letter-spacing:-.035em;
    text-wrap: balance;
}

.aab-copy{
    display:grid;
    gap: 18px;
    margin-top: 24px;
}
.aab-paragraph{
    margin:0;
    line-height:1.78;
    opacity:.84;
    max-width: 44ch;
}

.aab-media-grid{
    display:grid;
    grid-template-columns: 1.1fr .9fr;
    gap: var(--aab-image-gap);
    align-self:start;
}
.aab-media{
    position:relative;
    overflow:hidden;
    border-radius: 10px;
    min-height: var(--aab-image-height);
}
.aab-media-two{
    min-height: calc(var(--aab-image-height) * .72);
    align-self:end;
}
.aab-media-three{
    grid-column: 1 / -1;
    min-height: calc(var(--aab-image-height) * .58);
}
.aab-media img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition: transform .55s cubic-bezier(.25,.1,.25,1), filter .35s ease;
}
.aab-media:hover img,
.aab-media:focus-within img{
    transform: scale(1.02);
    filter: saturate(1.04);
}

/* shared motion */
.aab-motion-enabled .aab-reveal{
    opacity:0;
    transition:
        opacity .9s cubic-bezier(.25,.1,.25,1),
        transform .9s cubic-bezier(.25,.1,.25,1);
}
.aab-motion-enabled.motion-rise .aab-reveal{ transform: translateY(24px); }
.aab-motion-enabled.motion-zoom .aab-reveal{ transform: translateY(18px) scale(.985); }
.aab-motion-enabled.motion-fade .aab-reveal{ transform:none; }
.aab-motion-enabled.is-visible .aab-reveal{
    opacity:1;
    transform: translateY(0) scale(1);
}
.aab-step-1{ transition-delay: calc(var(--aab-motion-stagger) * 0); }
.aab-step-2{ transition-delay: calc(var(--aab-motion-stagger) * 1); }
.aab-step-3{ transition-delay: calc(var(--aab-motion-stagger) * 2); }
.aab-step-4{ transition-delay: calc(var(--aab-motion-stagger) * 3); }

.aab-motion-disabled .aab-reveal{
    opacity:1 !important;
    transform:none !important;
}

@media (max-width: 1024px){
    .aab-shell{
        grid-template-columns: 1fr;
        gap: 24px;
    }
    .aab-content{
        max-width: none;
    }
}
@media (max-width: 900px){
    .aab-section{
        padding: 64px 24px;
    }
    .aab-media-grid{
        grid-template-columns: 1fr;
    }
    .aab-media,
    .aab-media-one,
    .aab-media-two,
    .aab-media-three{
        min-height: 320px;
        margin-top: 0 !important;
        border-radius: 8px !important;
    }
}
@media (max-width: 640px){
    .aab-section{
        padding: 56px 20px;
    }
    .aab-media-grid{
        grid-template-columns: 1fr;
    }
    .aab-media,
    .aab-media-two,
    .aab-media-three{
        min-height: 260px;
    }
}


/* v1.1.0 CTA and improved image formatting */
.aab-actions{
    margin-top: 26px;
}
.aab-btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 22px;
    border-radius: 999px;
    text-decoration: none;
    font-family: Inter, sans-serif;
    font-size: .95rem;
    font-weight: 500;
    line-height: 1;
    background: var(--wp--preset--color--accent, #4DA3FF);
    color: var(--wp--preset--color--base, #fff);
    box-shadow: 0 14px 26px rgba(77,163,255,.22);
    transition: transform .28s ease, box-shadow .28s ease, opacity .28s ease;
}
.aab-btn:hover,
.aab-btn:focus{
    transform: translateY(-2px);
}

.aab-media-grid{
    align-items: stretch;
}
.aab-media{
    background: color-mix(in srgb, var(--wp--preset--color--contrast, #111) 8%, transparent);
}
.aab-media-one{
    min-height: var(--aab-image-height);
}
.aab-media-two{
    min-height: calc(var(--aab-image-height) * .58);
    margin-top: calc(var(--aab-image-gap) * 2.2);
}
.aab-media-three{
    grid-column: 1 / -1;
    min-height: calc(var(--aab-image-height) * .42);
}
.aab-media img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}
.layout-editorial .aab-media-grid{
    grid-template-columns: 1.15fr .85fr;
}
.layout-editorial .aab-media-one{
    border-top-right-radius: 28px;
}
.layout-editorial .aab-media-two{
    border-bottom-left-radius: 28px;
}
.layout-editorial .aab-media-three{
    border-top-left-radius: 28px;
}
.layout-split .aab-shell{
    align-items: center;
}
.layout-split .aab-media-grid{
    grid-template-columns: 1fr 1fr;
}
.layout-split .aab-media-two{
    margin-top: 0;
}
@media (max-width: 900px){
    .aab-media-one,
    .aab-media-two,
    .aab-media-three{
        min-height: 260px;
        margin-top: 0;
        border-radius: 8px !important;
    }
    .aab-actions{
        margin-top: 22px;
    }
}


/* v1.2.0 per-image aspect ratios */
.aab-media{
    min-height: 0;
    aspect-ratio: 4 / 5;
}

.aab-media-one{
    aspect-ratio: var(--aab-image-one-aspect, 4 / 5);
    min-height: 0;
}
.aab-media-two{
    aspect-ratio: var(--aab-image-two-aspect, 3 / 4);
    min-height: 0;
}
.aab-media-three{
    aspect-ratio: var(--aab-image-three-aspect, 16 / 9);
    min-height: 0;
}

.aab-media img{
    object-fit: cover;
    object-position: center center;
}

@media (max-width: 900px){
    .aab-media,
    .aab-media-one,
    .aab-media-two,
    .aab-media-three{
        min-height: 0 !important;
    }
}

/* v1.2.2 force inline one-column image flow on mobile */
@media (max-width: 900px){
    .aab-media-grid,
    .layout-editorial .aab-media-grid,
    .layout-split .aab-media-grid{
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    .aab-media,
    .aab-media-one,
    .aab-media-two,
    .aab-media-three{
        grid-column: 1 / -1 !important;
        width: 100% !important;
        margin-top: 0 !important;
        min-height: 0 !important;
        aspect-ratio: auto !important;
        border-radius: 8px !important;
    }

    .aab-media img,
    .aab-media-one img,
    .aab-media-two img,
    .aab-media-three img{
        width: 100% !important;
        height: auto !important;
        aspect-ratio: auto !important;
        object-fit: cover !important;
        display: block !important;
    }
}

@media (max-width: 640px){
    .aab-media-grid,
    .layout-editorial .aab-media-grid,
    .layout-split .aab-media-grid{
        gap: 12px !important;
    }
}
