﻿.implementation-timeline .border, .partner-card, .why-choose-adaptive .border {
    transition: .3s
}

.pricing-hero h2, .training-section ul li, h2 {
    margin-bottom: 10px
}

@.contact-btn,.hero-cta,.pricing-cta a,nav a {
    text-decoration: none
}

footer, header {
    background-color: #fff
}

.left-section, .right-section {
    height: calc(100vh - 125px);
    overflow: auto
}

.contact-btn, nav a:hover {
    color: #0073b7
}

.hero-inner, .pricing-cta, .pricing-hero, .section-subtitle, .section-title, footer {
    text-align: center
}

body {
    background-color: #f5f7fa;
    margin: 0;
    height: 100vh;
    overflow-y: auto !important;
    font-family: Poppins,sans-serif
}

header {
    border-bottom: 2px solid #e6e6e6;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px
}

.logo img {
    height: 40px;
    margin-right: 8px
}

nav a {
    margin: 0 max(10px,1%);
    color: #000;
    font-weight: 500
}

.contact-btn {
    border: 2px solid #0073b7;
    padding: 10px 22px;
    border-radius: 5px;
    font-weight: 600
}

.content-box, .login-box {
    color: #333;
    padding: 20px
}

.contact-btn:hover, .download-btn:hover {
    background-color: #0073b7;
    color: #fff
}

.main-container {
    display: flex;
    flex-wrap: wrap;
    scrollbar-width: thin;
    scrollbar-color: #0073b7 transparent
}

footer {
    padding: 10px;
    font-size: 14px;
    border-top: 2px solid #e6e6e6
}

.main-container::-webkit-scrollbar {
    width: 1px
}

.main-container::-webkit-scrollbar-thumb {
    background: rgba(0,115,183,.25);
    border-radius: 10px
}

.main-container::-webkit-scrollbar-track {
    background: 0 0
}

.main-container::-webkit-scrollbar-thumb:hover {
    background: rgba(0,115,183,.25)
}

.left-section {
    flex: 0 0 calc(100% - 460px);
    padding: 20px
}

.right-section {
    flex: 1 1 460px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f8f9fa
}

.image-row {
    display: flex;
    flex-wrap: wrap
}

    .image-row img, .image-row video {
        width: 50%;
        min-width: 280px;
        aspect-ratio: 16/9;
        object-fit: cover;
        border-radius: 20px;
        padding: 10px
    }

.content-box {
    background-color: #fff;
    margin-top: 20px
}

    .content-box h2 {
        color: #0073b7;
        margin-top: 0
    }

.login-box {
    background-color: #fff;
    width: 90%;
    max-width: 400px;
    border-radius: 15px;
    box-shadow: 0 4px 10px rgba(0,0,0,.1)
}

.error-message {
    color: red;
    font-size: 14px;
    display: none
}

.g-recaptcha, .section-title {
    margin-bottom: 20px
}

.section-subtitle {
    font-size: 20px;
    font-weight: 500;
    color: #555;
    margin-bottom: 25px
}

.partner-section, .section {
    padding: 35px 0
}

.download-btn, .partner-cta-btn {
    padding: 12px 25px;
    font-weight: 600;
    display: inline-block;
    text-decoration: none
}

.icon-bullet {
    font-size: 22px;
    margin-right: 8px;
    color: #0073b7
}

.partner-cta-btn {
    background-color: #0073b7;
    color: #fff;
    border-radius: 8px;
    margin-top: 10px
}

    .partner-cta-btn:hover {
        background-color: #005c95;
        color: #fff
    }

.download-btn {
    border: 2px solid #0073b7;
    border-radius: 8px;
    color: #0073b7;
    margin-left: 12px
}

.partner-card {
    background: #fff;
    padding: 22px;
    border-radius: 10px;
    border: 1px solid #e5e5e5;
    height: 100%
}

    .partner-card:hover {
        box-shadow: 0 4px 15px rgba(0,0,0,.1);
        transform: translateY(-3px)
    }

