.solartek-portfolio-geo {
    --spg-ink: #171717;
    --spg-muted: #69645d;
    --spg-line: #ded9d0;
    --spg-paper: #f5f1e9;
    background: var(--spg-paper);
    border-radius: 18px;
    color: var(--spg-ink);
    display: grid;
    gap: clamp(28px, 4vw, 58px);
    grid-template-columns: minmax(240px, .8fr) minmax(0, 1.2fr);
    margin: clamp(38px, 6vw, 76px) 0 24px;
    padding: clamp(26px, 4vw, 48px);
}

.solartek-portfolio-geo *,
.solartek-portfolio-geo *::before,
.solartek-portfolio-geo *::after {
    box-sizing: border-box;
}

.solartek-portfolio-geo__eyebrow {
    color: #5f5a52;
    display: block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .13em;
    margin-bottom: 12px;
    text-transform: uppercase;
}

.solartek-portfolio-geo__header h2 {
    font-size: clamp(27px, 3.2vw, 42px);
    letter-spacing: -.04em;
    line-height: 1.08;
    margin: 0;
}

.solartek-portfolio-geo__header p {
    color: var(--spg-muted);
    font-size: 16px;
    line-height: 1.68;
    margin: 20px 0 0;
}

.solartek-portfolio-geo__facts {
    border-top: 1px solid var(--spg-ink);
    margin: 0;
}

.solartek-portfolio-geo__facts > div {
    align-items: baseline;
    border-bottom: 1px solid var(--spg-line);
    display: grid;
    gap: 20px;
    grid-template-columns: 112px minmax(0, 1fr);
    padding: 15px 0;
}

.solartek-portfolio-geo__facts dt {
    color: var(--spg-muted);
    font-size: 13px;
    font-weight: 700;
    margin: 0;
}

.solartek-portfolio-geo__facts dd {
    font-size: 16px;
    font-weight: 750;
    line-height: 1.45;
    margin: 0;
}

.solartek-portfolio-geo__note {
    color: var(--spg-muted);
    font-size: 14px;
    grid-column: 1 / -1;
    line-height: 1.55;
    margin: -12px 0 0;
}

.solartek-portfolio-case {
    --spc-ink: #f8f5ef;
    --spc-muted: #c7c1b8;
    background: #171717;
    border-radius: 18px;
    color: var(--spc-ink);
    display: grid;
    align-items: center;
    gap: clamp(32px, 3vw, 48px);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 24px 0 clamp(38px, 6vw, 76px);
    padding: clamp(26px, 4vw, 48px);
}

.solartek-portfolio-case *,
.solartek-portfolio-case *::before,
.solartek-portfolio-case *::after {
    box-sizing: border-box;
}

.solartek-portfolio-case__eyebrow {
    color: #ddd6cb;
    display: block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .13em;
    margin-bottom: 12px;
    text-transform: uppercase;
}

.solartek-portfolio-case__header {
    max-width: 620px;
}

.solartek-portfolio-case__header h2 {
    color: var(--spc-ink);
    font-size: clamp(27px, 3.2vw, 42px);
    letter-spacing: -.04em;
    line-height: 1.08;
    margin: 0;
}

.solartek-portfolio-case__header p {
    color: var(--spc-muted);
    font-size: 16px;
    line-height: 1.68;
    margin: 20px 0 0;
}

.solartek-portfolio-case__details {
    border-top: 1px solid #f8f5ef;
    justify-self: end;
    max-width: 820px;
    width: 100%;
}

.solartek-portfolio-case__details article {
    border-bottom: 1px solid #4a4640;
    padding: 18px 0 20px;
}

.solartek-portfolio-case__details h3 {
    color: #ddd6cb;
    font-size: 13px;
    font-weight: 750;
    letter-spacing: .01em;
    margin: 0 0 8px;
}

.solartek-portfolio-case__details p {
    color: var(--spc-ink);
    font-size: 16px;
    line-height: 1.58;
    margin: 0;
}

@media (max-width: 760px) {
    .solartek-portfolio-geo,
    .solartek-portfolio-case {
        grid-template-columns: minmax(0, 1fr);
    }

    .solartek-portfolio-geo__note {
        margin-top: -4px;
    }
}

@media (max-width: 480px) {
    .solartek-portfolio-geo,
    .solartek-portfolio-case {
        border-radius: 14px;
        gap: 24px;
        padding: 22px 18px;
    }

    .solartek-portfolio-geo__facts > div {
        gap: 5px;
        grid-template-columns: minmax(0, 1fr);
        padding: 13px 0;
    }
}
