/* Chapter large number */
.chapter-bg-number {
    font-family: 'Playfair Display', serif;
    font-size: clamp(5rem, 12vw, 9rem);
    font-weight: 700;
    color: rgba(15, 76, 92, .055);
    line-height: 1;
    position: absolute;
    top: -1rem;
    left: -1rem;
    z-index: 0;
    pointer-events: none;
    user-select: none;
}

/* Process step card */
.process-step {
    border-left: 3px solid transparent;
    transition: border-color .3s ease, background .3s ease;
}

.process-step:hover {
    border-left-color: var(--color-brand);
    background: rgba(15, 76, 92, .02) !important;
}

/* Specialist card */
.specialist-card {
    transition: transform .25s cubic-bezier(.16, 1, .3, 1), box-shadow .25s ease;
}

.specialist-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 40px -8px rgba(9, 54, 66, .12);
}

/* Comparison table */
.compare-yes {
    color: #16a34a;
    font-weight: 600;
}

.compare-no {
    color: #dc2626;
    font-weight: 600;
}

.compare-highlight td {
    background: rgba(15, 76, 92, .03);
    font-weight: 600;
}

/* Pull quote line */
.pull-line {
    border-left: 3px solid var(--color-gold);
    padding-left: 1.25rem;
    font-family: 'Playfair Display', serif;
    font-style: italic;
    color: var(--color-brand-dark);
    line-height: 1.55;
}

/* USP icon box */
.usp-icon {
    width: 3.25rem;
    height: 3.25rem;
    border-radius: .75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 1.2rem;
}

/* Before/after pill */
.label-before {
    background: rgba(220, 38, 38, .08);
    color: #dc2626;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .08em;
    padding: 3px 10px;
    border-radius: 50rem;
    text-transform: uppercase;
}

.label-after {
    background: rgba(22, 163, 74, .1);
    color: #16a34a;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .08em;
    padding: 3px 10px;
    border-radius: 50rem;
    text-transform: uppercase;
}