.pricing-wrapper {
    margin: 0 auto;
    padding: 25px 15px 0;
    font-size: 17px;
    color: #0c1b33
}

.pricing-hero h2 {
    font-size: 28px;
    font-weight: 700;
    color: #0c274d
}

.pricing-hero p {
    font-size: 17px
}

.pricing-grid {
    display: grid;
    gap: 25px;
    grid-template-columns: repeat(auto-fit,minmax(280px,1fr))
}

.pricing-card {
    background: #fff;
    padding: 25px 22px;
    border-radius: 12px;
    box-shadow: 0 6px 16px rgba(0,0,0,.1);
    border-top: 5px solid #0c274d
}

    .pricing-card.featured {
        border-top: 5px solid #1b5cff;
        box-shadow: 0 8px 22px rgba(0,0,0,.18)
    }

    .pricing-card h3 {
        font-size: 22px;
        margin-bottom: 6px;
        color: #0c274d
    }

.subtitle {
    color: #444;
    margin-bottom: 20px
}

.price {
    font-size: 32px;
    font-weight: 700;
    color: #0c274d
}

    .price span {
        font-size: 14px;
        color: #444
    }

.note-sm {
    font-size: 14px;
    margin-bottom: 18px;
    color: #555
}

.features {
    list-style: none;
    padding: 0;
    margin: 0
}

    .features li {
        padding: 10px 0;
        border-bottom: 1px solid #eaeaea;
        font-size: 15px
    }

        .features li:last-child {
            border-bottom: none
        }

.pricing-cta {
    margin-top: 40px;
    font-size: 17px
}

    .pricing-cta a {
        color: #1b5cff;
        font-weight: 600
    }

        .pricing-cta a:hover {
            text-decoration: underline
        }

.training-wrapper {
    margin: 0 auto;
    padding: 20px 15px 0;
    line-height: 1.6;
    color: #0c1b33;
    font-size: 17px
}

.training-hero {
    margin-bottom: 35px;
    padding: 20px;
    background: #0c274d;
    color: #fff;
    border-radius: 10px;
    box-shadow: 0 6px 16px rgba(0,0,0,.12)
}

    .training-hero h2 {
        margin: 0 0 10px;
        font-size: 26px;
        font-weight: 700
    }

.training-section {
    margin-bottom: 40px;
    background: #fff;
    padding: 20px 22px;
    border-radius: 10px;
    box-shadow: 0 4px 14px rgba(0,0,0,.08)
}

    .training-section h3 {
        margin: 0 0 12px;
        color: #0c274d;
        font-size: 22px;
        font-weight: 700
    }

    .training-section ul {
        margin-top: 12px;
        padding-left: 20px
    }

.hero-above-login {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
    margin: 0 0 10px;
    border-radius: 8px;
    box-shadow: 0 6px 18px rgba(8,24,48,.18);
    background: linear-gradient(90deg,rgba(11,37,74,.95),rgba(7,22,47,.95));
    color: #fff
}

.hero-inner {
    max-width: 820px;
    width: 100%;
    padding: 6px 14px
}

.hero-title {
    margin: 4px 0;
    font-size: 1.125rem;
    font-weight: 700;
    letter-spacing: -.2px
}

.hero-desc {
    margin: 6px auto 10px;
    font-size: .95rem;
    line-height: 1.45;
    opacity: .95;
    max-width: 720px
}

.hero-cta {
    display: inline-block;
    padding: 10px 18px;
    border-radius: 6px;
    font-weight: 600;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.06);
    color: #fff;
    transition: transform .12s,box-shadow .12s,background .12s
}

    .hero-cta:focus, .hero-cta:hover {
        transform: translateY(-2px);
        background: rgba(255,255,255,.1);
        box-shadow: 0 6px 18px rgba(0,0,0,.25);
        outline: 0
    }

.wizard-container {
    max-width: 1100px;
    display: flex;
    margin: 0 auto;
    background: #fff;
    box-shadow: 0 10px 35px rgba(0,0,0,.18);
    height: calc(100vh - 130px);
    overflow: visible !important
}

