:root {
	--psp-navy-950: #071526;
	--psp-navy-900: #0b2038;
	--psp-navy-800: #12304f;
	--psp-blue-700: #095fc4;
	--psp-blue-600: #0874df;
	--psp-blue-100: #e9f3ff;
	--psp-slate-700: #40536a;
	--psp-slate-500: #6a7b8f;
	--psp-slate-300: #cbd5e1;
	--psp-slate-200: #e2e8f0;
	--psp-slate-100: #f1f5f9;
	--psp-slate-50: #f8fafc;
	--psp-white: #fff;
	--psp-success: #157347;
	--psp-success-bg: #eaf7f0;
	--psp-warning: #95610a;
	--psp-warning-bg: #fff6dc;
	--psp-danger: #b42318;
	--psp-danger-bg: #fff0ef;
	--psp-focus: #ffbf47;
	--psp-shadow: 0 1rem 3rem rgb(9 32 58 / 10%);
	--psp-radius-lg: 1.25rem;
	--psp-radius-md: .8rem;
}

body.psp-site *, body.psp-auth-page *, body.psp-portal-page * { box-sizing: border-box; }
body.psp-site, body.psp-auth-page, body.psp-portal-page { color: var(--psp-navy-950); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; margin: 0; }
body.psp-site { background: var(--psp-slate-50); min-height: 100vh; }
body.psp-site a, body.psp-auth-page a, body.psp-portal-page a { color: var(--psp-blue-700); }
body.psp-site a:focus-visible, body.psp-auth-page a:focus-visible, body.psp-portal-page a:focus-visible, body.psp-site button:focus-visible, body.psp-auth-page button:focus-visible, body.psp-portal-page button:focus-visible, body.psp-auth-page input:focus-visible, body.psp-auth-page select:focus-visible, body.psp-auth-page textarea:focus-visible, body.psp-portal-page input:focus-visible, body.psp-portal-page select:focus-visible, body.psp-portal-page textarea:focus-visible { outline: 3px solid var(--psp-focus); outline-offset: 3px; }

