/* Accessible Era About Us
 * All About Us styling lives in this file only.
 * Shared theme CSS is intentionally untouched.
 */

.ae-about-page{
    --about-blue:#0757d8;
    --about-navy:#0b2a5b;
    --about-ink:#102a4c;
    --about-soft:#f4f8ff;
    --about-border:#dce7f4;
    font-family:inherit;
    color:var(--about-ink);
    background:#fff;
}
.ae-about-page,
.ae-about-page *{box-sizing:border-box}
.ae-about-container{width:min(1180px,calc(100% - 48px));margin:0 auto}
.ae-about-page img{max-width:100%}
.ae-about-eyebrow{
    margin:0 0 10px;
    color:var(--about-blue);
    font-size:11px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.ae-about-section-heading{max-width:900px;margin:0 auto 28px}
.ae-about-section-heading h2{
    margin:0 0 10px;
    color:var(--about-navy);
    font-size:clamp(30px,4vw,46px);
    line-height:1.08;
    letter-spacing:-.03em;
}
.ae-about-section-heading p{margin:0;color:#596b82;font-size:15px;line-height:1.65}
.ae-about-centered{text-align:center}

/* 01 — Hero — reference design locked */
.ae-about-hero{
    padding:20px 0 58px;
    background:linear-gradient(180deg,#f4f7fd 0%,#f4f7fd 57%,#fff 57%,#fff 100%);
    overflow:hidden;
}
.ae-about-hero-top{
    display:grid;
    grid-template-columns:minmax(0,1.06fr) minmax(330px,.94fr);
    gap:58px;
    align-items:start;
}
.ae-about-hero-copy{padding:0 0 0 8px}
.ae-about-hero h1{
    margin:0 0 14px;
    max-width:610px;
    color:#11182d;
    font-size:clamp(40px,4.5vw,58px);
    line-height:.98;
    letter-spacing:-.045em;
    font-weight:800;
}
.ae-about-hero .ae-about-eyebrow{margin-bottom:8px}
.ae-about-lead{
    max-width:520px;
    margin:0 0 20px;
    color:#68748a;
    font-size:14px;
    line-height:1.55;
}
.ae-about-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    padding:12px 17px;
    background:#0757d8;
    color:#fff;
    text-decoration:none!important;
    border-radius:6px;
    font-weight:800;
    font-size:12px;
    transition:transform .2s ease,background .2s ease;
}
.ae-about-button:hover{background:#004dbf;transform:translateY(-2px)}
.ae-about-hero-trust{
    padding-top:4px;
    display:grid;
    gap:13px;
    max-width:500px;
}
.ae-about-trust-item{
    display:flex;
    align-items:flex-start;
    gap:10px;
    color:#69758a;
    font-size:12px;
    line-height:1.45;
    font-weight:500;
}
.ae-about-trust-check{
    flex:0 0 16px;
    width:16px;
    height:16px;
    display:grid;
    place-items:center;
    margin-top:1px;
    border-radius:50%;
    background:#22a879;
    color:#fff;
    font-size:10px;
    line-height:1;
    font-weight:900;
}
.ae-about-hero-collage{
    position:relative;
    min-height:315px;
    margin-top:8px;
}
.ae-about-photo{
    position:absolute;
    margin:0;
    overflow:hidden;
    border-radius:10px;
    background:#eef4fb;
    box-shadow:0 8px 24px rgba(16,42,76,.08);
}
.ae-about-photo img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    object-fit:cover!important;
}
.ae-about-photo-1{left:0;top:32px;width:43%;height:190px}
.ae-about-photo-2{left:46%;top:63px;width:23%;height:235px}
.ae-about-photo-3{right:0;top:32px;width:29%;height:190px}
.ae-about-play{
    position:absolute;
    z-index:5;
    left:-9px;
    top:13px;
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    border:5px solid rgba(255,255,255,.72);
    border-radius:50%;
    background:#0757d8;
    color:#fff;
    text-decoration:none!important;
    font-size:16px;
    line-height:1;
    box-shadow:0 4px 12px rgba(7,87,216,.2);
}
.ae-about-play:hover{transform:scale(1.04);background:#004dbf}
/* Keep the hero play control exactly as designed: blue circle with a white play glyph.
 * Elementor/F.A. SVG paths can otherwise inherit a black default fill. */
.ae-about-play svg,
.ae-about-play svg path,
.ae-about-play svg *{
    color:#fff!important;
    fill:#fff!important;
    stroke:#fff!important;
}
.ae-about-play i,
.ae-about-play .fas,
.ae-about-play .fa-solid{
    color:#fff!important;
}

/* 02 — Impact */
.ae-about-impact{
    padding:0;
    background:linear-gradient(120deg,#173a9b 0%,#3d3cce 55%,#7b42ff 100%);
    color:#fff;
}
.ae-about-impact .ae-about-container{width:100%;max-width:none}
.ae-about-impact .ae-about-wide-media{
    width:100%;
    border-radius:0;
    box-shadow:none;
    background:transparent;
}
.ae-about-impact .ae-about-wide-media img{
    display:block;
    width:100%;
    height:auto;
}

/* 03 — Customer Journey */
.ae-about-journey{padding:0;background:#fff}
.ae-about-journey-reference{width:100%;max-width:none}
.ae-about-journey-reference .ae-about-wide-media{
    border-radius:0;
    box-shadow:none;
}
.ae-about-journey-reference .ae-about-wide-media img{
    display:block;
    width:100%;
    height:auto;
}
.ae-about-journey-with-copy{
    display:grid;
    grid-template-columns:.72fr 1.28fr;
    gap:55px;
    align-items:center;
    padding:70px 0;
}
.ae-about-journey-copy h2{
    margin:0 0 16px;
    color:var(--about-navy);
    font-size:clamp(30px,4vw,48px);
    line-height:1.08;
}
.ae-about-journey-copy>p:last-child{margin:0;color:#5b6d83;line-height:1.7;font-size:16px}

/* 04 — Leadership */
.ae-about-leadership{padding:36px 0 48px;background:#fff}
.ae-about-leadership .ae-about-section-heading{margin-bottom:26px}
.ae-about-leadership .ae-about-section-heading h2{
    margin:0;
    font-size:clamp(30px,4vw,44px);
}
.ae-about-leader-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
    margin:0 auto;
    max-width:1120px;
}
.ae-about-leader-card{
    overflow:hidden;
    border:1px solid #e3eaf3;
    border-radius:9px;
    background:#fff;
    box-shadow:0 8px 24px rgba(16,42,76,.06);
}
.ae-about-leader-photo{
    display:block;
    aspect-ratio:390/560;
    overflow:hidden;
    background:#eef4fb;
}
.ae-about-leader-photo img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}
.ae-about-leader-info{padding:11px 14px 15px}
.ae-about-leader-info h3{
    margin:0 0 4px;
    color:var(--about-navy);
    font-size:14px;
    line-height:1.25;
}
.ae-about-leader-info p{margin:0;color:#0757d8;font-size:11px;font-weight:700}
.ae-about-centered-button{text-align:center;margin-top:20px}
.ae-about-small-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border:0;border-radius:7px;background:#0757d8;color:#fff;text-decoration:none!important;font-size:13px;line-height:1;font-weight:700;box-shadow:0 8px 18px rgba(7,87,216,.16);transition:transform .18s ease,background .18s ease,border-color .18s ease}.ae-about-small-button:hover{transform:translateY(-1px);background:#004dbf;color:#fff}.ae-about-button-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1;flex:0 0 auto;width:1em;height:1em;overflow:hidden}.ae-about-button-icon svg{display:block;width:100%;height:100%;max-width:100%;max-height:100%;color:currentColor;fill:currentColor;stroke:currentColor}.ae-about-button-icon svg *{fill:currentColor;stroke:currentColor}.ae-about-button-icon i{display:block;font-style:normal;font-size:1em;line-height:1;width:1em;height:1em;color:currentColor}

/* 05 — Gallery */
.ae-about-gallery{padding:16px 0 52px;background:#fff}
.ae-about-gallery-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    align-items:stretch;
    max-width:1080px;
}
.ae-about-gallery-item{
    margin:0;
    overflow:hidden;
    border-radius:8px;
    background:#edf3fa;
}
.ae-about-gallery-item img{
    display:block;
    width:100%;
    height:auto;
    object-fit:cover;
}

/* 06 — Our Approach */
.ae-about-approach{
    padding:36px 0 38px;
    background:#f5f9ff;
    border-top:1px solid #e5edf7;
    border-bottom:1px solid #e5edf7;
}
.ae-about-approach .ae-about-section-heading{margin-bottom:20px}
.ae-about-approach-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    margin-top:0;
}
.ae-about-approach-item{
    padding:10px 24px;
    border-right:1px solid #d8e4f2;
    text-align:center;
}
.ae-about-approach-item:last-child{border-right:0}
.ae-about-icon{
    width:42px;
    height:42px;
    margin:0 auto 10px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:transparent;
    color:var(--about-blue);
    font-size:21px;
}
.ae-about-approach-item h3{margin:0 0 6px;color:var(--about-navy);font-size:14px}
.ae-about-approach-item p{margin:0;color:#617289;font-size:11px;line-height:1.55}

/* 07 — Standards */
.ae-about-standards{padding:30px 0 50px;background:#fff}
.ae-about-standards .ae-about-section-heading{margin-bottom:12px}
.ae-about-standards-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
    margin-top:0;
}
.ae-about-standard-item{
    display:flex;
    align-items:center;
    gap:10px;
    padding:8px 4px;
}
.ae-about-standard-icon{
    flex:0 0 42px;
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    color:var(--about-blue);
    font-size:22px;
}
.ae-about-standard-item h3{margin:0 0 3px;color:var(--about-navy);font-size:13px}
.ae-about-standard-item p{margin:0;color:#64748a;font-size:10px;line-height:1.45}

.ae-about-page a:focus-visible,
.ae-about-page button:focus-visible{
    outline:3px solid #ffbf47;
    outline-offset:3px;
}

@media (max-width:640px){
    .ae-about-container{width:min(100% - 30px,1180px)}
    .ae-about-hero{padding:32px 0 42px;background:linear-gradient(180deg,#f4f7fd 0%,#f4f7fd 51%,#fff 51%,#fff 100%)}
    .ae-about-hero-top{grid-template-columns:1fr;gap:22px}
    .ae-about-hero-copy{padding-left:0}
    .ae-about-hero h1{font-size:40px}
    .ae-about-hero-trust{padding-top:0;gap:10px}
    .ae-about-hero-collage{min-height:285px;margin-top:4px}
    .ae-about-photo-1{width:59%;height:165px;left:0;top:34px}
    .ae-about-photo-2{width:34%;height:205px;left:auto;right:21%;top:69px}
    .ae-about-photo-3{width:39%;height:140px;right:0;top:0}
    .ae-about-play{left:-5px;top:15px;width:42px;height:42px}
    .ae-about-leader-grid{grid-template-columns:1fr}
    .ae-about-gallery-grid{grid-template-columns:1fr}
    .ae-about-approach-grid{grid-template-columns:1fr}
    .ae-about-approach-item{border-right:0;border-bottom:1px solid #d8e4f2;padding:20px 10px}
    .ae-about-approach-item:last-child{border-bottom:0}
    .ae-about-standards-grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
    .ae-about-page *{scroll-behavior:auto!important;transition:none!important}
}
