/* =========================================================
   About us page (Views/Home/AboutUs)
   ========================================================= */

:root {
    --au-primary: #1e88e5;
    --au-primary-soft: #e8f2fd;
    --au-accent: #fb9017;
    --au-ink: #1f2937;
    --au-text: #374151;
    --au-muted: #6b7280;
    --au-line: #edf1f6;
    --au-bg: #f5f8fc;
    --au-radius: 20px;
    --au-shadow: 0 10px 30px -18px rgba(15, 35, 70, .38);
    --au-shadow-lg: 0 24px 50px -22px rgba(15, 35, 70, .45);
    --au-ease: cubic-bezier(.22, .61, .36, 1);
}

body {
    background: #fff;
}

/* shared */
.au-eyebrow {
    display: inline-block;
    padding: 5px 14px;
    margin-bottom: 12px;
    border-radius: 999px;
    background: #fff3e3;
    color: var(--au-accent);
    font-size: 13px;
    font-weight: 800;
}

.au-title {
    margin: 0 0 18px;
    color: var(--au-ink);
    font-size: 28px;
    font-weight: 900;
    line-height: 1.6;
}

.au-head {
    max-width: 640px;
    margin: 0 auto 40px;
    text-align: center;
}

.au-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 48px;
    padding: 0 24px;
    border-radius: 14px;
    font-size: 14px;
    font-weight: 800;
    transition: transform .2s var(--au-ease), background .2s ease, color .2s ease, box-shadow .2s ease;
}

    .au-btn:hover {
        transform: translateY(-2px);
        text-decoration: none;
    }

    .au-btn.is-primary {
        background: linear-gradient(135deg, var(--au-accent), #ff6a3d);
        color: #fff;
        box-shadow: 0 12px 24px -12px rgba(251, 144, 23, .9);
    }

        .au-btn.is-primary:hover {
            color: #fff;
        }

    .au-btn.is-ghost {
        background: var(--au-primary-soft);
        color: var(--au-primary);
    }

        .au-btn.is-ghost:hover {
            background: var(--au-primary);
            color: #fff;
        }

    .au-btn.is-light {
        background: rgba(255, 255, 255, .14);
        color: #fff;
        border: 1.5px solid rgba(255, 255, 255, .35);
    }

        .au-btn.is-light:hover {
            background: #fff;
            color: var(--au-primary);
        }

.au-reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .7s var(--au-ease), transform .7s var(--au-ease);
}

    .au-reveal.is-visible {
        opacity: 1;
        transform: none;
    }

/* ---------------------------------------------------------
   Hero
   --------------------------------------------------------- */
.au-hero {
    position: relative;
    padding: 60px 0 70px;
    overflow: hidden;
    color: #fff;
    background: linear-gradient(135deg, #0f2c52 0%, #1565c0 55%, #1e88e5 100%);
}

.au-hero-shape {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}

.au-hero-shape-1 {
    top: -120px;
    left: -80px;
    width: 340px;
    height: 340px;
    background: rgba(255, 255, 255, .07);
}

.au-hero-shape-2 {
    bottom: -160px;
    right: 8%;
    width: 300px;
    height: 300px;
    background: rgba(251, 144, 23, .18);
    filter: blur(20px);
}

.au-hero-inner {
    position: relative;
    max-width: 760px;
    text-align: center;
}

.au-breadcrumb {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 6px 16px;
    margin-bottom: 22px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .12);
    font-size: 13px;
}

    .au-breadcrumb a {
        color: rgba(255, 255, 255, .85);
    }

        .au-breadcrumb a:hover {
            color: #fff;
            text-decoration: none;
        }

    .au-breadcrumb > i {
        font-size: 9px;
        opacity: .6;
    }

    .au-breadcrumb span {
        color: var(--au-accent);
        font-weight: 700;
    }

.au-hero h1 {
    margin: 0 0 12px;
    color: #fff;
    font-size: 34px;
    font-weight: 900;
}

.au-hero p {
    margin: 0;
    color: rgba(255, 255, 255, .85);
    font-size: 16px;
}

/* ---------------------------------------------------------
   Story
   --------------------------------------------------------- */
