/* Block: Architectural Horizontal Hairline Process List */
.process-list {
    border-top: 1px solid var(--rule-solid);
    background: var(--bg-vellum);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.process-row {
    display: grid;
    grid-template-columns: 76px minmax(260px, 1fr) minmax(300px, 1.35fr);
    align-items: baseline;
    gap: 28px;
    padding: 30px 28px;
    border-bottom: 1px solid var(--rule-hairline);
    transition: background-color 0.25s;
}

.process-row:hover {
    background: rgba(255, 255, 255, 0.94);
}

.process-num {
    font-family: var(--font-mono);
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--signal-orange);
    letter-spacing: 0.08em;
}

.process-step-title {
    font-family: var(--font-display);
    font-size: clamp(1.16rem, 2vw, 1.56rem);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: var(--ink-obsidian);
    transition: transform 0.28s var(--ease-luxury), color 0.25s;
}

.process-row:hover .process-step-title {
    transform: translateX(6px);
    color: var(--signal-orange);
}

.process-step-desc {
    font-size: 0.96rem;
    color: var(--ink-slate);
    line-height: 1.55;
}

.guarantee-inline {
    color: var(--ink-obsidian);
    font-weight: 600;
    border-bottom: 1px solid var(--signal-orange);
}

/* Final Pre-Footer CTA Band */
.cta-stage {
    padding: 72px 0;
    border-bottom: 1px solid var(--rule-hairline);
    background: rgba(250, 249, 245, 0.88);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.cta-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 36px;
}

.cta-headline {
    font-family: var(--font-display);
    font-size: clamp(1.35rem, 2.5vw, 2.05rem);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: var(--ink-obsidian);
    max-width: 740px;
}

@media (max-width: 900px) {
    .process-row {
        grid-template-columns: 48px 1fr;
        gap: 12px 18px;
        padding: 24px 20px;
    }
    .process-step-desc {
        grid-column: 2;
    }
}

@media (max-width: 820px) {
    .cta-box {
        flex-direction: column;
        align-items: flex-start;
        gap: 24px;
    }
}

@media (max-width: 560px) {
    .process-row {
        grid-template-columns: 1fr;
        gap: 8px;
        padding: 20px 18px;
    }
    .process-step-desc {
        grid-column: 1;
    }
    .cta-stage { padding: 52px 0; }
    .cta-headline { font-size: clamp(1.22rem, 5.2vw, 2.05rem); }
    .cta-box .btn-ink {
        width: 100%;
        justify-content: space-between;
        padding: 16px 20px;
    }
}
