/* ═══════════════════════════════════════════════════
   ADM-Style Services Carousel (Horizontal Scroll)
   ═══════════════════════════════════════════════════ */
.adm-services-section {
    background: transparent;
    padding: 100px 0 60px;
    overflow: hidden;
}

/* Header */
.adm-services-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
    padding: 0 5vw 40px;
    flex-wrap: wrap;
}

.adm-header-left {
    flex: 1;
}

.adm-header-right {
    max-width: 420px;
}

.adm-tag {
    display: block;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 5px;
    color: #dfa539;
    text-transform: uppercase;
    margin-bottom: 14px;
}

.adm-main-title {
    font-size: clamp(32px, 5vw, 58px);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -1.5px;
    color: #1a1a1a;
    margin: 0;
}

.adm-header-desc {
    font-size: 15px;
    line-height: 1.7;
    color: rgba(26, 26, 26, 0.6);
    margin: 0;
}

/* Loader / Progress bar */
.adm-scroll-loader-wrap {
    width: 90vw;
    margin: 0 auto 40px;
    height: 2px;
    background: rgba(26, 26, 26, 0.1);
    border-radius: 2px;
    overflow: hidden;
}

.adm-scroll-loader {
    width: 0%;
    height: 100%;
    background: #dfa539;
}

/* Slider Track */
.adm-slider-outer {
    overflow: hidden;
    padding: 0 5vw;
}

.adm-slider-track {
    display: flex;
    gap: 12px;
    will-change: transform;
    flex-wrap: nowrap;
    width: max-content;
}

/* Cards */
.adm-card {
    width: 20vw;
    min-width: 300px;
    flex-shrink: 0;
    position: relative;
    overflow: hidden;
    cursor: pointer;
    border-radius: 4px;
}

.adm-card-link {
    display: block;
    text-decoration: none;
    position: relative;
    width: 100%;
    height: 100%;
}

.adm-card-img-wrap {
    width: 100%;
    aspect-ratio: 3/4;
    overflow: hidden;
    position: relative;
}

.adm-card-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.9s cubic-bezier(0.25, 1, 0.3, 1);
    display: block;
}

.adm-card:hover .adm-card-img {
    transform: scale(1.06);
}

/* Default title at bottom */
.adm-card-default-info {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 60px 24px 24px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.75) 0%, transparent 100%);
    transition: opacity 0.35s ease;
    z-index: 2;
}

.adm-card:hover .adm-card-default-info {
    opacity: 0;
}

.adm-card-title {
    font-size: clamp(16px, 1.5vw, 22px);
    font-weight: 700;
    color: #fff;
    line-height: 1.25;
    margin: 0;
    text-transform: none;
    letter-spacing: -0.3px;
}

/* Hover amber overlay */
.adm-card-overlay {
    position: absolute;
    inset: 0;
    background: var(--hover-color, #ad7921d9);
    display: flex;
    align-items: flex-end;
    padding: 30px 28px;
    transform: translateY(101%);
    transition: transform 0.55s cubic-bezier(0.25, 1, 0.3, 1);
    z-index: 3;
}

.adm-card:hover .adm-card-overlay {
    transform: translateY(0);
}

.adm-overlay-inner {
    width: 100%;
}

.adm-overlay-title {
    font-size: clamp(18px, 1.8vw, 26px);
    font-weight: 700;
    color: #fff;
    line-height: 1.2;
    margin: 0 0 18px;
    letter-spacing: -0.5px;
}

.adm-overlay-desc {
    font-size: 14px;
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.88);
    margin: 0 0 22px;
}

.adm-overlay-link {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.9);
    border-bottom: 1px solid rgba(255, 255, 255, 0.4);
    padding-bottom: 2px;
    transition: color 0.3s ease, border-color 0.3s ease;
}

.adm-card:hover .adm-overlay-link {
    color: #fff;
    border-color: #fff;
}

/* Responsive */
@media (max-width: 991px) {
    .adm-card {
        width: 45vw;
    }
}

@media (max-width: 768px) {
    .adm-services-header {
        flex-direction: column;
        gap: 20px;
    }

    .adm-header-right {
        max-width: 100%;
    }

    .adm-card {
        width: 80vw;
    }
}

