.welcome {
    max-width: 1100px;
    margin: 0 auto;
}

.welcome-intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(170px, 240px);
    align-items: center;
    gap: clamp(1.5rem, 4vw, 4rem);
    padding: clamp(1.5rem, 4vw, 3.5rem);
    border-top: 4px solid var(--ocsm-accent);
    background: linear-gradient(130deg, #fff 54%, #edf5fb);
}

.welcome-eyebrow {
    margin-bottom: var(--ocsm-space-3);
    color: var(--ocsm-accent-dark);
    font-size: var(--ocsm-fs-sm);
    font-weight: 700;
}

.welcome-intro h1 {
    margin-bottom: var(--ocsm-space-4);
    color: var(--ocsm-brand);
    font-size: clamp(2rem, 3.5vw, 3rem);
    font-weight: 700;
    line-height: 1.15;
}

.welcome-lead {
    max-width: 32rem;
    margin-bottom: var(--ocsm-space-3);
    font-size: var(--ocsm-fs-xl);
    line-height: 1.35;
}

.welcome-description {
    max-width: 38rem;
    margin: 0;
    color: var(--ocsm-text-muted);
    line-height: 1.6;
}

.welcome-logo {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
}

.welcome-work {
    padding: clamp(1.5rem, 3vw, 2.5rem) 0;
}

.welcome-work__heading {
    margin-bottom: var(--ocsm-space-4);
}

.welcome-work h2 {
    margin-bottom: var(--ocsm-space-1);
    color: var(--ocsm-brand);
    font-size: var(--ocsm-fs-2xl);
}

.welcome-work__heading p {
    margin: 0;
    color: var(--ocsm-text-muted);
}

.welcome-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--ocsm-space-3);
}

.welcome-links a {
    display: flex;
    align-items: center;
    gap: var(--ocsm-space-4);
    min-width: 0;
    min-height: 82px;
    padding: var(--ocsm-space-4);
    border: 1px solid var(--ocsm-border);
    border-left: 3px solid var(--ocsm-accent);
    border-radius: var(--ocsm-radius-sm);
    background: var(--ocsm-surface);
    color: var(--ocsm-brand);
    text-decoration: none;
    transition: border-color 0.15s ease, background-color 0.15s ease;
}

.welcome-links a:hover,
.welcome-links a:focus-visible {
    border-color: var(--ocsm-accent);
    background: #f2f8fc;
    color: var(--ocsm-brand);
}

.welcome-links a > .bi:first-child {
    font-size: 1.5rem;
    color: var(--ocsm-accent-dark);
}

.welcome-links a > span {
    display: grid;
    min-width: 0;
    flex: 1;
}

.welcome-links strong {
    font-size: var(--ocsm-fs-base);
}

.welcome-links small {
    color: var(--ocsm-text-muted);
    font-size: var(--ocsm-fs-sm);
}

@media (max-width: 700px) {
    .welcome-intro {
        grid-template-columns: minmax(0, 1fr) 100px;
        gap: var(--ocsm-space-3);
    }

    .welcome-intro__copy {
        display: contents;
    }

    .welcome-eyebrow {
        grid-column: 1 / -1;
        margin: 0;
    }

    .welcome-intro h1 {
        grid-column: 1;
        margin: 0;
        font-size: 2rem;
        overflow-wrap: break-word;
    }

    .welcome-logo {
        grid-column: 2;
        grid-row: 2;
    }

    .welcome-lead,
    .welcome-description {
        grid-column: 1 / -1;
        margin: 0;
    }

    .welcome-links {
        grid-template-columns: minmax(0, 1fr);
    }
}