.step-link, h1 {
    margin-bottom: 12px
}

.wizard-steps {
    width: 250px;
    padding: 15px 8px;
    background: linear-gradient(180deg,#0c274d 0,#143867 100%);
    color: #fff
}

.step-link {
    display: block;
    padding: 14px 16px;
    font-size: 15px;
    color: #dbe6ff;
    border-radius: 10px;
    background: rgba(255,255,255,.05);
    cursor: pointer;
    font-weight: 500
}

.file-upload-visible, .form-row, .wizard-container {
    display: flex
}

.step-link.active {
    background: rgba(255,255,255,.22);
    border-left: 4px solid #4da3ff;
    color: #fff
}

.custom-file-upload:hover .file-upload-visible, .form-control:focus {
    border-color: #007bff
}

.step-link:hover {
    background: rgba(255,255,255,.15)
}

label {
    font-size: .9rem !important;
    font-weight: 600;
    color: #344767;
    margin-bottom: 5px !important
}

.form-control {
    border-radius: 10px !important;
    border: 1px solid #d4d9e5;
    padding: 10px 12px;
    background: #fff;
    box-shadow: inset 0 1px 2px rgba(0,0,0,.04)
}

    .form-control:focus {
        box-shadow: 0 0 0 .15rem rgba(0,123,255,.18)
    }

.btn-primary, .btn-success {
    background: linear-gradient(135deg,#007bff,#005ed0);
    border: none;
    padding: 11px 22px;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 600;
    box-shadow: 0 6px 16px rgba(0,123,255,.3);
    min-width: 150px
}

    .btn-primary:hover, .btn-success:hover {
        background: linear-gradient(135deg,#006ae0,#004bb3);
        transform: translateY(-2px)
    }

.step-content {
    flex-grow: 1;
    background: #f5f7fb;
    overflow-y: auto;
    max-height: calc(100vh - 130px)
}

.form-row {
    max-width: 100%;
    margin: 0;
    flex-wrap: nowrap;
    justify-content: space-between
}

.form-group {
    margin-bottom: 4px;
    min-height: 96.5px
}

.step-buttons .btn {
    padding: 10px 28px;
    font-size: 15px;
    border-radius: 10px
}

.form-wrapper {
    background: #fff;
    width: 100%;
    margin: 0 auto;
    padding: 5px 15px;
    box-shadow: 0 6px 20px rgba(0,0,0,.1)
}

.form-col {
    flex: 1;
    max-width: 420px;
    padding-right: 20px
}

.step-buttons {
    text-align: right
}

.form-row {
    flex-wrap: nowrap;
    justify-content: space-between;
    gap: 25px
}

.form-col {
    flex: 1;
    min-width: 350px
}

.custom-file-upload input[type=file] {
    opacity: 0;
    position: absolute;
    width: 100%;
    left: 0;
    top: 0;
    cursor: pointer;
    height: 42px
}

.file-upload-visible {
    width: 100%;
    border: 1px solid #d4d9e5;
    background: #fff;
    border-radius: 10px;
    align-items: center;
    font-size: .9rem;
    color: #6c7a92;
    box-shadow: inset 0 1px 2px rgba(0,0,0,.05);
    transition: .2s
}

.file-upload-btn {
    background: linear-gradient(135deg,#007bff,#005ed0);
    color: #fff;
    margin-right: 10px;
    white-space: nowrap;
    box-shadow: 0 3px 10px rgba(0,123,255,.25)
}

.about-title, .section-title {
    text-align: center;
    color: #222
}

.section-title {
    align-items: center;
    gap: 10px;
    padding-top: 2px
}

.divider {
    background: #e3e6ee;
    border: 0;
    height: 1px;
    background: linear-gradient(90deg,rgba(0,0,0,.04),rgba(0,0,0,.06));
    margin: 10px 0 20px
}

.form-group > label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    vertical-align: middle;
    font-size: .92rem !important;
    color: #1e2a45
}

    .form-group > label > .label-icon, .section-title > .title-icon {
        font-size: 18px;
        line-height: 1;
        display: inline-block;
        transform: translateY(1px)
    }

.form-group input.form-control, .form-group select.form-control {
    height: 42px;
    padding: 10px 12px
}

.custom-file-upload {
    width: 100%;
    position: relative;
    display: block
}

.file-upload-visible {
    height: 42px;
    padding: 6px 12px;
    display: flex;
    align-items: center;
    gap: 12px
}

.file-upload-btn {
    padding: 6px 12px;
    border-radius: 8px;
    font-size: .85rem;
    line-height: 1;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center
}

#file-upload-name {
    color: #6c7a92;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: inline-block
}

.step-buttons .btn {
    transform: translateY(0)
}

input:invalid, select:invalid {
    box-shadow: none !important
}

.is-invalid {
    border: 1px solid #e63946 !important;
    background-color: snow !important;
    box-shadow: 0 0 0 .15rem rgba(230,57,70,.15) !important
}

    .is-invalid:focus {
        border-color: #e63946 !important;
        box-shadow: 0 0 0 .15rem rgba(230,57,70,.25) !important
    }

label.error {
    margin-top: 3px;
    margin-bottom: 0;
    font-size: .78rem;
    color: #d9534f;
    line-height: 1.2
}

.custom-file-upload .is-invalid {
    border: 1px solid #e63946 !important
}

input.form-control, select.form-control {
    height: 42px !important;
    line-height: 42px !important
}

@media (min-width:1920px) {
    .col-fhd-1 {
        flex: 0 0 8.333%;
        max-width: 8.333%
    }

    .col-fhd-2 {
        flex: 0 0 16.666%;
        max-width: 16.666%
    }

    .col-fhd-3 {
        flex: 0 0 25%;
        max-width: 25%
    }

    .col-fhd-4 {
        flex: 0 0 33.333%;
        max-width: 33.333%
    }

    .col-fhd-5 {
        flex: 0 0 41.666%;
        max-width: 41.666%
    }

    .col-fhd-6 {
        flex: 0 0 50%;
        max-width: 50%
    }

    .col-fhd-7 {
        flex: 0 0 58.333%;
        max-width: 58.333%
    }

    .col-fhd-8 {
        flex: 0 0 66.666%;
        max-width: 66.666%
    }

    .col-fhd-9 {
        flex: 0 0 75%;
        max-width: 75%
    }

    .col-fhd-10 {
        flex: 0 0 83.333%;
        max-width: 83.333%
    }

    .col-fhd-11 {
        flex: 0 0 91.666%;
        max-width: 91.666%
    }

    .col-fhd-12 {
        flex: 0 0 100%;
        max-width: 100%
    }
}

@media (min-width:2560px) {
    .col-qhd-1 {
        flex: 0 0 8.333%;
        max-width: 8.333%
    }

    .col-qhd-2 {
        flex: 0 0 16.666%;
        max-width: 16.666%
    }

    .col-qhd-3 {
        flex: 0 0 25%;
        max-width: 25%
    }

    .col-qhd-4 {
        flex: 0 0 33.333%;
        max-width: 33.333%
    }

    .col-qhd-5 {
        flex: 0 0 41.666%;
        max-width: 41.666%
    }

    .col-qhd-6 {
        flex: 0 0 50%;
        max-width: 50%
    }

    .col-qhd-7 {
        flex: 0 0 58.333%;
        max-width: 58.333%
    }

    .col-qhd-8 {
        flex: 0 0 66.666%;
        max-width: 66.666%
    }

    .col-qhd-9 {
        flex: 0 0 75%;
        max-width: 75%
    }

    .col-qhd-10 {
        flex: 0 0 83.333%;
        max-width: 83.333%
    }

    .col-qhd-11 {
        flex: 0 0 91.666%;
        max-width: 91.666%
    }

    .col-qhd-12 {
        flex: 0 0 100%;
        max-width: 100%
    }
}

@media (min-width:3440px) {
    .col-uw-1 {
        flex: 0 0 8.333%;
        max-width: 8.333%
    }

    .col-uw-2 {
        flex: 0 0 16.666%;
        max-width: 16.666%
    }

    .col-uw-3 {
        flex: 0 0 25%;
        max-width: 25%
    }

    .col-uw-4 {
        flex: 0 0 33.333%;
        max-width: 33.333%
    }

    .col-uw-5 {
        flex: 0 0 41.666%;
        max-width: 41.666%
    }

    .col-uw-6 {
        flex: 0 0 50%;
        max-width: 50%
    }

    .col-uw-7 {
        flex: 0 0 58.333%;
        max-width: 58.333%
    }

    .col-uw-8 {
        flex: 0 0 66.666%;
        max-width: 66.666%
    }

    .col-uw-9 {
        flex: 0 0 75%;
        max-width: 75%
    }

    .col-uw-10 {
        flex: 0 0 83.333%;
        max-width: 83.333%
    }

    .col-uw-11 {
        flex: 0 0 91.666%;
        max-width: 91.666%
    }

    .col-uw-12 {
        flex: 0 0 100%;
        max-width: 100%
    }
}

@media (min-width:3840px) {
    .col-uhd-1 {
        flex: 0 0 8.333%;
        max-width: 8.333%
    }

    .col-uhd-2 {
        flex: 0 0 16.666%;
        max-width: 16.666%
    }

    .col-uhd-3 {
        flex: 0 0 25%;
        max-width: 25%
    }

    .col-uhd-4 {
        flex: 0 0 33.333%;
        max-width: 33.333%
    }

    .col-uhd-5 {
        flex: 0 0 41.666%;
        max-width: 41.666%
    }

    .col-uhd-6 {
        flex: 0 0 50%;
        max-width: 50%
    }

    .col-uhd-7 {
        flex: 0 0 58.333%;
        max-width: 58.333%
    }

    .col-uhd-8 {
        flex: 0 0 66.666%;
        max-width: 66.666%
    }

    .col-uhd-9 {
        flex: 0 0 75%;
        max-width: 75%
    }

    .col-uhd-10 {
        flex: 0 0 83.333%;
        max-width: 83.333%
    }

    .col-uhd-11 {
        flex: 0 0 91.666%;
        max-width: 91.666%
    }

    .col-uhd-12 {
        flex: 0 0 100%;
        max-width: 100%
    }
}

@media (min-width:5120px) {
    .col-5k-1 {
        flex: 0 0 8.333%;
        max-width: 8.333%
    }

    .col-5k-2 {
        flex: 0 0 16.666%;
        max-width: 16.666%
    }

    .col-5k-3 {
        flex: 0 0 25%;
        max-width: 25%
    }

    .col-5k-4 {
        flex: 0 0 33.333%;
        max-width: 33.333%
    }

    .col-5k-5 {
        flex: 0 0 41.666%;
        max-width: 41.666%
    }

    .col-5k-6 {
        flex: 0 0 50%;
        max-width: 50%
    }

    .col-5k-7 {
        flex: 0 0 58.333%;
        max-width: 58.333%
    }

    .col-5k-8 {
        flex: 0 0 66.666%;
        max-width: 66.666%
    }

    .col-5k-9 {
        flex: 0 0 75%;
        max-width: 75%
    }

    .col-5k-10 {
        flex: 0 0 83.333%;
        max-width: 83.333%
    }

    .col-5k-11 {
        flex: 0 0 91.666%;
        max-width: 91.666%
    }

    .col-5k-12 {
        flex: 0 0 100%;
        max-width: 100%
    }
}

.about-section {
    padding: 60px 20px;
    background: #f9f9f9
}

.about-container {
    max-width: 1900px;
    margin: 0 auto
}

.about-title {
    font-size: 2.4rem;
    margin-bottom: 40px;
    font-weight: 700
}

.media-row {
    display: flex;
    gap: 20px;
    margin-bottom: 40px;
    flex-wrap: wrap
}

.about-content p, .logo-center {
    margin: 25px 0;
    text-align: center
}

.media-item {
    flex: 1;
    min-width: 280px
}

.about-image {
    width: 100%;
    border-radius: 8px;
    display: block;
    aspect-ratio: 16/9
}

.video-wrapper {
    position: relative;
    padding-bottom: 56.25%;
    height: 0
}

    .video-wrapper iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border: 0
    }

.ao-checklist li, .ao-timeline, .ao-timeline-step {
    position: relative
}

.about-content p {
    font-size: 1.15rem;
    line-height: 1.7;
    color: #444
}

.about-logo {
    width: 60%;
    max-width: 500px;
    border-radius: 6px
}

.ao-logo {
    height: 48px;
    width: auto
}

.ao-navbar {
    background: #fff;
    padding: 0;
    width: 100%
}

.navbar-nav .nav-link {
    font-size: 16px;
    color: #333 !important;
    padding: 8px 14px !important;
    font-weight: 500
}

    .navbar-nav .nav-link:hover {
        color: #0d6efd !important
    }

.ao-btn-primary {
    background: #0d6efd;
    padding: 8px 18px;
    border-radius: 6px;
    color: #fff !important;
    font-weight: 600
}

@media (max-width:1113px) {
    .navbar-nav .nav-item {
        margin: 4px 0
    }

    .left-section, .right-section {
        height: auto !important;
        overflow: visible !important
    }

    .left-section {
        flex: 0 0 100% !important;
        max-width: 100%;
        min-width: auto
    }

    .pricing-hero h2 {
        font-size: 24px
    }

    .price {
        font-size: 28px
    }

    .training-hero h2 {
        font-size: 22px
    }

    .training-section h3 {
        font-size: 19px
    }

    .training-wrapper {
        font-size: 16px
    }
}

@media (max-width:650px) {
    .image-row img, .image-row video {
        width: 100%
    }
}

@media (max-width:560px) {
    .hero-inner {
        padding: 8px
    }

    .hero-title {
        font-size: 1rem
    }

    .hero-desc {
        font-size: .9rem
    }

    .hero-cta {
        padding: 9px 14px;
        font-size: .95rem
    }
}

.join-us-cta img, .mission-image img, .tech-onboarding-section img, .training-support img {
    max-width: 850px;
    width: 100%;
    height: auto;
    border-radius: 12px;
    box-shadow: 0 8px 25px rgba(0,0,0,.15);
    object-fit: cover;
    animation: .8s fadeInUp
}

.join-us-cta, .mission-image, .tech-onboarding-section, .training-support {
    padding-top: 60px;
    padding-bottom: 60px
}

@media (max-width:768px) {
    .join-us-cta, .mission-image, .tech-onboarding-section, .training-support {
        padding-top: 40px;
        padding-bottom: 40px
    }

        .join-us-cta h3, .tech-onboarding-section h2 {
            font-size: 1.6rem
        }
}

.join-us-cta h3, .tech-onboarding-section h2 {
    font-weight: 700;
    margin-bottom: 15px
}

.join-us-cta p, .tech-onboarding-section p {
    max-width: 700px;
    margin: 0 auto 20px;
    font-size: 1.05rem;
    line-height: 1.55
}

.join-us-cta img:hover, .mission-image img:hover, .tech-onboarding-section img:hover, .training-support img:hover {
    transform: translateY(-4px);
    transition: .3s
}

.implementation-timeline h5, .why-choose-adaptive h4 {
    color: #0d6efd
}

.implementation-timeline .border:hover, .why-choose-adaptive .border:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 30px rgba(0,0,0,.1)
}