@media (max-width: 480px) {
    .adm-card {
        width: 90vw;
    }
}

                /* ── Roadmap Section ─────────────────────────────────── */
                .rmap-section {
                    background: #FCFAF6;
                    position: relative;
                }

                .rmap-section::before {
                    content: "";
                    position: absolute;
                    inset: 0;
                    z-index: 0;
                    pointer-events: none;
                    background-image: radial-gradient(#E1DDD5 1px, transparent 1px);
                    background-size: 34px 34px;
                    opacity: .45;
                }

                .rmap-header {
                    position: relative;
                    z-index: 2;
                    padding: 100px 6vw 60px;
                }

                .rmap-eyebrow:empty {
                    display: none;
                }

                .rmap-eyebrow {
                    display: block;
                    font-size: 1.3rem;
                    letter-spacing: .42em;
                    text-transform: uppercase;
                    color: #B08A3E;
                    font-weight: 700;
                    margin-bottom: 18px;
                }

                .rmap-main-title {
                    font-family: 'Alegreya SC', serif;
                    font-size: clamp(2.8rem, 6vw, 5.5rem);
                    font-weight: 800;
                    line-height: .9;
                    letter-spacing: -.03em;
                    text-transform: uppercase;
                    color: #232120;
                    margin: 0;
                }

                /* ── Scroll Wrap & Stage ─── */
                .rmap-scroll-wrap {
                    position: relative;
                    z-index: 1;
                }

                .rmap-stage {
                    position: sticky;
                    top: 85px;
                    height: calc(100svh - 85px);
                    overflow: hidden;
                    display: flex;
                    align-items: center;
                }

                .rmap-watermark {
                    position: absolute;
                    left: 2vw;
                    top: 50%;
                    transform: translateY(-50%) rotate(180deg);
                    writing-mode: vertical-rl;
                    font-family: 'Alegreya SC', serif;
                    font-size: clamp(3rem, 7vw, 6.4rem);
                    line-height: .9;
                    text-transform: uppercase;
                    -webkit-text-stroke: 1.5px #E1DDD5;
                    color: transparent;
                    letter-spacing: -.02em;
                    user-select: none;
                    pointer-events: none;
                    z-index: 0;
                }

                .rmap-hud {
                    position: absolute;
                    left: 0;
                    right: 0;
                    top: 0;
                    padding: 22px 6vw;
                    z-index: 5;
                    display: flex;
                    justify-content: space-between;
                    align-items: center;
                    font-size: 1.1rem;
                    letter-spacing: .3em;
                    text-transform: uppercase;
                    color: #5C5854;
                }

                .rmap-count b {
                    font-family: 'Alegreya SC', serif;
                    color: #B08A3E;
                    font-size: 1.6rem;
                    letter-spacing: 0;
                }

                .rmap-rail {
                    flex: 1;
                    max-width: 260px;
                    height: 3px;
                    background: #E1DDD5;
                    margin: 0 22px;
                    border-radius: 2px;
                }

                #rmapRailFill {
                    display: block;
                    height: 100%;
                    width: 0;
                    background: #B08A3E;
                    border-radius: 2px;
                    transition: width .05s linear;
                }

                /* ── Track ─── */
                .rmap-track {
                    will-change: transform;
                    position: relative;
                }

                .rmap-inner {
                    position: relative;
                    transform-origin: 0 50%;
                }

                .rmap-road-svg {
                    position: absolute;
                    inset: 0;
                    overflow: visible;
                }

                /* ── Caps ─── */
                .rmap-cap {
                    position: absolute;
                    top: 260px;
                    left: var(--rx);
                    transform: translate(-50%, -50%);
                    width: 130px;
                    height: 130px;
                    border-radius: 50%;
                    background: #B08A3E;
                    display: grid;
                    place-items: center;
                    color: #fff;
                    font-family: 'Alegreya SC', serif;
                    font-size: 1.5rem;
                    letter-spacing: .04em;
                    box-shadow: 0 18px 40px rgba(176, 138, 62, .28);
                    z-index: 2;
                }

                .rmap-finish {
                    background: #232120;
                    box-shadow: 0 18px 40px rgba(35, 33, 32, .25);
                    opacity: 0;
                    transition: opacity .5s ease, transform .5s ease;
                }

                .rmap-finish.in {
                    opacity: 1;
                }

                /* ── Stops ─── */
                .rmap-stop {
                    position: absolute;
                    left: var(--rx);
                    top: var(--ry);
                    width: 300px;
                }

                .rmap-card {
                    transform: translate(-50%, 72px);
                    opacity: 0;
                    transition: opacity .6s ease, translate .6s cubic-bezier(.22, 1, .36, 1);
                    translate: 0 26px;
                    position: relative;
                    text-align: center;
                }

                .rmap-above .rmap-card {
                    transform: translate(-50%, calc(-100% - 72px));
                }

                .rmap-stop.in .rmap-card {
                    opacity: 1;
                    translate: 0 0;
                }

                .rmap-connector {
                    position: absolute;
                    left: -1px;
                    width: 2px;
                    height: 72px;
                    background: repeating-linear-gradient(to bottom, #B08A3E 0 5px, transparent 5px 11px);
                    opacity: 0;
                    transition: opacity .5s ease .12s;
                }

                .rmap-below .rmap-connector {
                    top: 0;
                }

                .rmap-above .rmap-connector {
                    bottom: 0;
                }

                .rmap-stop.in .rmap-connector {
                    opacity: 1;
                }

                .rmap-dot {
                    position: absolute;
                    left: -9px;
                    top: -9px;
                    width: 18px;
                    height: 18px;
                    border-radius: 50%;
                    background: #B08A3E;
                    border: 4px solid #FCFAF6;
                    transform: scale(0);
                    transition: transform .45s cubic-bezier(.3, 1.6, .5, 1);
                }

                .rmap-stop.in .rmap-dot {
                    transform: scale(1);
                }

                /* ── Icon (actual img tag) ─── */
                .rmap-icon {
                    width: 220px;
                    height: 220px;
                    margin: 0 auto 0px;
                    border-radius: 50%;
                    position: relative;
                    z-index: 2;
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    padding: 10px;
                    transition: transform .4s ease, box-shadow .4s ease;
                }

                .rmap-icon img {
                    width: 100%;
                    height: 100%;
                    object-fit: contain;
                    filter: grayscale(40%) opacity(0.8);
                    transition: filter .4s ease;
                }

                .rmap-stop.in .rmap-icon img {
                    filter: grayscale(0) opacity(1);
                }

                .rmap-num {
                    display: block;
                    font-size: 2rem;
                    letter-spacing: .34em;
                    color: #B08A3E;
                    font-weight: 700;
                    margin-bottom: 12px;
                }

                .rmap-stop h3 {
                    font-size: 2rem;
                    font-weight: 700;
                    text-transform: uppercase;
                    letter-spacing: .05em;
                    color: #B08A3E;
                    margin-bottom: 14px;
                    font-family: 'Alegreya SC', serif;
                }

                .rmap-stop p {
                    font-size: 1.35rem;
                    line-height: 1.65;
                    color: #5C5854;
                    font-weight: 300;
                    max-width: 28ch;
                    margin: 0 auto;
                }

                /* ── Laptop (900px – 1280px): horizontal scroll, smaller scale ─── */
                @media (max-width: 1280px) and (min-width: 901px) {
                    .rmap-header {
                        padding: 70px 5vw 40px;
                    }

                    .rmap-main-title {
                        font-size: clamp(2rem, 5vw, 4rem);
                    }

                    .rmap-eyebrow {
                        font-size: 1rem;
                    }

                    .rmap-stop h3 {
                        font-size: 1.3rem;
                    }

                    .rmap-stop p {
                        font-size: 1rem;
                    }

                    .rmap-num {
                        font-size: 1.5rem;
                    }

                    .rmap-icon {
                        width: 80px;
                        height: 80px;
                        padding: 16px;
                    }

                    .rmap-hud {
                        font-size: 0.85rem;
                        padding: 16px 4vw;
                    }

                    .rmap-count b {
                        font-size: 1.2rem;
                    }
                }

                /* ── Tablet & Mobile (≤ 900px): vertical timeline layout ─── */
                @media (max-width: 900px) {
                    .rmap-scroll-wrap {
                        height: auto !important;
                    }

                    .rmap-stage {
                        position: static;
                        height: auto;
                        overflow: visible;
                        padding: 40px 0 70px;
                        display: block;
                    }

                    .rmap-watermark,
                    .rmap-road-svg,
                    .rmap-hud {
                        display: none;
                    }

                    .rmap-track {
                        transform: none !important;
                    }

                    .rmap-inner {
                        width: auto !important;
                        height: auto !important;
                        transform: none !important;
                        display: flex;
                        flex-direction: column;
                        gap: 40px;
                        padding: 0 20px;
                        position: relative;
                    }

                    /* Vertical dashed spine — centred under the 90px badge /
                       icon column that starts at the 20px inner padding. */
                    .rmap-inner::before {
                        content: "";
                        position: absolute;
                        left: 63px;
                        top: 45px;
                        bottom: 45px;
                        width: 4px;
                        background: repeating-linear-gradient(to bottom, #B08A3E 0 14px, transparent 14px 26px);
                        border-radius: 4px;
                    }

                    /* START / FINISH caps */
                    .rmap-cap {
                        position: relative;
                        left: auto !important;
                        top: auto;
                        transform: none;
                        width: 90px;
                        height: 90px;
                        font-size: 1rem;
                        margin-left: 0;
                    }

                    .rmap-finish {
                        opacity: 1;
                    }

                    /* Each stop */
                    .rmap-stop {
                        position: relative;
                        left: auto !important;
                        top: auto !important;
                        width: auto;
                    }

                    /* Card: grid with icon on left */
                    .rmap-card,
                    .rmap-above .rmap-card {
                        transform: none;
                        text-align: left;
                        opacity: 0;
                        translate: 0 26px;
                        display: grid;
                        grid-template-columns: 90px 1fr;
                        gap: 18px;
                        align-items: start;
                    }

                    .rmap-stop.in .rmap-card {
                        opacity: 1;
                        translate: 0 0;
                    }

                    .rmap-icon {
                        width: 90px;
                        height: 90px;
                        margin: 0;
                        padding: 18px;
                    }

                    .rmap-num {
                        font-size: 1.4rem;
                    }

                    .rmap-stop h3 {
                        font-size: 1.6rem;
                    }

                    .rmap-stop p {
                        font-size: 1.1rem;
                        max-width: none;
                    }

                    .rmap-connector,
                    .rmap-dot {
                        display: none;
                    }

                    /* Section header */
                    .rmap-header {
                        padding: 60px 5vw 40px;
                    }

                    .rmap-main-title {
                        font-size: clamp(2.2rem, 7vw, 3.5rem);
                        letter-spacing: -.02em;
                    }

                    .rmap-eyebrow {
                        font-size: 1rem;
                        letter-spacing: .3em;
                    }
                }

                /* ── Mobile only (≤ 600px): tighter layout ─── */
                @media (max-width: 600px) {
                    /* Column geometry: the icon column (and the START/FINISH
                       badges) are 64px wide starting at the 16px inner padding,
                       so the dashed spine is centred at 16 + 32 = 48px and runs
                       straight through the badges and icon discs. */
                    .rmap-stage {
                        padding: 8px 0 56px;
                    }

                    .rmap-inner {
                        gap: 28px;
                        padding: 0 16px;
                    }

                    .rmap-inner::before {
                        left: 46px;
                        top: 36px;
                        bottom: 36px;
                    }

                    .rmap-cap {
                        width: 64px;
                        height: 64px;
                        font-size: .8rem;
                        margin-left: 0;
                    }

                    .rmap-card,
                    .rmap-above .rmap-card {
                        grid-template-columns: 64px 1fr;
                        gap: 16px;
                        align-items: center;
                    }

                    .rmap-icon {
                        width: 64px;
                        height: 64px;
                        padding: 12px;
                        background: #FCFAF6;
                        border: 2px solid #B08A3E;
                        box-shadow: 0 6px 16px rgba(176, 138, 62, .18);
                    }

                    .rmap-num {
                        font-size: 1rem;
                        letter-spacing: .12em;
                        margin-bottom: 4px;
                    }

                    .rmap-stop h3 {
                        font-size: 1.2rem;
                        letter-spacing: .03em;
                        margin-bottom: 6px;
                    }

                    .rmap-stop p {
                        font-size: .95rem;
                        line-height: 1.55;
                        margin: 0;
                    }

                    .rmap-header {
                        padding: 36px 5vw 12px;
                    }

                    .rmap-main-title {
                        font-size: clamp(1.8rem, 9vw, 2.8rem);
                    }

                    .rmap-eyebrow {
                        font-size: .85rem;
                        letter-spacing: .25em;
                    }
                }
            

        /* ═══════════════════════════════════════════════════
                       Original Editorial Layout (kept for other use)
                    ═══════════════════════════════════════════════════ */
        /* Editorial Layout Styling */
        .arch-editorial-services {
            background-color: #080a0b !important;
            position: relative;
        }

        .arch-bg-shapes {
            position: absolute;
            inset: 0;
            pointer-events: none;
            z-index: 0;
        }

        .shape-line {
            position: absolute;
            background: rgba(223, 165, 57, 0.05);
        }

        .line-1 {
            width: 1px;
            height: 100%;
            left: 15%;
            top: 0;
        }

        .line-2 {
            width: 1px;
            height: 100%;
            right: 15%;
            top: 0;
        }

        .arch-tag {
            font-size: 13px;
            font-weight: 700;
            letter-spacing: 6px;
            color: #dfa539;
            display: block;
            margin-bottom: 15px;
        }

        .arch-main-title {
            font-size: clamp(38px, 6vw, 68px);
            font-weight: 800;
            line-height: 1;
            letter-spacing: -2px;
        }

        .editorial-media-wrap {
            position: relative;
            z-index: 1;
        }

        .editorial-mask {
            position: relative;
            overflow: hidden;
            /* Architectural Arch Mask */
            border-radius: 400px 400px 0 0;
            aspect-ratio: 4/5;
            background: #111;
        }

        .editorial-img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 2s cubic-bezier(0.165, 0.84, 0.44, 1);
            filter: grayscale(0.2) brightness(0.9);
        }

        .editorial-overlay {
            position: absolute;
            inset: 0;
            background: linear-gradient(to bottom, transparent 60%, rgba(8, 10, 11, 0.8));
        }

        .editorial-icon-float {
            position: absolute;
            bottom: -30px;
            right: -30px;
            width: 120px;
            height: 120px;
            background: #dfa539;
            padding: 30px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
            z-index: 2;
            transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
        }

        .editorial-icon-float img {
            width: 100%;
            height: 100%;
            object-fit: contain;
            filter: brightness(0) invert(1);
        }

        .editorial-row:hover .editorial-img {
            transform: scale(1.1) rotate(1deg);
            filter: grayscale(0) brightness(1);
        }

        .editorial-row:hover .editorial-icon-float {
            transform: rotate(15deg) scale(1.1);
            background: #fff;
        }

        .editorial-row:hover .editorial-icon-float img {
            filter: brightness(0);
        }

        .editorial-num-wrap {
            display: flex;
            align-items: center;
            gap: 15px;
            margin-bottom: 10px;
        }

        .editorial-num {
            font-size: 60px;
            font-weight: 900;
            line-height: 1;
            color: transparent;
            -webkit-text-stroke: 1px rgba(255, 255, 255, 0.3);
            font-family: 'Alegreya SC', serif;
        }

        .editorial-label {
            font-size: 11px;
            font-weight: 700;
            color: #dfa539;
            letter-spacing: 3px;
            transform: rotate(-90px);
        }

        .editorial-title {
            font-size: clamp(28px, 3vw, 42px);
            font-weight: 700;
            line-height: 1.2;
        }

        .editorial-title a {
            color: #fff;
            text-decoration: none;
            transition: color 0.3s;
        }

        .editorial-title a:hover {
            color: #dfa539;
        }

        .arch-editorial-link {
            display: inline-flex;
            align-items: center;
            gap: 20px;
            text-decoration: none;
            color: #fff;
            font-weight: 700;
            letter-spacing: 2px;
            font-size: 13px;
        }

        .link-circle {
            width: 50px;
            height: 50px;
            border: 1px solid rgba(255, 255, 255, 0.2);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all 0.4s ease;
        }

        .arch-editorial-link:hover .link-circle {
            background: #dfa539;
            border-color: #dfa539;
            transform: translateX(10px);
        }

        /* Mobile Adjustments */
        @media (max-width: 991px) {
            .editorial-row {
                margin-bottom: 80px;
            }

            .editorial-mask {
                border-radius: 200px 200px 0 0;
                margin-bottom: 50px;
            }

            .editorial-content-wrap {
                padding: 0 !important;
                text-align: left !important;
            }

            .editorial-icon-float {
                width: 80px;
                height: 80px;
                padding: 20px;
                bottom: -20px;
                right: -10px;
            }

            .editorial-num {
                font-size: 40px;
            }
        }

        /* Storyline Vertical Process Styling */
        .storyline-process {
            padding-bottom: 120px;
        }

        .story-subtitle {
            font-size: 13px;
            font-weight: 700;
            letter-spacing: 5px;
            color: #dfa539;
            text-transform: uppercase;
            display: block;
        }

        .story-heading {
            font-size: clamp(32px, 5vw, 56px);
            font-weight: 800;
            color: #080a0b;
            letter-spacing: -2px;
            line-height: 1.1;
        }

        .storyline-wrapper {
            position: relative;
            margin-top: 80px;
        }

        .story-central-line {
            position: absolute;
            top: 0;
            bottom: 0;
            left: 50%;
            width: 1px;
            background: linear-gradient(to bottom, transparent, rgba(223, 165, 57, 0.3) 10%, rgba(223, 165, 57, 0.3) 90%, transparent);
            transform: translateX(-50%);
            z-index: 0;
        }

        .story-item {
            position: relative;
            z-index: 1;
        }

        .story-marker {
            width: 60px;
            height: 60px;
            background: #fff;
            border: 1px solid rgba(223, 165, 57, 0.3);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            position: relative;
            transition: all 0.4s ease;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
        }

        .story-dot {
            width: 8px;
            height: 8px;
            background: #dfa539;
            border-radius: 50%;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            box-shadow: 0 0 0 10px rgba(223, 165, 57, 0.1);
        }

        .story-num {
            font-size: 18px;
            font-weight: 800;
            color: #dfa539;
            opacity: 0;
            transform: scale(0.5);
            transition: all 0.4s ease;
        }

        .story-title {
            font-size: 28px;
            font-weight: 700;
            color: #080a0b;
            letter-spacing: -0.5px;
        }

        .story-desc {
            font-size: 16px;
            color: #666;
            line-height: 1.8;
        }

        .story-icon-box {
            width: 100px;
            height: 100px;
            background: #fff;
            border-radius: 30px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            position: relative;
            box-shadow: 0 20px 50px rgba(0, 0, 0, 0.05);
            transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
        }

        .story-icon-box img {
            width: 45px;
            height: 45px;
            object-fit: contain;
            position: relative;
            z-index: 2;
        }

        .story-icon-glow {
            position: absolute;
            inset: 0;
            background: #dfa539;
            border-radius: 30px;
            opacity: 0;
            transform: scale(0.8);
            filter: blur(20px);
            transition: all 0.6s ease;
        }

        /* Hover States */
        .story-item:hover .story-marker {
            border-color: #dfa539;
            transform: scale(1.1);
        }

        .story-item:hover .story-dot {
            opacity: 0;
        }

        .story-item:hover .story-num {
            opacity: 1;
            transform: scale(1);
        }

        .story-item:hover .story-icon-box {
            transform: translateY(-10px) rotate(-5deg);
            box-shadow: 0 30px 60px rgba(223, 165, 57, 0.15);
        }

        .story-item:hover .story-icon-glow {
            opacity: 0.2;
            transform: scale(1.2);
        }

        .pr-lg-100 {
            padding-right: 100px;
        }

        .pl-lg-100 {
            padding-left: 100px;
        }

        /* Mobile Adjustments */
        @media (max-width: 991px) {
            .story-central-line {
                left: 30px;
            }

            .story-marker {
                width: 40px;
                height: 40px;
                margin-bottom: 20px;
            }

            .pr-lg-100,
            .pl-lg-100 {
                padding: 0 0 0 60px !important;
                text-align: left !important;
            }
        }

        .arch-process-step:hover .step-icon-wrap img {
            filter: brightness(0) invert(1);
        }

        /* Mobile Adjustments */
        @media (max-width: 991px) {
            .process-connection-line {
                display: none;
            }

            .step-num-bg {
                font-size: 60px;
            }
        }
    