.service-detail-hero {
    min-height: 560px;
    display: flex;
    align-items: center;
}

.service-detail-hero-media {
    position: absolute;
    inset: 0 0 0 38%;
    overflow: hidden;
    opacity: .78;
}

.service-detail-hero-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, #071c36 0%, rgba(7,28,54,.9) 22%, rgba(7,28,54,.28) 100%);
}

.service-detail-hero-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(.82);
}

.service-detail-overlap {
    position: relative;
    z-index: 3;
    margin-top: -56px;
    padding-bottom: 90px;
}

.service-detail-main,
.service-detail-aside,
.service-gallery-card,
.service-faq-card {
    border: 1px solid rgba(7,28,54,.1);
    border-radius: 30px;
    background: #fff;
    box-shadow: 0 26px 70px rgba(7,28,54,.11);
}

.service-detail-main {
    overflow: hidden;
}

.service-detail-main-image {
    width: 100%;
    height: 330px;
    object-fit: cover;
    display: block;
}

.service-detail-copy {
    padding: 40px;
}

.service-detail-copy h2,
.service-detail-copy h3,
.service-detail-copy h4 {
    color: var(--tb-navy);
    font-weight: 900;
    letter-spacing: -.035em;
}

.service-detail-copy p,
.service-detail-copy li {
    color: var(--tb-muted);
    line-height: 1.85;
}

.service-detail-copy ul,
.service-detail-copy ol {
    padding-left: 1.25rem;
}

.service-detail-aside {
    position: sticky;
    top: 110px;
    padding: 30px;
}

.service-fact {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    padding: 16px 0;
    border-bottom: 1px solid rgba(7,28,54,.09);
}

.service-fact:last-child { border-bottom: 0; }

.service-fact-icon {
    width: 40px;
    height: 40px;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    border-radius: 14px;
    color: var(--tb-blue-dark);
    background: linear-gradient(135deg, rgba(18,148,255,.12), rgba(21,218,200,.16));
}

.service-fact strong {
    display: block;
    color: var(--tb-navy);
    font-weight: 850;
}

.service-fact span {
    display: block;
    color: var(--tb-muted);
    font-size: .9rem;
    line-height: 1.55;
}

.service-gallery-card,
.service-faq-card {
    padding: 34px;
}

.service-gallery-image {
    width: 100%;
    height: 235px;
    object-fit: cover;
    border-radius: 20px;
    display: block;
    transition: transform .25s ease, filter .25s ease;
}

.service-gallery-link {
    display: block;
    overflow: hidden;
    border-radius: 20px;
    background: var(--tb-navy);
}

.service-gallery-link:hover .service-gallery-image {
    transform: scale(1.04);
    filter: brightness(1.08);
}

.service-faq-card .accordion-item {
    border: 0;
    border-bottom: 1px solid rgba(7,28,54,.1);
}

.service-faq-card .accordion-item:last-child { border-bottom: 0; }

.service-faq-card .accordion-button {
    padding: 20px 0;
    color: var(--tb-navy);
    background: transparent;
    box-shadow: none;
    font-weight: 850;
}

.service-faq-card .accordion-button:not(.collapsed) { color: var(--tb-blue-dark); }

.service-faq-card .accordion-body {
    padding: 0 0 20px;
    color: var(--tb-muted);
    line-height: 1.75;
}

.service-related {
    padding: 0 0 90px;
}

@media (max-width: 991.98px) {
    .service-detail-hero { min-height: 500px; }
    .service-detail-hero-media { inset: 0; opacity: .42; }
    .service-detail-hero-media::after { background: linear-gradient(90deg, #071c36, rgba(7,28,54,.55)); }
    .service-detail-aside { position: static; }
}

@media (max-width: 575.98px) {
    .service-detail-overlap { margin-top: -34px; padding-bottom: 60px; }
    .service-detail-copy,
    .service-detail-aside,
    .service-gallery-card,
    .service-faq-card { padding: 24px; }
    .service-detail-main-image { height: 230px; }
    .service-gallery-image { height: 190px; }
    .service-related { padding-bottom: 60px; }
}
