.card-grid {
    display: grid;
    gap: var(--space-5);
}

.service-card,
.sidebar-panel {
    background: var(--color-surface);
    border: 1px solid var(--color-line);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
    padding: var(--space-5);
}

.service-card {
    display: grid;
    gap: var(--space-3);
    min-height: 188px;
}

.service-card p {
    margin-bottom: var(--space-2);
}

.text-link {
    align-self: end;
    font-weight: 700;
}

.cta-band {
    align-items: start;
    background:
        linear-gradient(135deg, var(--color-brand), var(--color-accent-dark)),
        var(--color-brand);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-md);
    color: #ffffff;
    display: grid;
    gap: var(--space-4);
    padding: var(--space-5);
}

.cta-band p {
    color: rgba(255, 255, 255, .85);
    margin-bottom: 0;
}

.button {
    background: #ffffff;
    border: 1px solid transparent;
    border-radius: var(--radius-sm);
    color: var(--color-brand-dark);
    display: inline-flex;
    font-weight: 700;
    justify-content: center;
    min-height: 44px;
    padding: var(--space-3) var(--space-4);
    text-decoration: none;
}

.button:hover,
.button:focus {
    background: var(--color-info);
    color: var(--color-brand-dark);
}

.button--secondary {
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .42);
    color: #ffffff;
}

.button--secondary:hover,
.button--secondary:focus {
    background: rgba(255, 255, 255, .22);
    color: #ffffff;
}

.contact-strip {
    background: var(--color-surface);
    border: 1px solid var(--color-line);
    border-radius: var(--radius-md);
    display: grid;
    gap: var(--space-3);
    padding: var(--space-4);
}

.contact-strip div {
    display: grid;
    gap: var(--space-1);
}

.contact-strip span {
    color: var(--color-muted);
}

.status-banner {
    align-items: start;
    background: var(--color-info);
    border: 1px solid var(--color-info-border);
    border-radius: var(--radius-md);
    color: var(--color-brand-dark);
    display: grid;
    gap: var(--space-1);
    padding: var(--space-4);
}

.status-banner--warning {
    background: var(--color-warning-bg);
    border-color: #f0cf81;
    color: var(--color-warning);
}

.trust-band,
.camera-cta {
    background: var(--color-surface);
    border: 1px solid var(--color-line);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
    display: grid;
    gap: var(--space-4);
    padding: var(--space-5);
}

.trust-band {
    background:
        linear-gradient(135deg, rgba(31, 95, 147, .08), rgba(40, 125, 116, .12)),
        var(--color-surface);
}

.trust-list {
    display: grid;
    gap: var(--space-3);
}

.trust-list span {
    background: var(--color-surface);
    border: 1px solid var(--color-line);
    border-radius: var(--radius-sm);
    font-weight: 700;
    padding: var(--space-3);
}

.camera-cta {
    background: var(--color-brand-dark);
    color: #ffffff;
}

.camera-cta p {
    color: rgba(255, 255, 255, .84);
}
