/* CRO page – marquee strip */
.marquee-container {
    display: flex;
    width: max-content;
    animation: cro-marquee 20s linear infinite;
}

@keyframes cro-marquee {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

.marquee-container:hover {
    animation-play-state: paused;
}

/* Footer Legal Links Hover */
.hover-opacity-100:hover {
    opacity: 1 !important;
    transition: opacity 0.3s ease;
}

/* Responsive Overrides */
@media (max-width: 991.98px) {

    .navbar-brand,
    .navbar-other {
        width: auto !important;
    }

    .navbar-other {
        margin-left: auto !important;
    }
}

@media (max-width: 767.98px) {
    .navbar-brand img {
        max-height: 35px;
    }

    .offset-lg-1 {
        margin-left: 0 !important;
    }

    .widget.text-lg-end {
        text-align: left !important;
    }

    .justify-content-md-end {
        justify-content: flex-start !important;
    }
}

/* Responsive Styles for CRO Page */
@media (max-width: 991.98px) {

    .navbar-brand,
    .navbar-other {
        width: auto !important;
    }

    .navbar-other {
        margin-left: auto !important;
    }
}

@media (max-width: 767.98px) {
    .navbar-brand img {
        max-height: 35px !important;
    }

    .container {
        padding-left: 1.25rem !important;
        padding-right: 1.25rem !important;
    }

    .text-lg-end {
        text-align: left !important;
    }

    .text-md-end {
        text-align: left !important;
    }

    .d-inline-flex.me-2,
    .d-inline-flex {
        display: flex !important;
        width: 100%;
        margin-right: 0 !important;
        margin-bottom: 1rem;
    }

    .btn-lg {
        width: 100% !important;
    }
}



/* What We Do Section */
/* Reveal Animation Base */
.reveal-item {
    opacity: 0;
    transform: translateY(40px);
    transition: all 0.9s cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal-item.active {
    opacity: 1;
    transform: translateY(0);
}

/* Hover Inversion Unit */
.hover-unit {
    transition: all 0.5s ease;
    border: 1px solid #000;
}

.hover-unit:hover {
    background-color: #000 !important;
    color: #fff !important;
}

.hover-unit:hover * {
    color: #fff !important;
}

/* Technical Blueprint Lines */
.blueprint-line {
    height: 1px;
    background: #000;
    width: 0;
    transition: width 1.2s ease;
}

.active .blueprint-line {
    width: 100%;
}

/* Kinetic Text Stroke */
.text-stroke-light {
    -webkit-text-stroke: 1px #000;
    color: transparent;
    transition: all 0.5s ease;
}

.hover-unit:hover .text-stroke-light {
    -webkit-text-stroke: 1px #fff;
}


/* Styling Mandate: Strict Black & White */
.bg-black {
    background-color: #000 !important;
}

.bg-opacity-05 {
    background-color: rgba(255, 255, 255, 0.03) !important;
}

/* Text Effects */
.text-stroke-white {
    -webkit-text-stroke: 1.5px #fff;
    color: transparent;
}

.leading-relaxed {
    line-height: 1.8;
}

/* Logic Indicator (The "Glow" Pulse) */
.logic-indicator {
    width: 6px;
    height: 6px;
    background: #fff;
    border-radius: 50%;
    box-shadow: 0 0 10px #fff;
    position: relative;
    animation: logic-pulse 2s infinite ease-in-out;
}

@keyframes logic-pulse {

    0%,
    100% {
        transform: scale(1);
        opacity: 1;
    }

    50% {
        transform: scale(1.5);
        opacity: 0.4;
    }
}

/* Logic Grid Hover Interactions */
.logic-cell {
    transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.logic-cell:hover {
    background-color: rgba(255, 255, 255, 0.05);
}

/* Reveal Overrides for this section */
.reveal-item {
    opacity: 0;
    transform: translateY(40px);
    transition: all 1.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal-item.active {
    opacity: 1;
    transform: translateY(0);
}

/* Background watermark styling */
.opacity-05 {
    opacity: 0.03;
}

/* Process Section Styling */
.text-outline-dark {
    -webkit-text-stroke: 1.5px #000;
    color: transparent;
}

.step-number {
    font-size: 1.5rem;
    font-weight: 900;
    font-family: monospace;
    line-height: 1;
}

.step-line {
    height: 2px;
    background: #000;
    width: 60px;
    opacity: 0.1;
}

/* Step Number Hover Animation */
.col-lg-4:hover .step-number {
    transform: scale(1.2);
    transition: transform 0.3s ease;
}

.col-lg-4:hover .step-line {
    opacity: 1;
    width: 100%;
    transition: all 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Animated Recording Dot */
.recording-dot {
    width: 8px;
    height: 8px;
    background: #000;
    border-radius: 50%;
    animation: blink 1.5s infinite;
}

@keyframes blink {
    0% {
        opacity: 1;
    }

    50% {
        opacity: 0.2;
    }

    100% {
        opacity: 1;
    }
}

/* Scroll Reveal */
.reveal-item {
    opacity: 0;
    transform: translateY(30px);
    transition: all 1s cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal-item.active {
    opacity: 1;
    transform: translateY(0);
}

@media (max-width: 991.98px) {
    .border-end {
        border-right: none !important;
    }

    .step-line {
        width: 100% !important;
        opacity: 1 !important;
    }
}

/* Modern B&W Styling */
.text-outline-dark {
    -webkit-text-stroke: 1.5px #000;
    color: transparent;
}

.card-active-glow {
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.08);
    position: relative;
    z-index: 2;
    transform: translateY(-5px);
    /* Subtle lift to show it's the "active" choice */
}

/* Scroll Reveal Core */
.reveal-item {
    opacity: 0;
    transform: translateY(30px);
    transition: all 1s cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal-item.active {
    opacity: 1;
    transform: translateY(0);
}