.au-story {
    padding: 80px 0;
    overflow: hidden; /* keeps the decorative dots inside the page */
}

.au-media {
    position: relative;
    padding: 0 0 30px 30px;
}

.au-media-frame {
    position: relative;
    z-index: 1;
    border-radius: 26px;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    box-shadow: var(--au-shadow-lg);
}

    .au-media-frame img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 1.2s var(--au-ease);
    }

.au-media:hover .au-media-frame img {
    transform: scale(1.05);
}

.au-media-badge {
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 130px;
    height: 130px;
    border-radius: 24px;
    background: linear-gradient(135deg, var(--au-accent), #ff6a3d);
    color: #fff;
    box-shadow: 0 18px 34px -14px rgba(251, 144, 23, .9);
    border: 6px solid #fff;
}

    .au-media-badge strong {
        font-size: 34px;
        font-weight: 900;
        line-height: 1.1;
        direction: ltr;
    }

    .au-media-badge span {
        font-size: 13px;
        font-weight: 700;
    }

.au-media-dots {
    position: absolute;
    top: -22px;
    right: -22px;
    width: 120px;
    height: 120px;
    background-image: radial-gradient(var(--au-primary) 2px, transparent 2px);
    background-size: 16px 16px;
    opacity: .25;
}

.au-text {
    margin: 0 0 24px;
    color: var(--au-text);
    font-size: 15px;
    line-height: 2.2;
    text-align: justify;
}

.au-license {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 18px;
    margin-bottom: 26px;
    border: 1px solid var(--au-line);
    border-radius: 16px;
    background: var(--au-bg);
}

    .au-license strong {
        display: block;
        color: var(--au-ink);
        font-size: 14px;
    }

    .au-license span {
        color: var(--au-muted);
        font-size: 13px;
    }

    .au-license b {
        color: var(--au-ink);
    }

.au-license-icon {
    flex: 0 0 auto;
    width: 46px;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: var(--au-primary);
    color: #fff !important;
    font-size: 20px !important;
}

.au-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

/* ---------------------------------------------------------
   Stats band
   --------------------------------------------------------- */
.au-stats {
    position: relative;
    padding: 56px 0;
    overflow: hidden;
    background: linear-gradient(135deg, #0f1d33 0%, #16335c 100%);
    color: #fff;
}

    .au-stats::before {
        content: "";
        position: absolute;
        inset: 0;
        background-image: radial-gradient(rgba(255, 255, 255, .06) 1.5px, transparent 1.5px);
        background-size: 22px 22px;
    }

.au-stat {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 14px 0;
    text-align: center;
}

    .au-stat + .au-stat::before {
        content: "";
        position: absolute;
        right: 0;
        top: 20%;
        bottom: 20%;
        border-right: 1px solid rgba(255, 255, 255, .12);
    }

.au-stat-icon {
    width: 54px;
    height: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 6px;
    border-radius: 16px;
    background: rgba(255, 255, 255, .08);
    color: var(--au-accent);
    font-size: 22px;
}

.au-stat strong {
    color: #fff;
    font-size: 36px;
    font-weight: 900;
    line-height: 1.2;
    direction: ltr;
}

.au-stat > span:last-child {
    color: rgba(255, 255, 255, .75);
    font-size: 14px;
}

/* ---------------------------------------------------------
   Services
   --------------------------------------------------------- */
.au-services {
    padding: 80px 0 50px;
    background: var(--au-bg);
}

.au-service {
    --tone: var(--au-primary);
    --tone-soft: var(--au-primary-soft);
    position: relative;
    height: 100%;
    padding: 30px 24px 26px;
    background: #fff;
    border: 1px solid var(--au-line);
    border-radius: var(--au-radius);
    box-shadow: var(--au-shadow);
    overflow: hidden;
    transition: transform .4s var(--au-ease), box-shadow .4s var(--au-ease);
}

    .au-service.is-orange {
        --tone: var(--au-accent);
        --tone-soft: #fff3e3;
    }

    .au-service.is-green {
        --tone: #10b981;
        --tone-soft: #e7f8f1;
    }

    .au-service.is-purple {
        --tone: #7c3aed;
        --tone-soft: #f1ebfe;
    }

    .au-service::before {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        width: 100%;
        height: 4px;
        background: var(--tone);
        transform: scaleX(.2);
        transform-origin: right;
        transition: transform .5s var(--au-ease);
    }

    .au-service:hover {
        transform: translateY(-8px);
        box-shadow: var(--au-shadow-lg);
    }

        .au-service:hover::before {
            transform: scaleX(1);
        }

.au-service-icon {
    width: 62px;
    height: 62px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    border-radius: 18px;
    background: var(--tone-soft);
    color: var(--tone);
    font-size: 25px;
    transition: background .3s ease, color .3s ease, transform .4s var(--au-ease);
}

.au-service:hover .au-service-icon {
    background: var(--tone);
    color: #fff;
    transform: rotate(-8deg);
}

.au-service h3 {
    margin: 0 0 10px;
    color: var(--au-ink);
    font-size: 17px;
    font-weight: 800;
}

.au-service p {
    margin: 0;
    color: var(--au-muted);
    font-size: 13px;
    line-height: 2.1;
}

/* ---------------------------------------------------------
   Values
   --------------------------------------------------------- */
.au-values {
    padding: 80px 0 50px;
}

.au-value {
    position: relative;
    height: 100%;
    padding: 30px 26px 26px;
    border: 1.5px solid var(--au-line);
    border-radius: var(--au-radius);
    background: #fff;
    transition: border-color .3s ease, box-shadow .3s ease;
}

    .au-value:hover {
        border-color: #cfe3f8;
        box-shadow: var(--au-shadow);
    }

.au-value-num {
    position: absolute;
    top: 18px;
    left: 22px;
    color: var(--au-primary);
    font-size: 34px;
    font-weight: 900;
    line-height: 1;
    opacity: .12;
}

.au-value h3 {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 12px;
    color: var(--au-ink);
    font-size: 16px;
    font-weight: 800;
    line-height: 1.7;
}

    .au-value h3 i {
        color: var(--au-accent);
        font-size: 18px;
    }

.au-value p {
    margin: 0;
    color: var(--au-muted);
    font-size: 14px;
    line-height: 2.1;
}

/* ---------------------------------------------------------
   Call to action
   --------------------------------------------------------- */
.au-cta-wrap {
    padding: 20px 0 30px;
}

.au-cta {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 38px 40px;
    border-radius: 26px;
    overflow: hidden;
    background: linear-gradient(135deg, #1e88e5 0%, #1565c0 100%);
    color: #fff;
    box-shadow: 0 24px 48px -22px rgba(30, 136, 229, .9);
}

    .au-cta::before {
        content: "";
        position: absolute;
        top: -80px;
        left: -60px;
        width: 240px;
        height: 240px;
        border-radius: 50%;
        background: rgba(255, 255, 255, .08);
    }

    .au-cta h2 {
        position: relative;
        margin: 0 0 6px;
        color: #fff;
        font-size: 24px;
        font-weight: 900;
    }

    .au-cta p {
        position: relative;
        margin: 0;
        color: rgba(255, 255, 255, .85);
        font-size: 14px;
    }

.au-cta-actions {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

/* ---------------------------------------------------------
   Responsive
   --------------------------------------------------------- */
@media (max-width: 991.98px) {
    .au-stat:nth-child(3)::before {
        display: none;
    }
}

@media (max-width: 767.98px) {
    .au-hero {
        padding: 40px 0 50px;
    }

        .au-hero h1 {
            font-size: 26px;
        }

    .au-story,
    .au-services,
    .au-values {
        padding: 56px 0 30px;
    }

    .au-title {
        font-size: 22px;
    }

    .au-media-badge {
        width: 104px;
        height: 104px;
    }

        .au-media-badge strong {
            font-size: 26px;
        }

    .au-stat strong {
        font-size: 28px;
    }

    .au-cta {
        padding: 28px 22px;
        text-align: center;
        justify-content: center;
    }

    .au-cta-actions {
        width: 100%;
        justify-content: center;
    }
}

@media (prefers-reduced-motion: reduce) {
    .au-reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .au-service, .au-media-frame img {
        transition: none !important;
    }
}