.our-approach img {
    max-width: 100%;
    border-radius: 10px
}

.ao-section {
    padding: 64px 0
}

.ao-section-alt {
    background: #f8fafc
}

.ao-section-muted {
    background: #f3f4f6
}

@media (max-width:767.98px) {
    .ao-section {
        padding: 40px 0
    }
}

.section-title {
    margin: 20px 0 10px;
    font-size: 2.1rem;
    font-weight: 700;
    color: #111827
}

.section-lead {
    font-size: 1.08rem;
    line-height: 1.7;
    color: #4b5563
}

.ao-hero-image {
    max-width: 520px;
    width: 100%;
    height: auto;
    border-radius: 18px;
    box-shadow: 0 18px 45px rgba(15,23,42,.22);
    object-fit: cover
}

.ao-checklist {
    list-style: none;
    padding-left: 0;
    margin: 1rem 0 0
}

    .ao-checklist li {
        padding-left: 1.8rem;
        margin-bottom: .5rem;
        font-size: .98rem;
        color: #374151
    }

        .ao-checklist li::before {
            content: "✓";
            position: absolute;
            left: 0;
            top: .1rem;
            font-weight: 700;
            font-size: .95rem;
            color: #16a34a
        }

.ao-feature-card {
    height: 100%;
    border-radius: 16px;
    padding: 24px 22px;
    background: #fff;
    border: 1px solid #e5e7eb;
    box-shadow: 0 10px 30px rgba(15,23,42,.08);
    transition: box-shadow .2s,transform .2s,border-color .2s
}

    .ao-feature-card h3 {
        font-size: 1.15rem;
        font-weight: 600;
        margin-bottom: .5rem;
        color: #111827
    }

    .ao-feature-card p {
        font-size: .98rem;
        line-height: 1.7;
        color: #4b5563;
        margin-bottom: 0
    }

    .ao-feature-card:hover {
        transform: translateY(-4px);
        border-color: #c7d2fe;
        box-shadow: 0 18px 40px rgba(79,70,229,.18)
    }

