:root {
    --accent-orange: #ff5a0a;
    --accent-orange-dark: #d94200;
    --accent-gold: #ffb703;
    --accent-cyan: #12bfe8;
    --accent-navy: #06183b;
}

/* Clearer brand accents */
.text-primary,
.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link.active {
    color: var(--accent-orange) !important;
}

.bg-primary,
.btn-primary,
.service-icon,
.back-to-top {
    background-color: var(--accent-orange) !important;
}

.btn-primary,
.btn-outline-primary:hover,
.border-primary {
    border-color: var(--accent-orange) !important;
}

.btn-primary:hover,
.btn-primary:focus {
    background-color: var(--accent-orange-dark) !important;
    border-color: var(--accent-orange-dark) !important;
}

/* Bright but restrained heading details */
.display-2 .text-primary,
.display-5 .text-primary {
    color: var(--accent-orange) !important;
    text-shadow: 0 4px 14px rgba(255, 90, 10, .16);
}

h6.text-primary {
    letter-spacing: .08em;
}

.fa-check,
.bi-check-lg,
.fa-map-marker-alt.text-primary {
    color: var(--accent-orange) !important;
}

/* More vivid project and gallery presentation */
.gallery-card,
.portfolio-box {
    border-bottom: 4px solid var(--accent-orange);
}

.gallery-card span {
    background: linear-gradient(180deg, rgba(6, 24, 59, .12), rgba(6, 24, 59, .86));
}

.gallery-card span i,
.portfolio-btn i {
    color: #fff !important;
    text-shadow: 0 0 12px rgba(255, 183, 3, .65);
}

.portfolio-title {
    border-left: 5px solid var(--accent-orange);
}

#portfolio-flters li.active {
    border-color: var(--accent-gold) !important;
    box-shadow: 0 6px 18px rgba(255, 183, 3, .2);
}

/* Color cues for services and content cards */
.service-item,
.client-review-card,
.blog-item {
    border-top: 3px solid rgba(18, 191, 232, .72);
}

.service-item:hover,
.client-review-card:hover,
.blog-item:hover {
    border-top-color: var(--accent-orange);
}

.service-icon {
    box-shadow: 0 8px 20px rgba(255, 90, 10, .22);
}

.service-icon i,
.service-icon i.text-primary {
    color: #fff !important;
    font-size: 2.65rem;
    text-shadow: 0 3px 8px rgba(108, 30, 0, .32);
}

.service-item:hover .service-icon i {
    color: #fff !important;
}

/* Keep every service card and image aligned regardless of source dimensions */
.service-item {
    height: 100%;
    min-height: 680px;
}

.service-item > img {
    display: block;
    width: 100%;
    height: 430px;
    object-fit: cover;
    object-position: center;
}

.service-item > .px-4 {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
}

.service-item > .px-4 .btn {
    margin-top: auto;
}

/* Lighter form interaction */
.form-control:focus {
    border-color: var(--accent-cyan) !important;
    box-shadow: 0 0 0 .2rem rgba(18, 191, 232, .14);
}

.contact-form .btn .fa-whatsapp {
    color: #fff;
}

.floating-contact__whatsapp {
    background: #20d66b !important;
}

.floating-contact__phone {
    background: var(--accent-orange) !important;
}

/* Sliding entrance for the home-page introduction */
.about-showcase {
    overflow: hidden;
}

.about-showcase__copy {
    animation: about-slide-left .9s cubic-bezier(.22, .75, .25, 1) both;
}

.about-showcase__visual {
    animation: about-slide-right 1s cubic-bezier(.22, .75, .25, 1) .12s both;
}

.about-showcase__list p {
    animation: about-list-rise .65s ease both;
}

.about-showcase__list p:nth-child(1) { animation-delay: .32s; }
.about-showcase__list p:nth-child(2) { animation-delay: .4s; }
.about-showcase__list p:nth-child(3) { animation-delay: .48s; }
.about-showcase__list p:nth-child(4) { animation-delay: .56s; }

@keyframes about-slide-left {
    from {
        opacity: 0;
        transform: translateX(-80px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes about-slide-right {
    from {
        opacity: 0;
        transform: translateX(80px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes about-list-rise {
    from {
        opacity: 0;
        transform: translateY(18px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .about-showcase__copy,
    .about-showcase__visual,
    .about-showcase__list p {
        animation: none;
    }
}

/* Keep bright colors comfortable on small screens */
@media (max-width: 767.98px) {
    .gallery-card,
    .portfolio-box {
        border-bottom-width: 3px;
    }

    .service-item > img {
        height: 280px;
    }

    .service-item {
        min-height: 0;
    }
}
