.service-profile-public {
    min-height: 85vh;
    padding: 116px 0 56px;
    background: linear-gradient(180deg, #f4f8fa 0, #edf4f6 32rem, #f8fbfc 100%);
    font-family: Inter, system-ui, sans-serif;
}

.service-profile-container { max-width: 1200px; }

.service-profile-public .omni-card,
.service-profile-public .card {
    border: 1px solid #d9e6eb !important;
    border-radius: 18px !important;
    background: #fff;
    box-shadow: 0 14px 34px rgba(12, 47, 71, .07) !important;
}

.service-profile-public .card-header {
    padding: 18px 22px !important;
    border-color: #e3edf0 !important;
    background: transparent !important;
}

.service-profile-public .card-body { padding: 23px !important; }

.service-profile-hero { isolation: isolate; }

.service-profile-hero .bg-primary {
    position: relative !important;
    height: 166px !important;
    background:
        radial-gradient(circle at 89% -8%, rgba(143, 227, 200, .26), transparent 31%),
        linear-gradient(118deg, #092e4f, #007d6b) !important;
}

.service-profile-hero .card-body {
    margin-top: 0 !important;
    padding: 0 28px 28px !important;
    background: #fff;
}

.service-profile-hero .card-body > .d-flex { margin-top: -66px; }

.service-profile-hero h2 {
    color: #12344c;
    font: 800 clamp(1.7rem, 3vw, 2.35rem) 'Plus Jakarta Sans', sans-serif;
    letter-spacing: -.045em;
}

.service-profile-avatar,
.service-profile-avatar-fallback {
    width: 138px !important;
    height: 138px !important;
    border: 5px solid #fff !important;
    border-radius: 50%;
}

.service-profile-avatar { object-fit: cover; }

.service-profile-avatar-fallback {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg, #0a5c68, #092e4f);
    color: #fff;
    font: 800 2.25rem 'Plus Jakarta Sans', sans-serif;
    letter-spacing: -.08em;
}

.service-profile-hero .badge {
    border-color: #d4e5e7 !important;
    background: #f5fafa !important;
    color: #275064 !important;
    font-weight: 700;
}

.service-profile-hero .badge.bg-dark { background: #143c59 !important; color: #fff !important; }
.service-profile-hero .text-muted { color: #668096 !important; }

.service-profile-score .display-3 {
    color: #d39719 !important;
    font: 800 3.4rem 'Plus Jakarta Sans', sans-serif;
}

.service-profile-score .border-end { border-color: #e1ecee !important; }
.service-profile-public .card-title { color: #163c58; font: 800 1rem 'Plus Jakarta Sans', sans-serif; }
.service-profile-public .card-title i { color: #008a72 !important; }
.service-profile-public .bg-light { background: #f3f7f8 !important; }
.service-profile-public .text-secondary { color: #506a7c !important; }
.service-profile-public .btn { border-radius: 10px !important; font-weight: 800 !important; }
.service-profile-public .btn-success { background: #078d72 !important; border-color: #078d72 !important; }
.service-profile-public .btn-outline-primary { color: #0c6f8f !important; border-color: #70aabd !important; background: #fff !important; }
.service-profile-contact { border-top: 4px solid #078d72 !important; }
.service-profile-contact .btn-lg { padding: 13px 16px; }

.service-profile-public .form-control,
.service-profile-public .form-select {
    border-color: #cadce3 !important;
    border-radius: 10px !important;
    padding: 11px 12px !important;
}

.service-profile-public .form-control:focus,
.service-profile-public .form-select:focus {
    border-color: #078d72 !important;
    box-shadow: 0 0 0 .2rem rgba(7, 141, 114, .13) !important;
}

.service-profile-public .border-start { border-color: #078d72 !important; }
.service-profile-public .card-img-top { transition: transform .25s ease; }
.service-profile-public .omni-card:hover .card-img-top,
.service-profile-public .card:hover .card-img-top { transform: scale(1.025); }

@media (max-width: 991px) {
    .service-profile-public { padding-top: 100px; }
    .service-profile-contact { position: static !important; margin-top: 0; }
    .service-profile-hero .card-body { padding: 0 22px 22px !important; }
}

@media (max-width: 575px) {
    .service-profile-public { padding: 88px 0 36px; }
    .service-profile-container { padding-right: 16px; padding-left: 16px; }
    .service-profile-public .omni-card,
    .service-profile-public .card { border-radius: 14px !important; }
    .service-profile-public .card-body { padding: 18px !important; }
    .service-profile-hero .bg-primary { height: 118px !important; }
    .service-profile-avatar,
    .service-profile-avatar-fallback { width: 112px !important; height: 112px !important; }
    .service-profile-hero .card-body { padding: 0 18px 18px !important; }
    .service-profile-hero .card-body > .d-flex { margin-top: -50px; }
    .service-profile-score .border-end { border-right: 0 !important; border-bottom: 1px solid #e1ecee !important; }
}
