/* =====================================================================
   ANEKOR – home.css  (home page animations only)
   Load AFTER layout.animations.css (re-uses its @keyframes anFadeUp).
   Requires AOS (css + js), layout.animations.js and home.js.
   Navbar, topbar, footer, buttons and reduced-motion live in
   layout.animations.css.
   Every animation uses "backwards" fill, so the normal (visible) state is
   always the default; nothing stays hidden if an animation is removed.
   ===================================================================== */

/* ---------- Home-only keyframes ---------- */
@keyframes anSlideL {
    from {
        opacity: 0;
        transform: translateX(-40px);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

@keyframes anSlideR {
    from {
        opacity: 0;
        transform: translateX(40px);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

@keyframes anWordUp {
    from {
        opacity: 0;
        transform: translateY(110%);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

@keyframes anIconPop {
    0% {
        opacity: 0;
        transform: scale(0) rotate(-45deg);
    }

    60% {
        opacity: 1;
        transform: scale(1.25) rotate(8deg);
    }

    100% {
        opacity: 1;
        transform: none;
    }
}

@keyframes anHeroZoom {
    from {
        transform: scale(1.12);
    }

    to {
        transform: scale(1);
    }
}

@keyframes anFloat {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-9px);
    }
}

@keyframes anBlob {

    0%,
    100% {
        transform: translate(0, 0);
    }

    50% {
        transform: translate(34px, 22px);
    }
}

/* =====================================================================
   HERO
   ===================================================================== */
.hero .carousel-item img {
    animation: anHeroZoom 9s ease-out both;
}

/* words are created by home.js */
.hero .word {
    display: inline-block;
    overflow: hidden;
    vertical-align: top;
    padding-bottom: .14em;
    margin-bottom: -.14em;
}

.hero .word-in {
    display: inline-block;
    animation: anWordUp .85s cubic-bezier(.2, .7, .2, 1) calc(.3s + var(--i, 0) * .08s) backwards;
}

.hero-content>p {
    animation: anFadeUp .8s ease 1.1s backwards;
}

.hero-content>.d-flex {
    animation: anFadeUp .8s ease 1.3s backwards;
}

/* =====================================================================
   OUR EXPERTISE
   ===================================================================== */
.ex-section::before {
    animation: anBlob 14s ease-in-out infinite;
}

.ex-section::after {
    animation: anBlob 17s ease-in-out infinite reverse;
}

.ex-icon {
    transition: transform .6s cubic-bezier(.2, .7, .2, 1), background-color .3s ease;
}

.ex-card:hover .ex-icon {
    transform: rotate(360deg) scale(1.1);
    background: rgba(255, 255, 255, .32);
}

.ex-num {
    transform-origin: right top;
    transition: transform .4s ease, color .4s ease;
}

.ex-card:hover .ex-num {
    transform: scale(1.18);
    color: rgba(255, 255, 255, .5);
}

.ex-card-top::after {
    transition: transform .6s ease;
}

.ex-card:hover .ex-card-top::after {
    transform: scale(1.6);
}

/* =====================================================================
   WHY BUSINESSES CHOOSE ANEKOR
   (home.js wraps each column's content in .why-inner)
   ===================================================================== */
.why-inner {
    padding: 1rem .5rem;
    border-radius: 10px;
    transition: transform .4s ease, background-color .4s ease;
}

.why-inner>i {
    display: inline-block;
    transition: transform .5s cubic-bezier(.2, .7, .2, 1);
}

.why-inner h6 {
    transition: color .3s ease;
}

.why-inner:hover {
    transform: translateY(-6px);
    background-color: rgba(255, 255, 255, .05);
}

.why-inner:hover>i {
    transform: translateY(-4px) scale(1.2) rotate(-8deg);
}

.why-inner:hover h6 {
    color: var(--primary) !important;
}

/* one-time entrance when the column scrolls into view */
.aos-animate .why-inner>i {
    animation: anIconPop .8s cubic-bezier(.2, .7, .2, 1) .25s backwards;
}

.aos-animate .why-inner h6 {
    animation: anFadeUp .6s ease .45s backwards;
}

/* Small description appears ONLY on hover (mouse devices).
   Touch screens have no hover, so the text stays visible there. */
.why-inner p {
    transition: opacity .4s ease, transform .4s ease;
}

@media (hover: hover) and (pointer: fine) {
    .why-inner p {
        opacity: 0;
        transform: translateY(12px);
    }

    .why-inner:hover p {
        opacity: 1;
        transform: none;
    }
}

@media (hover: none),
(pointer: coarse) {
    .aos-animate .why-inner p {
        animation: anFadeUp .6s ease .6s backwards;
    }
}

/* =====================================================================
   OUR IMPACT (counters)
   ===================================================================== */
.impact-card {
    transition: background-color .35s ease;
}

.impact-card:hover {
    background: rgba(255, 255, 255, .15);
}

.impact-number {
    font-variant-numeric: tabular-nums;
    transition: transform .4s ease;
}

.impact-card:hover .impact-number {
    transform: translateY(-4px);
}

.impact-label {
    transition: background-color .3s ease, letter-spacing .3s ease;
}

.impact-card:hover .impact-label {
    background: #158378;
    letter-spacing: .04em;
}

/* =====================================================================
   FOR EMPLOYERS / FOR CANDIDATES (tab switch)
   .tab-switched is added by home.js on the first tab click, so
   the first (default) pane is revealed by AOS instead.
   ===================================================================== */
.employer-candidate-tabs .nav-link {
    transition: background-color .35s ease, color .35s ease, letter-spacing .35s ease;
}

.employer-candidate-tabs .nav-link.active {
    letter-spacing: 1px;
}

.tab-switched .tab-pane.active>.row>.col-md-6:nth-child(1) {
    animation: anSlideL .7s cubic-bezier(.2, .7, .2, 1) backwards;
}

.tab-switched .tab-pane.active>.row>.col-md-6:nth-child(2) {
    animation: anSlideR .7s cubic-bezier(.2, .7, .2, 1) backwards;
}

.tab-switched .tab-pane.active .col-md-6.d-flex>* {
    animation: anFadeUp .6s ease backwards;
}

.tab-switched .tab-pane.active .col-md-6.d-flex>*:nth-child(1) {
    animation-delay: .25s;
}

.tab-switched .tab-pane.active .col-md-6.d-flex>*:nth-child(2) {
    animation-delay: .35s;
}

.tab-switched .tab-pane.active .col-md-6.d-flex>*:nth-child(3) {
    animation-delay: .45s;
}

.tab-switched .tab-pane.active .col-md-6.d-flex>*:nth-child(4) {
    animation-delay: .55s;
}

.employer-candidate-img {
    transition: transform .6s ease, box-shadow .6s ease;
}

.employer-candidate-img:hover {
    box-shadow: 0 18px 40px rgba(21, 36, 64, .22);
}

/* On phones, slide up instead of sideways (no horizontal movement) */
@media (max-width: 767.98px) {

    .tab-switched .tab-pane.active>.row>.col-md-6:nth-child(1),
    .tab-switched .tab-pane.active>.row>.col-md-6:nth-child(2) {
        animation: anFadeUp .7s cubic-bezier(.2, .7, .2, 1) backwards;
    }
}

/* =====================================================================
   OUR DISTINCTIVE EDGE
   ===================================================================== */
.edge-card {
    position: relative;
    overflow: hidden;
    transition: transform .35s ease, box-shadow .35s ease, border-color .3s ease;
}

.edge-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, var(--logo-blue, #4A8BC7), var(--logo-green, #329F76));
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .45s ease;
}

.edge-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 16px 36px rgba(38, 94, 114, .14);
}

.edge-card:hover::before {
    transform: scaleX(1);
}

.edge-card h5 {
    transition: color .3s ease;
}

.edge-card:hover h5 {
    color: var(--primary);
}

/* =====================================================================
   WHY IT MATTERS TO YOUR BUSINESS
   ===================================================================== */
.diff-icon {
    transition: transform .45s cubic-bezier(.2, .7, .2, 1), background-color .3s ease,
        color .3s ease, box-shadow .3s ease;
}

.diff-point:hover .diff-icon {
    background-color: var(--primary) !important;
    color: #fff !important;
    transform: scale(1.14) rotate(360deg);
    box-shadow: 0 0 0 7px rgba(27, 158, 147, .15);
}

.diff-point h6 {
    transition: color .3s ease;
}

.diff-point:hover h6 {
    color: var(--primary);
}

/* floating "Delivering Excellence" badge */
.position-absolute.bg-primary.p-4.rounded.shadow {
    animation: anFloat 3.6s ease-in-out infinite;
}

/* =====================================================================
   WHO WE ARE (accordion)
   ===================================================================== */
.anekor-accordion .accordion-button {
    transition: color .3s ease, padding-left .3s ease, background-color .3s ease, border-color .3s ease;
}

.anekor-accordion .accordion-button:hover {
    color: var(--primary);
    padding-left: 1.9rem;
}

.anekor-accordion .accordion-item {
    transition: background-color .3s ease;
}

.anekor-accordion .accordion-item:hover {
    background-color: rgba(27, 158, 147, .04);
}

/* =====================================================================
   CLIENT LOGOS
   ===================================================================== */
.client-logo-box img:hover {
    transform: scale(1.1);
}

/* =====================================================================
   INSIGHTS / BLOG CARDS
   ===================================================================== */
.insight-card-img {
    transition: box-shadow .35s ease, filter .35s ease;
}

.insight-card:hover .insight-card-img {
    opacity: 1;
    filter: saturate(1.2) brightness(1.04);
    box-shadow: 0 14px 30px rgba(21, 36, 64, .22);
}

.insight-title {
    transition: color .3s ease;
}

.insight-card:hover .insight-title {
    color: var(--primary);
}

/* =====================================================================
   CLIENT REVIEWS
   ===================================================================== */
/* equal-height cards inside Owl */
.review-carousel .owl-stage {
    display: flex;
}

.review-carousel .owl-item {
    display: flex;
}

.review-card {
    position: relative;
    overflow: hidden;
    width: 100%;
    margin-bottom: 1.5rem;
    transition: transform .35s ease, box-shadow .35s ease;
}

.review-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, var(--logo-blue, #4A8BC7), var(--logo-green, #329F76));
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .45s ease;
}

.review-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 16px 36px rgba(38, 94, 114, .14) !important;
}

.review-card:hover::before {
    transform: scaleX(1);
}

.review-quote {
    transition: transform .5s cubic-bezier(.2, .7, .2, 1);
}

.review-card:hover .review-quote {
    transform: scale(1.2) rotate(-8deg);
}

.review-carousel .owl-item .review-avatar {
    width: 56px;
    height: 56px;
    object-fit: cover;
    border: 3px solid transparent;
    transition: border-color .3s ease, transform .3s ease;
}

.review-card:hover .review-avatar {
    border-color: var(--primary);
    transform: scale(1.08);
}

.review-card h6 {
    transition: color .3s ease;
}

.review-card:hover h6 {
    color: var(--primary);
}