@media (min-width:992px) {
    .ao-timeline::before {
        content: "";
        position: absolute;
        left: 12.5%;
        right: 12.5%;
        top: 40px;
        height: 2px;
        background: linear-gradient(to right,#e5e7eb,#d1d5db);
        z-index: 0
    }
}

.ao-timeline-step {
    z-index: 1;
    background: #fff;
    border-radius: 16px;
    padding: 22px 20px;
    box-shadow: 0 10px 30px rgba(15,23,42,.06);
    border: 1px solid #e5e7eb;
    height: 100%
}

    .ao-timeline-step h3 {
        font-size: 1.05rem;
        font-weight: 600;
        margin-bottom: .45rem;
        color: #111827
    }

    .ao-timeline-step p {
        font-size: .95rem;
        color: #4b5563;
        margin-bottom: 0
    }

.ao-timeline-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .25rem .75rem;
    border-radius: 999px;
    background: #eef2ff;
    color: #3730a3;
    font-size: .78rem;
    font-weight: 600;
    margin-bottom: .6rem
}

.section-alt {
    background: #f7f9fc
}

.block {
    margin-bottom: 25px
}

h1 {
    font-size: 1.9rem;
    font-weight: 700
}

h2 {
    font-size: 1.6rem;
    font-weight: 600
}

h3 {
    font-size: 1.25rem;
    font-weight: 500;
    margin-bottom: 8px
}

p, ul li {
    line-height: 1.45;
    margin-bottom: 6px
}

.navbar-nav .nav-item::before, .navbar-nav li::before {
    content: none !important
}

.card, .feature-box, .industry-box {
    transition: .2s;
    padding: 15px
}

    .card:hover, .feature-box:hover, .industry-box:hover {
        box-shadow: 0 4px 12px rgba(0,0,0,.08);
        transform: translateY(-2px)
    }

.btn-primary {
    padding: 8px 18px !important;
    border-radius: 5px !important;
    font-weight: 600 !important;
    transition: .2s
}

    .btn-primary:hover {
        opacity: .92
    }

.fade-in {
    opacity: 0;
    transform: translateY(12px);
    animation: .45s forwards fadeInUp
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(25px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}
