
.aoa-empty{
    padding:1rem 1.25rem;
    border:1px dashed rgba(0,0,0,.15);
    border-radius:14px;
    background:rgba(0,0,0,.02)
}

.aoa-section{
    --aoa-eyebrow-accent: var(--wp--preset--color--accent, #4DA3FF);
    --aoa-card-min-height: 500px;
    --aoa-hover-lift: 6px;
    --aoa-hover-overlay-opacity: .14;
    --aoa-title-underline-width: 40%;
    --aoa-motion-stagger: 70ms;

    position: relative;
    overflow: hidden;
    padding: 72px 32px;
}

.aoa-section::before{
    content:"";
    position:absolute;
    left:-8%;
    right:-8%;
    bottom:10%;
    height:18%;
    background: color-mix(in srgb, var(--wp--preset--color--accent, #4DA3FF) 76%, transparent);
    opacity:.08;
    transform:skewY(-4deg);
    transform-origin:left bottom;
    pointer-events:none;
    z-index:0;
}
.aoa-section > *{
    position:relative;
    z-index:1;
}

.aoa-section-header{
    max-width: 880px;
    margin: 0 auto 34px;
    text-align: center;
}
.aoa-section-eyebrow{
    margin:0 0 12px;
    color: var(--aoa-eyebrow-accent);
    font-size:.82rem;
    line-height:1.2;
    letter-spacing:.16em;
    text-transform:uppercase;
}
.aoa-section-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;
}
.aoa-section-intro{
    max-width: 44ch;
    margin:16px auto 0;
    line-height:1.72;
    opacity:.82;
}

.aoa-attorney-grid{
    display:grid;
    gap:18px;
}
.aoa-attorney-grid.columns-1{grid-template-columns:1fr}
.aoa-attorney-grid.columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.aoa-attorney-grid.columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.aoa-attorney-grid.columns-4{grid-template-columns:repeat(4,minmax(0,1fr))}

.aoa-card-link{
    display:block;
    text-decoration:none;
    color:inherit;
}
.aoa-card-media{
    min-height: var(--aoa-card-min-height);
    border-radius: 10px;
    overflow: hidden;
    background-color: color-mix(in srgb, var(--wp--preset--color--contrast, #111) 12%, transparent);
    background-size: cover;
    background-position: center 18%;
    background-repeat: no-repeat;
    position:relative;
    transition:
        transform .55s cubic-bezier(.25,.1,.25,1),
        filter .35s ease,
        box-shadow .35s ease;
}
.aoa-card-gradient{
    position:absolute;
    inset:0;
    background:
        linear-gradient(180deg,
            rgba(9,10,13,.06) 0%,
            rgba(9,10,13,.20) 34%,
            rgba(9,10,13,.84) 100%);
    transition: opacity .35s ease, background .35s ease;
}
.aoa-card-sheen{
    position:absolute;
    inset:0;
    background:
        linear-gradient(180deg,
            color-mix(in srgb, var(--wp--preset--color--base, #fff) 0%, transparent) 0%,
            color-mix(in srgb, var(--wp--preset--color--accent, #4DA3FF) 10%, transparent) 100%);
    opacity:0;
    transition: opacity .35s ease;
}
.aoa-card-main{
    position:absolute;
    inset:auto 0 0 0;
    padding: 24px 22px 22px;
    color: var(--wp--preset--color--base, #fff);
}
.aoa-card-role{
    margin:0 0 10px;
    color: rgba(255,255,255,.74);
    font-size:.78rem;
    line-height:1.2;
    letter-spacing:.14em;
    text-transform:uppercase;
}
.aoa-card-title{
    margin:0;
    font-family: var(--wp--preset--font-family--heading, inherit);
    font-size: clamp(1.35rem, 2vw, 1.75rem);
    line-height:1.02;
    letter-spacing:-.025em;
    color: inherit;
}
.aoa-card-title::after{
    content:"";
    display:block;
    width:0;
    height:2px;
    background: var(--wp--preset--color--accent, #4DA3FF);
    margin-top:12px;
    transition: width .32s ease;
}
.aoa-card-location{
    margin:10px 0 0;
    color: rgba(255,255,255,.74);
    font-size:.92rem;
    line-height:1.4;
}
.aoa-card-hover{
    max-height:0;
    opacity:0;
    overflow:hidden;
    transform: translateY(10px);
    transition:
        max-height .4s cubic-bezier(.25,.1,.25,1),
        opacity .35s ease,
        transform .35s ease;
}
.aoa-card-summary{
    margin:18px 0 0;
    color:#fff;
    line-height:1.68;
    font-size:.98rem;
    max-width: 28ch;
}
.aoa-card-more{
    display:inline-block;
    margin-top:16px;
    font-size:.82rem;
    line-height:1.2;
    letter-spacing:.14em;
    text-transform:uppercase;
    color: rgba(255,255,255,.84);
}

.aoa-card-link:hover .aoa-card-media,
.aoa-card-link:focus .aoa-card-media{
    transform: translateY(calc(var(--aoa-hover-lift) * -1)) scale(1.015);
    filter: saturate(1.03);
}
.aoa-card-link:hover .aoa-card-sheen,
.aoa-card-link:focus .aoa-card-sheen{
    opacity: var(--aoa-hover-overlay-opacity);
}
.aoa-card-link:hover .aoa-card-gradient,
.aoa-card-link:focus .aoa-card-gradient{
    background:
        linear-gradient(180deg,
            rgba(9,10,13,.04) 0%,
            rgba(9,10,13,.18) 28%,
            rgba(9,10,13,.88) 100%);
}
.aoa-card-link:hover .aoa-card-title::after,
.aoa-card-link:focus .aoa-card-title::after{
    width: var(--aoa-title-underline-width);
}
.aoa-card-link:hover .aoa-card-hover,
.aoa-card-link:focus .aoa-card-hover{
    max-height: 180px;
    opacity: 1;
    transform: translateY(0);
}

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

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

@media (max-width:1024px){
    .aoa-attorney-grid.columns-3,
    .aoa-attorney-grid.columns-4{
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
}
@media (max-width:900px){
    .aoa-section{ padding:64px 24px; }
    .aoa-section-header{ margin-bottom:26px; }
    .aoa-attorney-grid{ gap:14px; }
    .aoa-card-media{
        min-height: 420px;
        border-radius: 8px;
    }
}
@media (max-width:640px){
    .aoa-attorney-grid.columns-2,
    .aoa-attorney-grid.columns-3,
    .aoa-attorney-grid.columns-4{
        grid-template-columns:1fr
    }
    .aoa-card-media{
        min-height: 380px;
    }
}


/* v3.2.0 optional Meet the Team button */
.aoa-section-actions{
    margin-top: 20px;
}
.aoa-meet-team-btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 20px;
    border-radius: 999px;
    text-decoration: none;
    background: #4DA3FF;
    border: 1px solid #4DA3FF;
    color: #fff;
    font-size: .95rem;
    line-height: 1;
    font-weight: 600;
    transition: transform .24s ease, filter .24s ease, box-shadow .24s ease;
    box-shadow: 0 12px 24px rgba(77,163,255,.18);
}
.aoa-meet-team-btn:hover,
.aoa-meet-team-btn:focus{
    transform: translateY(-1px);
    filter: brightness(1.03);
    color: #fff;
}


/* v3.2.1 header width control */
.aoa-section-header{
    max-width: var(--aoa-header-max-width, 880px);
}


/* v3.2.2 intro width + eyebrow styling + section padding controls */
.aoa-section{
    padding: var(--aoa-section-padding-top, 72px) 32px var(--aoa-section-padding-bottom, 72px);
}
.aoa-section-header{
    max-width: var(--aoa-header-max-width, 880px);
}
.aoa-section-intro{
    max-width: min(44ch, 100%);
    width: 100%;
}
.aoa-section-header .aoa-section-intro{
    max-width: min(44ch, var(--aoa-header-max-width, 880px));
}
.aoa-section-eyebrow{
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 16px;
    color: var(--aoa-eyebrow-accent);
    font-size: .82rem;
    line-height: 1.2;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.aoa-section-eyebrow::before{
    content: "";
    width: 38px;
    height: 2px;
    background: currentColor;
    border-radius: 999px;
    display: inline-block;
}
@media (max-width:900px){
    .aoa-section{
        padding: var(--aoa-section-padding-top, 64px) 24px var(--aoa-section-padding-bottom, 64px);
    }
}


/* v3.2.3 separate intro width control */
.aoa-section-intro{
    max-width: var(--aoa-intro-max-width, 44ch) !important;
}
.aoa-section-header .aoa-section-intro{
    max-width: min(var(--aoa-intro-max-width, 44ch), 100%) !important;
}


/* v3.2.4 move Meet the Team button below attorney grid */
.aoa-grid-actions{
    margin-top: 24px;
    display: flex;
    justify-content: center;
}


/* v3.2.5 restore full width background option */
.aoa-section{
    --aoa-content-max: 1280px;
    padding: var(--aoa-section-padding-top, 72px) 0 var(--aoa-section-padding-bottom, 72px);
}
.aoa-section.bg-full-bleed{
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    border-radius: 0 !important;
}
.aoa-section.bg-contained{
    width: 100%;
    max-width: 100%;
}
.aoa-section-inner{
    width: min(var(--aoa-content-max), calc(100vw - 64px));
    max-width: var(--aoa-content-max);
    margin-left: auto;
    margin-right: auto;
    position: relative;
    z-index: 1;
}
.aoa-section-inner > .aoa-section-header,
.aoa-section-inner > .aoa-attorney-grid,
.aoa-section-inner > .aoa-grid-actions{
    width: 100%;
}
@media (max-width: 900px){
    .aoa-section-inner{
        width: min(calc(100vw - 24px), var(--aoa-content-max));
    }
}