.psp-skip-link { background: var(--psp-white); border-radius: 0 0 .4rem .4rem; color: var(--psp-navy-950) !important; font-weight: 700; left: 1rem; padding: .75rem 1rem; position: fixed; top: -8rem; z-index: 10000; }
.psp-skip-link:focus { top: 0; }
.psp-brand__link { align-items: center; color: inherit !important; display: inline-flex; gap: .75rem; text-decoration: none; }
.psp-brand__mark { align-items: center; background: var(--psp-blue-600); border-radius: .65rem; color: var(--psp-white); display: inline-flex; font-size: .82rem; font-weight: 800; height: 2.55rem; justify-content: center; letter-spacing: .03em; width: 2.55rem; }
.psp-brand__text { display: grid; gap: .08rem; line-height: 1.1; }
.psp-brand__text strong { font-size: 1rem; letter-spacing: -.01em; }
.psp-brand__text small { color: var(--psp-slate-500); font-size: .72rem; }
.psp-brand__custom img { display: block; height: auto; max-height: 3.5rem; max-width: min(13.75rem, 100%); width: auto; }
.psp-eyebrow { color: var(--psp-blue-700); font-size: .72rem; font-weight: 800; letter-spacing: .12em; margin: 0 0 .6rem; text-transform: uppercase; }
.psp-link-button { align-items: center; background: var(--psp-blue-700); border: 1px solid var(--psp-blue-700); border-radius: .65rem; color: var(--psp-white) !important; display: inline-flex; font-weight: 750; justify-content: center; min-height: 2.9rem; padding: .7rem 1.1rem; text-decoration: none; }
.psp-link-button:hover { background: #064f9f; border-color: #064f9f; }
.psp-link-button--secondary, .psp-link-button--quiet { background: transparent; color: var(--psp-blue-700) !important; }
.psp-link-button--secondary:hover, .psp-link-button--quiet:hover { background: var(--psp-blue-100); border-color: var(--psp-blue-700); }
.psp-public-header { background: rgb(255 255 255 / 94%); border-bottom: 1px solid var(--psp-slate-200); }
.psp-public-header__inner { align-items: center; display: flex; justify-content: space-between; margin: 0 auto; max-width: 76rem; padding: 1rem 1.5rem; }
.psp-public-main { margin: 0 auto; max-width: 76rem; min-height: calc(100vh - 10rem); padding: clamp(3rem, 7vw, 7rem) 1.5rem; }
.psp-public-card { background: var(--psp-white); border: 1px solid var(--psp-slate-200); border-radius: var(--psp-radius-lg); box-shadow: var(--psp-shadow); margin: 0 auto; max-width: 48rem; padding: clamp(1.5rem, 4vw, 3rem); }
.psp-public-card h1 { font-size: clamp(2rem, 5vw, 3rem); letter-spacing: -.04em; line-height: 1.08; margin: 0 0 1rem; }
.psp-public-card p { color: var(--psp-slate-700); line-height: 1.7; }
.psp-public-footer { color: var(--psp-slate-500); font-size: .8rem; padding: 1rem 1.5rem 2rem; text-align: center; }
.psp-welcome { align-items: center; display: grid; gap: clamp(2rem, 6vw, 6rem); grid-template-columns: minmax(0, 1.35fr) minmax(18rem, .65fr); }
.psp-welcome__panel h1 { font-size: clamp(2.6rem, 6vw, 5rem); letter-spacing: -.055em; line-height: 1; margin: 0; max-width: 13ch; }
.psp-welcome__copy { color: var(--psp-slate-700); font-size: 1.08rem; line-height: 1.7; max-width: 40rem; }
.psp-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.75rem; }
.psp-welcome__trust { background: var(--psp-navy-900); border-radius: var(--psp-radius-lg); box-shadow: var(--psp-shadow); color: var(--psp-white); padding: 1.2rem 1.5rem; }
.psp-welcome__trust div { display: grid; gap: .25rem; padding: 1.25rem 0; }
.psp-welcome__trust div + div { border-top: 1px solid rgb(255 255 255 / 12%); }
.psp-welcome__trust span { color: #b8c7d8; font-size: .88rem; line-height: 1.55; }
.psp-entry__content { line-height: 1.75; }
.psp-entry__content > * { max-width: 100%; }
.psp-empty-state { text-align: center; }
.screen-reader-text { border: 0; clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal !important; }
.psp-public-header__actions { align-items: center; display: flex; gap: .65rem; }
.psp-public-footer { background: var(--psp-navy-950); color: #bdcad8; padding: 1.25rem 1.5rem; }
.psp-public-footer__inner { margin: 0 auto; max-width: 76rem; }
.psp-public-footer p { margin: 0; }
.psp-home { max-width: none; min-height: 0; padding: 0; }
.psp-home h1, .psp-home h2, .psp-home h3, .psp-home p { margin-top: 0; }
.psp-home h1, .psp-home h2, .psp-home h3, .psp-home p { overflow-wrap: anywhere; }
.psp-home__hero { background: linear-gradient(125deg, #fff 0%, #f4f9ff 64%, #fff 100%); border-bottom: 1px solid #eef3f8; }
.psp-home__hero-inner, .psp-home__container { margin: 0 auto; max-width: 76rem; padding-left: 1.5rem; padding-right: 1.5rem; }
.psp-home__hero-inner { align-items: center; display: grid; gap: clamp(2.5rem, 7vw, 7rem); grid-template-columns: minmax(0, 1.25fr) minmax(20rem, .75fr); padding-bottom: clamp(3.5rem, 7vw, 6.25rem); padding-top: clamp(3.5rem, 7vw, 6.25rem); }
.psp-home__hero-copy h1 { color: var(--psp-navy-950); font-size: clamp(2.75rem, 5.5vw, 5rem); letter-spacing: -.06em; line-height: .98; margin-bottom: 1.35rem; max-width: 12ch; }
.psp-home__hero-copy > p:not(.psp-eyebrow) { color: var(--psp-slate-700); font-size: 1.08rem; line-height: 1.65; margin-bottom: 0; max-width: 42rem; }
.psp-home__trust { background: linear-gradient(145deg, var(--psp-navy-950), var(--psp-navy-800)); border: 1px solid rgb(255 255 255 / 8%); border-radius: var(--psp-radius-lg); box-shadow: var(--psp-shadow); color: var(--psp-white); padding: .8rem 1.65rem; }
.psp-home__trust-item { align-items: flex-start; display: flex; gap: 1rem; padding: 1.15rem 0; }
.psp-home__trust-item + .psp-home__trust-item { border-top: 1px solid rgb(255 255 255 / 14%); }
.psp-home__trust-item div { display: grid; gap: .3rem; }
.psp-home__trust-item strong { font-size: .95rem; }
.psp-home__trust-item span:not(.psp-home__round-icon) { color: #c3d0df; font-size: .85rem; line-height: 1.5; }
.psp-home__round-icon, .psp-home__icon { align-items: center; background: var(--psp-blue-100); border-radius: 50%; color: var(--psp-blue-700); display: inline-flex; flex: 0 0 auto; height: 3.25rem; justify-content: center; width: 3.25rem; }
.psp-home__round-icon { background: rgb(25 116 230 / 24%); color: #d6e9ff; }
.psp-home svg { fill: none; height: 1.55rem; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; width: 1.55rem; }
.psp-home__features { background: var(--psp-white); padding: 1rem 0; }
.psp-home__feature-grid { display: grid; gap: 1rem; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.psp-home__feature-card, .psp-home__advantage-card { align-items: flex-start; background: var(--psp-white); border: 1px solid var(--psp-slate-200); border-radius: var(--psp-radius-md); display: flex; gap: .9rem; min-width: 0; padding: 1.2rem; }
.psp-home__feature-card h3, .psp-home__advantage-card h3, .psp-home__steps h3 { color: var(--psp-navy-950); font-size: .92rem; margin-bottom: .35rem; }
.psp-home__feature-card p, .psp-home__advantage-card p, .psp-home__steps p { color: var(--psp-slate-700); font-size: .84rem; line-height: 1.45; margin-bottom: 0; }
.psp-home__process { background: #f7fbff; padding: clamp(3.5rem, 7vw, 6rem) 0; }
.psp-home__process h2, .psp-home__advantages h2, .psp-home__cta h2 { color: var(--psp-navy-950); font-size: clamp(1.8rem, 3.5vw, 2.55rem); letter-spacing: -.04em; line-height: 1.08; margin-bottom: .45rem; }
.psp-home__section-copy { color: var(--psp-slate-700); line-height: 1.6; margin-bottom: 2.25rem; }
.psp-home__steps { counter-reset: none; display: grid; gap: 1rem; grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; }
.psp-home__steps li { align-items: flex-start; display: grid; gap: .85rem; grid-template-columns: auto auto minmax(0, 1fr); min-width: 0; position: relative; }
.psp-home__step-number { align-items: center; background: var(--psp-blue-100); border-radius: 50%; color: var(--psp-blue-700); display: inline-flex; flex: 0 0 auto; font-size: .78rem; font-weight: 800; height: 2.25rem; justify-content: center; width: 2.25rem; }
.psp-home__steps .psp-home__icon { height: 3.25rem; width: 3.25rem; }
.psp-home__steps li:not(:last-child)::after { border-top: 1px solid #9bb7d3; content: ''; left: calc(100% - .3rem); position: absolute; top: 1.1rem; width: 1.15rem; }
.psp-home__advantages { background: var(--psp-white); padding: clamp(3.5rem, 7vw, 6rem) 0; }
.psp-home__advantage-grid { display: grid; gap: 1.15rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.psp-home__cta { background: var(--psp-white); padding: 0 0 clamp(2.5rem, 6vw, 5rem); }
.psp-home__cta-inner { align-items: center; background: linear-gradient(100deg, #eaf5ff, #dff0ff); border-radius: var(--psp-radius-lg); display: flex; gap: 2rem; justify-content: space-between; padding-bottom: clamp(1.6rem, 4vw, 2.6rem); padding-top: clamp(1.6rem, 4vw, 2.6rem); }
.psp-home__cta p:not(.psp-eyebrow) { color: var(--psp-slate-700); line-height: 1.55; margin-bottom: 0; }
.psp-home__cta .psp-actions { flex: 0 0 auto; margin-top: 0; }
