.profile-intro {
    max-width: 760px;
}

.profile-card,
.service-detail,
.sector-card,
.process-card,
.contact-card {
    height: 100%;
    background: #fff;
    border: 1px solid #ece7e8;
    border-radius: 16px;
    box-shadow: 0 14px 34px rgba(26, 26, 26, 0.07);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.profile-card:hover,
.service-detail:hover,
.sector-card:hover,
.process-card:hover,
.contact-card:hover {
    transform: translateY(-6px);
    border-color: rgba(128, 0, 32, .35);
    box-shadow: 0 20px 42px rgba(26, 26, 26, 0.12);
}

.profile-icon,
.service-icon,
.sector-icon,
.process-number,
.contact-icon {
    width: 64px;
    height: 64px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    color: var(--primary);
    background: rgba(128, 0, 32, .08);
    font-size: 1.65rem;
}

.process-number {
    border-radius: 50%;
    color: #fff;
    background: var(--primary);
    font-size: 1.15rem;
    font-weight: 700;
}

.service-detail {
    padding: 2rem;
}

.service-detail ul {
    padding-left: 1.2rem;
    margin-bottom: 0;
}

.service-detail li {
    margin-bottom: .45rem;
}

.service-detail li::marker {
    color: var(--primary);
}

.sector-card {
    padding: 1.6rem 1.25rem;
}

.sector-card h5 {
    margin: 1rem 0 0;
    line-height: 1.4;
}

.brand-panel {
    position: relative;
    overflow: hidden;
    border-radius: 20px;
    color: #fff;
    background: linear-gradient(135deg, #161616 0%, #2b2b2b 65%, var(--primary) 100%);
}

.brand-panel::after {
    content: "";
    position: absolute;
    right: -70px;
    bottom: -100px;
    width: 260px;
    height: 260px;
    border: 46px solid rgba(255, 255, 255, .06);
    border-radius: 50%;
}

.brand-panel > * {
    position: relative;
    z-index: 1;
}

.quote-strip {
    border-left: 5px solid var(--primary);
    background: #f8f6f6;
}

.portfolio-image {
    width: 100%;
    height: 250px;
    object-fit: cover;
}

.contact-card a {
    color: #555;
    overflow-wrap: anywhere;
}

.contact-card a:hover {
    color: var(--primary);
}

.team-item .team-social {
    display: none;
}

.footer a {
    color: #9b9b9b;
}

.footer a:hover {
    color: #fff;
}

@media (max-width: 767.98px) {
    .service-detail {
        padding: 1.5rem;
    }

    .portfolio-image {
        height: 210px;
    }
}

/* Gloss treatment for inner-page components */
.profile-card,
.service-detail,
.sector-card,
.process-card,
.contact-card,
.quote-strip {
    position: relative;
    overflow: hidden;
    border-color: rgba(128, 0, 32, .12);
    background: linear-gradient(145deg, rgba(255, 255, 255, .98), rgba(247, 238, 241, .88));
    box-shadow: 0 18px 42px rgba(39, 7, 16, .11), inset 0 1px 0 rgba(255, 255, 255, .95);
}

.profile-card::before,
.service-detail::before,
.sector-card::before,
.process-card::before,
.contact-card::before {
    position: absolute;
    content: "";
    top: 0;
    left: 5%;
    width: 90%;
    height: 34%;
    pointer-events: none;
    border-radius: 0 0 50% 50%;
    background: linear-gradient(180deg, rgba(255, 255, 255, .75), transparent);
}

.profile-card > *,
.service-detail > *,
.sector-card > *,
.process-card > *,
.contact-card > * {
    position: relative;
    z-index: 1;
}

.profile-icon,
.service-icon,
.sector-icon,
.process-number,
.contact-icon {
    border: 1px solid rgba(255, 255, 255, .9);
    background: linear-gradient(145deg, #fff, #eadde1);
    box-shadow: 0 10px 22px rgba(128, 0, 32, .14), inset 0 1px 0 #fff;
}

.brand-panel {
    border: 1px solid rgba(255, 255, 255, .16);
    background: linear-gradient(135deg, #2a2526 0%, #111 52%, #8b0023 100%);
    box-shadow: 0 24px 52px rgba(24, 0, 7, .28), inset 0 1px 0 rgba(255, 255, 255, .18);
}

.footer.bg-dark {
    background: linear-gradient(135deg, #21191b 0%, #0f0d0e 62%, #3d0010 100%) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);
}
