.rps-tech { padding: clamp(72px, 8vw, 112px) 0; background: #f5f3ee; color: #102a36; }
.rps-tech *, .rps-tech *::before, .rps-tech *::after { box-sizing: border-box; }
.rps-tech__heading { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(220px, .62fr); align-items: end; gap: 30px 6vw; padding-bottom: 36px; border-bottom: 1px solid rgba(16,42,54,.2); }
.rps-tech__heading .rps-eyebrow { margin: 0 0 19px; color: #a95336; font: 500 11px/1.3 "DM Mono", monospace; letter-spacing: .14em; text-transform: uppercase; }
.rps-tech__heading h2 { max-width: 720px; margin: 0; font: 400 clamp(31px, 3.6vw, 49px)/1.2 "Libre Baskerville", Georgia, serif; letter-spacing: -.045em; }
.rps-tech__heading > p { max-width: 380px; margin: 0 0 5px; color: #3d5660; font: 400 15px/1.75 "DM Sans", Arial, sans-serif; }
.rps-tech__layout { display: grid; grid-template-columns: minmax(0, .95fr) minmax(390px, 1.05fr); align-items: start; gap: clamp(32px, 6vw, 80px); padding-top: 40px; }
.rps-tech__steps { margin: 0; padding: 0; list-style: none; }
.rps-tech__step { display: grid; grid-template-columns: 47px minmax(0, 1fr); gap: 17px; padding: 27px 0 29px; border-bottom: 1px solid rgba(16,42,54,.18); }
.rps-tech__step:first-child { padding-top: 5px; }
.rps-tech__number { color: #a95336; font: 500 13px/1.4 "DM Mono", monospace; }
.rps-tech__label { margin: 0 0 11px; color: #47666c; font: 600 10px/1.2 "DM Sans", sans-serif; letter-spacing: .13em; text-transform: uppercase; }
.rps-tech__step h3 { margin: 0 0 11px; font: 400 clamp(18px, 1.8vw, 24px)/1.34 "Libre Baskerville", Georgia, serif; letter-spacing: -.035em; }
.rps-tech__description { max-width: 570px; margin: 0; color: #3d5660; font: 400 14px/1.68 "DM Sans", Arial, sans-serif; }
.rps-tech__link { display: inline-flex; align-items: center; gap: 12px; margin-top: 28px; padding: 0 0 5px; border-bottom: 2px solid #c8714c; color: #102a36; font: 700 12px/1.4 "DM Sans", Arial, sans-serif; letter-spacing: .06em; text-transform: uppercase; text-decoration: none; }
.rps-tech__link:hover, .rps-tech__link:focus-visible { color: #a95336; }
.rps-tech__link:focus-visible { outline: 2px solid #a95336; outline-offset: 5px; }
.rps-tech__figure { position: sticky; top: 24px; min-width: 0; margin: 0; }
.rps-tech__screen { overflow: hidden; border: 1px solid rgba(16,42,54,.16); background: #102a36; box-shadow: 0 28px 55px rgba(16,42,54,.17); }
.rps-tech__topbar { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 64px; padding: 12px 18px; color: #f5f3ee; }
.rps-tech__identity { display: inline-flex; align-items: center; gap: 8px; min-width: 0; font: 700 13px/1.2 "DM Sans", Arial, sans-serif; white-space: nowrap; }
.rps-tech__identity img { display: block; width: 30px; height: 30px; object-fit: contain; }
.rps-tech__identity span { margin-left: 4px; padding-left: 12px; border-left: 1px solid rgba(245,243,238,.3); color: rgba(245,243,238,.7); font-size: 11px; font-weight: 400; }
.rps-tech__sample { color: #e9b395; font: 500 10px/1.2 "DM Mono", monospace; white-space: nowrap; }
.rps-tech__screen-body { padding: clamp(20px, 3vw, 34px); background: #fffefa; }
.rps-tech__screen-kicker { margin: 0 0 12px; color: #a95336; font: 500 10px/1.2 "DM Mono", monospace; letter-spacing: .14em; }
.rps-tech__case-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; }
.rps-tech__case-heading h3 { margin: 0; font: 400 25px/1.2 "Libre Baskerville", Georgia, serif; }
.rps-tech__signed { display: inline-flex; align-items: center; gap: 5px; padding: 7px 9px; background: #e5f1e8; color: #1e6946; font: 700 10px/1.2 "DM Sans", Arial, sans-serif; }
.rps-tech__signed::before { content: "✓"; font-size: 12px; }
.rps-tech__screen-copy { margin: 12px 0 26px; color: #536b73; font: 400 13px/1.5 "DM Sans", Arial, sans-serif; }
.rps-tech__progress-heading { display: flex; justify-content: space-between; gap: 12px; margin: 0 0 8px; color: #102a36; font: 500 11px/1.4 "DM Sans", Arial, sans-serif; }
.rps-tech__progress-heading span { color: #536b6e; }
.rps-tech__progress { height: 6px; margin-bottom: 10px; background: #e2e7e4; }
.rps-tech__progress span { display: block; height: 100%; background: #3e895d; }
.rps-tech__documents { margin: 0; padding: 0; list-style: none; }
.rps-tech__documents li { display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; align-items: center; gap: 10px; min-height: 53px; padding: 9px 0; border-bottom: 1px solid #e3e9e6; color: #294550; font: 500 12px/1.4 "DM Sans", Arial, sans-serif; }
.rps-tech__status { display: inline-grid; width: 22px; height: 22px; place-items: center; border: 1px solid #bdcbc8; border-radius: 50%; color: #627c7d; font-size: 18px; line-height: 1; }
.rps-tech__status--complete { border-color: #3e895d; background: #3e895d; color: #fff; font-size: 13px; font-weight: 800; }
.rps-tech__document-state { color: #a35438; font-size: 10px; font-weight: 700; white-space: nowrap; }
.rps-tech__document-state--complete { color: #247049; }
.rps-tech__screen-note { display: flex; gap: 10px; margin-top: 24px; padding: 14px; border-left: 3px solid #c8714c; background: #f0f3ef; color: #405960; font: 400 11px/1.5 "DM Sans", Arial, sans-serif; }
.rps-tech__screen-note strong { color: #102a36; white-space: nowrap; }
.rps-tech__staff { display: flex; justify-content: space-between; gap: 12px; padding: 17px 20px; color: #f5f3ee; font: 400 11px/1.5 "DM Sans", Arial, sans-serif; }
.rps-tech__staff span { color: #e9b395; white-space: nowrap; }
.rps-tech__staff strong { font-weight: 500; text-align: right; }
.rps-tech__figure figcaption { padding-top: 14px; color: #566b70; font: 400 11px/1.5 "DM Sans", Arial, sans-serif; }
@media (max-width: 960px) { .rps-tech__layout { grid-template-columns: minmax(0, 1fr); gap: 40px; } .rps-tech__figure { position: static; width: min(100%, 680px); } }
@media (max-width: 680px) { .rps-tech__heading { grid-template-columns: minmax(0, 1fr); gap: 18px; } .rps-tech__heading > p { max-width: 630px; } .rps-tech__topbar { flex-wrap: wrap; } .rps-tech__staff { flex-direction: column; } .rps-tech__staff strong { text-align: left; } }
@media (max-width: 390px) { .rps-tech__identity span { display: none; } .rps-tech__progress-heading span { display: none; } .rps-tech__documents li { grid-template-columns: 24px minmax(0,1fr); } .rps-tech__document-state { grid-column: 2; } }
