:root {
	--psx-ink: #10273b;
	--psx-muted: #607184;
	--psx-blue: #167aca;
	--psx-cyan: #6cd9ec;
	--psx-line: #e3ebf1;
	--psx-paper: #f6f9fb;
	--psx-dark: #081b2d;
	--psx-width: 1240px;
}

body.home { overflow-x: clip; background: #fff; }
body.home #Wrapper { max-width: 100%; overflow: visible; box-shadow: none; }
body.home .mfn-main-slider, body.home #Content .mfn-builder-content,
body.home #Content > .content_wrapper > .sections_group > .section-page-footer,
body.home #Footer { display: none !important; }
body.home #Content, body.home #Content > .content_wrapper,
body.home #Content .sections_group, body.home #Content .entry-content { width: 100%; max-width: none; margin: 0; padding: 0; }
body.home #Content .mcb-section.the_content.no_content { display: block !important; width: 100%; margin: 0; padding: 0; }
body.home #Content .mcb-section.the_content.no_content > .section_wrapper,
body.home #Content .mcb-section.the_content.no_content .the_content_wrapper { width: 100%; max-width: none; margin: 0; padding: 0; }
body.home .ps-site-header {
	position: sticky;
	top: 0;
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	border-color: rgba(12, 40, 64, .075);
	background: rgba(255, 255, 255, .92);
	box-shadow: 0 5px 20px rgba(16, 39, 59, .035);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
}
body.home .ps-site-header.is-scrolled { background: rgba(255,255,255,.97); box-shadow: 0 9px 28px rgba(16,39,59,.09); }
body.home .ps-header-inner { width: min(100% - 64px, 1320px); min-height: 78px; gap: 42px; }
body.home .ps-brand { max-width: 206px; }
body.home .ps-brand img { max-height: 52px; }
body.home .ps-desktop-nav { gap: clamp(20px, 2.5vw, 37px); }
body.home .ps-nav-link { min-height: 46px; color: #344b5e !important; font-size: 13px; font-weight: 620; letter-spacing: .01em; }
body.home .ps-nav-link::after { bottom: 5px; height: 2px; background: var(--psx-blue); }
body.home .ps-nav-link:hover, body.home .ps-nav-link[aria-current="page"],
body.home .ps-nav-trigger[aria-expanded="true"] { color: #126cad !important; }
body.home .ps-quote-button {
	min-height: 44px;
	padding: 0 17px;
	border: 0;
	border-radius: 7px;
	background: #126fb4;
	box-shadow: 0 7px 17px rgba(18,111,180,.2);
	font-size: 12px;
	letter-spacing: .01em;
}
body.home .ps-quote-button:hover { background: #0f5f9a; }
body.home .ps-mega-panel {
	top: calc(100% + 6px);
	width: min(780px, calc(100vw - 32px));
	padding: 23px 25px 0;
	border: 1px solid rgba(17, 48, 73, .09);
	border-radius: 9px;
	box-shadow: 0 28px 65px rgba(14, 39, 61, .17);
}
body.home .ps-mega-heading > span { color: #167aca; font-size: 9px; letter-spacing: .17em; }
body.home .ps-mega-heading strong { font-size: 17px; }
body.home .ps-mega-heading p { font-size: 12px; }
body.home .ps-mega-grid { gap: 2px 10px; }
body.home .ps-mega-card { min-height: 67px; gap: 12px; padding: 9px 29px 9px 8px; border-radius: 7px; }
body.home .ps-mega-icon { width: 37px; height: 37px; flex-basis: 37px; border-color: #e7eef3; border-radius: 8px; background: #f7fafc; }
body.home .ps-mega-icon .ps-nav-icon { width: 19px; height: 19px; }
body.home .ps-mega-copy strong { font-size: 12px; }
body.home .ps-mega-copy small { font-size: 10px; }
body.home .ps-mega-footer { margin-top: 10px; padding: 13px 25px; border-radius: 0 0 9px 9px; font-size: 12px; }
body.home .ps-mobile-toggle { border-color: #e0e8ee; border-radius: 8px; box-shadow: none; }
body.home .ps-mobile-panel { border-radius: 0; }

.psx-home-page, .psx-home-page * { box-sizing: border-box; }
.psx-home-page {
	position: relative;
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	overflow: hidden;
	color: var(--psx-ink);
	font-family: "Poppins", "Aptos", "Segoe UI", sans-serif;
	-webkit-font-smoothing: antialiased;
}
.psx-home-page a { text-decoration: none; }
.psx-home-page a:focus-visible { outline: 3px solid #3f9ce0; outline-offset: 4px; }
.psx-home-page [id] { scroll-margin-top: 94px; }
.psx-home-page h1, .psx-home-page h2, .psx-home-page h3, .psx-home-page p { margin-top: 0; }
.psx-hero {
	position: relative;
	min-height: 690px;
	display: flex;
	align-items: center;
	overflow: hidden;
	background: radial-gradient(ellipse at 73% 47%, rgba(21, 91, 142, .34), transparent 32%), radial-gradient(ellipse at 44% 100%, rgba(25, 105, 152, .16), transparent 42%), linear-gradient(118deg, #081a2c 0%, #0b2034 53%, #0b1c30 100%);
}
.psx-hero::before {
	position: absolute;
	inset: 0;
	background-image: linear-gradient(rgba(154, 207, 231, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(154, 207, 231, .045) 1px, transparent 1px);
	background-size: 64px 64px;
	content: "";
	mask-image: linear-gradient(90deg, transparent, #000 36%, #000 100%);
	pointer-events: none;
}
.psx-hero::after {
	position: absolute;
	right: -9%;
	bottom: -53%;
	width: 76vw;
	height: 76vw;
	border: 1px solid rgba(99, 190, 223, .1);
	border-radius: 50%;
	box-shadow: 0 0 0 42px rgba(99,190,223,.018), 0 0 0 94px rgba(99,190,223,.014);
	content: "";
	pointer-events: none;
}
.psx-hero-noise { position: absolute; inset: 0; opacity: .2; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.14'/%3E%3C/svg%3E"); pointer-events: none; }
.psx-hero-inner {
	position: relative;
	z-index: 1;
	width: min(calc(100% - 88px), 1320px);
	min-height: 690px;
	display: grid;
	grid-template-columns: minmax(390px, .9fr) minmax(0, 1.1fr);
	align-items: center;
	gap: clamp(20px, 4.5vw, 74px);
	margin: 0 auto;
	padding: 64px 0 80px;
}
.psx-hero-copy { position: relative; z-index: 3; max-width: 600px; padding-bottom: 16px; }
.psx-kicker, .psx-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 22px;
	color: #3789bd;
	font-size: 10px;
	font-weight: 720;
	letter-spacing: .16em;
	line-height: 1.4;
	text-transform: uppercase;
}
.psx-kicker { color: #a6c5d9; }
.psx-kicker-dot { width: 6px; height: 6px; border-radius: 50%; background: #62d0e6; box-shadow: 0 0 13px rgba(98,208,230,.8); }
.psx-hero h1 {
	max-width: 660px;
	margin: 0;
	color: #f5f9fc;
	font-size: clamp(50px, 5.4vw, 78px);
	font-weight: 640;
	letter-spacing: -.065em;
	line-height: .99;
	text-wrap: balance;
}
.psx-hero h1 span { color: #83cdee; }
.psx-hero-lead { max-width: 460px; margin: 25px 0 0; color: #b2c2cf; font-size: clamp(16px, 1.4vw, 18px); line-height: 1.7; }
.psx-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 11px; margin-top: 30px; }
.psx-button {
	display: inline-flex;
	min-height: 49px;
	align-items: center;
	justify-content: center;
	gap: 16px;
	padding: 0 19px;
	border: 1px solid transparent;
	border-radius: 7px;
	font-size: 12px;
	font-weight: 670;
	transition: transform .22s ease, background-color .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.psx-button span { font-size: 17px; line-height: 1; transition: transform .2s ease; }
.psx-button:hover { transform: translateY(-2px); }
.psx-button:hover span { transform: translate(2px, -1px); }
.psx-button-primary { color: #fff !important; background: #147bc0; box-shadow: 0 10px 24px rgba(10, 104, 174, .27); }
.psx-button-primary:hover { background: #198bd1; box-shadow: 0 14px 29px rgba(10,104,174,.34); }
.psx-button-quiet { border-color: rgba(191, 214, 230, .22); color: #e2edf4 !important; background: rgba(255,255,255,.035); }
.psx-button-quiet:hover { border-color: rgba(191,214,230,.45); background: rgba(255,255,255,.08); }
.psx-hero-footnote { display: flex; align-items: center; gap: 10px; margin: 35px 0 0; color: #8297a8; font-size: 11px; letter-spacing: .02em; }
.psx-hero-footnote > span { color: #66bddc; font-size: 15px; }
.psx-hero-footnote > span svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.psx-hero-footnote i { width: 3px; height: 3px; border-radius: 50%; background: #67859a; }

.psx-stage { position: relative; width: 100%; min-height: 500px; display: grid; place-items: center; perspective: 1100px; }
.psx-stage-glow { position: absolute; inset: 12% 7%; border-radius: 50%; background: rgba(28, 131, 183, .18); filter: blur(65px); animation: psx-breathe 8s ease-in-out infinite; }
.psx-stage-orbit { position: absolute; border: 1px solid rgba(116, 191, 223, .17); border-radius: 50%; transform: rotate(-27deg); }
.psx-stage-orbit-one { width: 91%; height: 60%; }
.psx-stage-orbit-two { width: 112%; height: 78%; border-color: rgba(116,191,223,.09); transform: rotate(19deg); }
.psx-stage-lines { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; overflow: visible; }
.psx-stage-lines path { stroke: rgba(115, 204, 231, .35); stroke-width: 1; stroke-dasharray: 5 7; animation: psx-dash 19s linear infinite; }
.psx-stage-lines circle { fill: #87e5f2; filter: drop-shadow(0 0 6px rgba(115,220,242,.9)); }
.psx-ui-window {
	position: relative;
	z-index: 2;
	width: min(100%, 595px);
	padding: 14px;
	border: 1px solid rgba(192, 220, 237, .22);
	border-radius: 13px;
	background: linear-gradient(145deg, rgba(23, 49, 70, .96), rgba(11, 30, 47, .97));
	box-shadow: 0 38px 95px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.07);
	transform: rotateY(-7deg) rotateX(2deg);
	animation: psx-drift 8s ease-in-out infinite;
}
.psx-ui-top { height: 42px; display: flex; align-items: center; justify-content: space-between; padding: 0 7px 12px; border-bottom: 1px solid rgba(197,218,232,.1); }
.psx-ui-brand { display: flex; align-items: center; gap: 8px; color: #dcebf4; font-size: 9px; font-weight: 730; letter-spacing: .1em; }
.psx-ui-brand b { width: 24px; height: 24px; display: grid; place-items: center; border: 1px solid rgba(125,202,230,.23); border-radius: 6px; background: rgba(68,160,196,.13); color: #83d8ed; }
.psx-ui-brand svg { width: 13px; height: 13px; fill: currentColor; }
.psx-ui-brand small { margin-left: 4px; color: #7591a5; font-size: 7px; font-weight: 600; letter-spacing: .12em; }
.psx-ui-avatar { width: 25px; height: 25px; display: grid; place-items: center; border: 1px solid rgba(202,223,237,.16); border-radius: 50%; color: #9ccfe1; font-size: 8px; font-weight: 700; }
.psx-ui-body { min-height: 333px; display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 14px; padding-top: 16px; }
.psx-ui-sidebar { display: flex; flex-direction: column; align-items: center; gap: 11px; padding-top: 5px; border-right: 1px solid rgba(197,218,232,.08); }
.psx-ui-sidebar i { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 6px; color: #7891a4; font-style: normal; }
.psx-ui-sidebar i .ps-nav-icon { width: 14px; height: 14px; }
.psx-ui-sidebar i.is-active { color: #84d4e8; background: rgba(82,173,205,.14); }
.psx-ui-content { min-width: 0; padding: 2px 7px 2px 0; }
.psx-ui-title-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.psx-ui-title-row > div small { display: block; margin-bottom: 5px; color: #7090a5; font-size: 7px; font-weight: 650; letter-spacing: .12em; }
.psx-ui-title-row > div strong { color: #e5f0f6; font-size: 15px; font-weight: 600; letter-spacing: -.025em; }
.psx-ui-live { display: inline-flex; align-items: center; gap: 5px; padding: 5px 7px; border: 1px solid rgba(93,201,168,.15); border-radius: 20px; color: #87d6bd; font-size: 6px; font-weight: 700; letter-spacing: .08em; }
.psx-ui-live i, .psx-ui-bottom i { width: 5px; height: 5px; display: inline-block; border-radius: 50%; background: #63d4ad; box-shadow: 0 0 6px rgba(99,212,173,.5); }
.psx-ui-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin-top: 19px; }
.psx-ui-metrics > div { min-width: 0; display: flex; flex-direction: column; gap: 5px; padding: 12px 10px; border: 1px solid rgba(197,218,232,.1); border-radius: 7px; background: rgba(223,239,248,.025); }
.psx-ui-metrics small { color: #7895a9; font-size: 6px; font-weight: 700; letter-spacing: .1em; }
.psx-ui-metrics strong { overflow: hidden; color: #d8e8f1; font-size: 10px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.psx-ui-metrics span { overflow: hidden; color: #8298a9; font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
.psx-ui-flow { margin-top: 13px; padding: 12px 11px 9px; border: 1px solid rgba(197,218,232,.1); border-radius: 7px; background: rgba(223,239,248,.018); }
.psx-ui-flow-head { display: flex; justify-content: space-between; gap: 10px; color: #cbdce6; font-size: 8px; }
.psx-ui-flow-head small { color: #708ca0; font-size: 6px; font-weight: 650; letter-spacing: .08em; }
.psx-ui-flow-graphic { height: 65px; display: flex; align-items: end; gap: 6px; margin-top: 9px; padding: 0 4px; border-bottom: 1px solid rgba(197,218,232,.12); background: repeating-linear-gradient(to bottom,transparent 0,transparent 20px,rgba(197,218,232,.06) 21px); }
.psx-ui-flow-graphic i { flex: 1; height: var(--h); border-radius: 3px 3px 0 0; background: linear-gradient(180deg, #67c6e1, rgba(69,139,184,.24)); transform-origin: bottom; animation: psx-bars 1.1s cubic-bezier(.2,.75,.3,1) both; }
.psx-ui-flow-graphic i:nth-child(3n) { animation-delay: .08s; }
.psx-ui-flow-graphic i:nth-child(3n + 1) { animation-delay: .15s; }
.psx-ui-bottom { display: flex; align-items: center; gap: 8px; margin-top: 12px; color: #8ca2b2; font-size: 7px; }
.psx-ui-bottom span { display: inline-flex; align-items: center; gap: 5px; }
.psx-ui-bottom b { color: #526f84; font-size: 11px; font-weight: 400; }
.psx-float-note { position: absolute; z-index: 3; display: flex; align-items: center; gap: 9px; padding: 11px 13px; border: 1px solid rgba(192,220,237,.19); border-radius: 7px; background: rgba(14, 37, 56, .89); box-shadow: 0 17px 38px rgba(0,0,0,.24); backdrop-filter: blur(12px); animation: psx-note-float 6.5s ease-in-out infinite; }
.psx-float-note-top { top: 5%; right: -1%; }
.psx-float-note-bottom { bottom: 6%; left: -1%; animation-delay: -3s; }
.psx-float-note > span:last-child { display: flex; flex-direction: column; gap: 4px; }
.psx-float-note small { color: #88a5b7; font-size: 6px; font-weight: 700; letter-spacing: .12em; }
.psx-float-note b { color: #e0edf4; font-size: 9px; font-weight: 570; }
.psx-note-icon { width: 25px; height: 25px; display: grid; place-items: center; border: 1px solid rgba(117,207,230,.2); border-radius: 6px; color: #87d7eb; font-size: 14px; }
.psx-note-pulse { width: 7px; height: 7px; border-radius: 50%; background: #69d5b3; box-shadow: 0 0 0 5px rgba(105,213,179,.1); }
.psx-scroll-cue { position: absolute; z-index: 2; right: max(44px, calc((100vw - 1320px)/2)); bottom: 27px; display: inline-flex; align-items: center; gap: 11px; color: #7591a4; font-size: 8px; font-weight: 650; letter-spacing: .16em; }
.psx-scroll-cue i { width: 31px; height: 1px; background: #54849f; transition: width .2s ease; }
.psx-scroll-cue:hover i { width: 44px; }

.psx-capability-rail { border-bottom: 1px solid var(--psx-line); background: #fff; }
.psx-capability-inner { width: min(calc(100% - 88px), 1190px); min-height: 84px; display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 0 auto; }
.psx-capability-inner > span { max-width: 230px; color: #8795a2; font-size: 10px; line-height: 1.5; }
.psx-capability-inner b { color: #425a6d; font-size: 10px; font-weight: 660; white-space: nowrap; }
.psx-capability-inner i { width: 3px; height: 3px; flex: 0 0 auto; border-radius: 50%; background: #54afd0; }
.psx-section { width: min(calc(100% - 88px), var(--psx-width)); margin: 0 auto; }
.psx-value { display: grid; grid-template-columns: .85fr 1fr; gap: clamp(60px, 10vw, 150px); padding-top: 112px; padding-bottom: 120px; }
.psx-value-aside h2 { max-width: 510px; margin: 0; color: #142d42; font-size: clamp(34px, 4.05vw, 53px); font-weight: 590; letter-spacing: -.052em; line-height: 1.07; text-wrap: balance; }
.psx-value-main { padding-top: 22px; }
.psx-value-lead { max-width: 510px; margin: 0 0 30px; color: #344f64; font-size: 18px; line-height: 1.6; }
.psx-value-points article { display: grid; grid-template-columns: 44px minmax(0,1fr); gap: 14px; padding: 17px 0; border-top: 1px solid var(--psx-line); }
.psx-value-points article > span { padding-top: 2px; color: #2583ba; font-size: 9px; font-weight: 700; letter-spacing: .1em; }
.psx-value-points h3 { margin: 0 0 4px; color: #18364e; font-size: 14px; font-weight: 660; letter-spacing: -.015em; }
.psx-value-points p { max-width: 465px; margin: 0; color: var(--psx-muted); font-size: 12px; line-height: 1.65; }

.psx-platform { position: relative; overflow: hidden; background: #f2f6f8; }
.psx-platform::before { position: absolute; top: -180px; right: -220px; width: 600px; height: 600px; border: 1px solid rgba(39,135,180,.12); border-radius: 50%; box-shadow: 0 0 0 48px rgba(39,135,180,.025),0 0 0 100px rgba(39,135,180,.018); content: ""; }
.psx-platform-inner { position: relative; width: min(calc(100% - 88px), var(--psx-width)); min-height: 590px; display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: clamp(70px, 10vw, 150px); margin: 0 auto; padding: 95px 0; }
.psx-platform-copy { max-width: 480px; }
.psx-platform-copy h2, .psx-services-heading h2 { margin: 0; color: #142d42; font-size: clamp(38px, 4.3vw, 56px); font-weight: 590; letter-spacing: -.055em; line-height: 1.02; text-wrap: balance; }
.psx-platform-copy > p:not(.psx-eyebrow):not(.psx-platform-caption) { margin: 21px 0 22px; color: #5e7284; font-size: 14px; line-height: 1.75; }
.psx-text-link { display: inline-flex; align-items: center; gap: 12px; color: #1478b9; font-size: 12px; font-weight: 700; }
.psx-text-link span { transition: transform .2s ease; }
.psx-text-link:hover span { transform: translate(2px,-2px); }
.psx-platform-caption { margin: 53px 0 0; padding-top: 15px; border-top: 1px solid #dce5eb; color: #8795a1; font-size: 10px; }
.psx-module-map { position: relative; display: flex; flex-direction: column; }
.psx-module-map-line { position: absolute; top: 36px; bottom: 36px; left: 24px; width: 1px; background: linear-gradient(#64c5db, #b4d7e4 70%, transparent); }
.psx-module-map > a { position: relative; z-index: 1; display: grid; grid-template-columns: 49px minmax(0,1fr) 20px; align-items: center; gap: 15px; min-height: 82px; padding: 10px 15px; border-bottom: 1px solid #dfe7ec; color: inherit; transition: background-color .2s ease, transform .2s ease; }
.psx-module-map > a:first-of-type { border-top: 1px solid #dfe7ec; }
.psx-module-map > a:hover { transform: translateX(4px); background: rgba(255,255,255,.68); }
.psx-module-symbol { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid #d7e5eb; border-radius: 50%; background: #f4f8fa; color: #2787b6; font-size: 15px; }
.psx-module-symbol svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.psx-module-map > a > span:nth-child(2) { display: flex; flex-direction: column; gap: 4px; }
.psx-module-map small { color: #8795a2; font-size: 8px; font-weight: 680; letter-spacing: .11em; }
.psx-module-map b { color: #213d52; font-size: 14px; font-weight: 630; }
.psx-module-arrow { color: #528aa8; font-size: 13px; opacity: 0; transform: translate(-3px,3px); transition: opacity .2s ease,transform .2s ease; }
.psx-module-map a:hover .psx-module-arrow, .psx-module-map a:focus-visible .psx-module-arrow { opacity: 1; transform: none; }

.psx-services { width: min(calc(100% - 88px), var(--psx-width)); margin: 0 auto; padding-top: 112px; padding-bottom: 115px; }
.psx-services-heading { display: grid; grid-template-columns: 1fr .7fr; column-gap: 85px; align-items: end; margin-bottom: 46px; }
.psx-services-heading .psx-eyebrow { grid-column: 1/-1; margin-bottom: 17px; }
.psx-services-heading h2 { max-width: 670px; }
.psx-services-heading > p:last-child { max-width: 345px; margin: 0 0 5px; color: var(--psx-muted); font-size: 13px; line-height: 1.7; }
.psx-services-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 72px; }
.psx-service { min-width: 0; display: grid; grid-template-columns: 30px minmax(0,1fr) 18px; align-items: start; gap: 14px; padding: 22px 0; border-top: 1px solid var(--psx-line); color: inherit; transition: color .2s ease; }
.psx-service:nth-last-child(-n+2) { border-bottom: 1px solid var(--psx-line); }
.psx-service-num { padding-top: 2px; color: #7e9aad; font-size: 9px; font-weight: 680; letter-spacing: .08em; }
.psx-service h3 { margin: 0 0 5px; color: #18364e; font-size: 15px; font-weight: 650; letter-spacing: -.015em; transition: color .2s ease; }
.psx-service p { max-width: 370px; margin: 0; color: #6a7c8b; font-size: 11px; line-height: 1.65; }
.psx-service-go { color: #2682b6; font-size: 14px; opacity: 0; transform: translate(-3px,3px); transition: opacity .2s ease, transform .2s ease; }
.psx-service:hover h3, .psx-service:focus-visible h3 { color: #1477b8; }
.psx-service:hover .psx-service-go, .psx-service:focus-visible .psx-service-go { opacity: 1; transform: none; }
.psx-services-foot { display: flex; justify-content: space-between; align-items: center; padding-top: 18px; }
.psx-services-foot > span { color: #96a3ad; font-size: 8px; font-weight: 700; letter-spacing: .16em; }
.psx-services-foot a { display: inline-flex; align-items: center; gap: 11px; color: #1478b9; font-size: 11px; font-weight: 690; }
.psx-services-foot a span { font-size: 16px; transition: transform .2s ease; }
.psx-services-foot a:hover span { transform: translateX(3px); }

.psx-process { position: relative; overflow: hidden; background: #edf3f6; }
.psx-process::before { position: absolute; right: -13%; bottom: -140%; width: 65vw; height: 65vw; border: 1px solid rgba(35,121,164,.1); border-radius: 50%; box-shadow: 0 0 0 45px rgba(35,121,164,.022),0 0 0 95px rgba(35,121,164,.016); content: ""; }
.psx-process-inner { position: relative; width: min(calc(100% - 88px), var(--psx-width)); display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(70px, 10vw, 150px); margin: 0 auto; padding: 105px 0 110px; }
.psx-process-heading { max-width: 430px; }
.psx-process-heading h2 { margin: 0; color: #142d42; font-size: clamp(39px, 4.4vw, 57px); font-weight: 590; letter-spacing: -.055em; line-height: 1.02; }
.psx-process-heading h2 span { color: #4388ad; }
.psx-process-heading > p:last-child { margin: 20px 0 0; color: #627687; font-size: 13px; line-height: 1.75; }
.psx-process-steps { align-self: center; }
.psx-process-step { display: grid; grid-template-columns: 51px minmax(0,1fr); gap: 16px; padding: 22px 0; border-top: 1px solid #d7e2e9; }
.psx-process-step:last-child { border-bottom: 1px solid #d7e2e9; }
.psx-process-step > span { width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid #cddde6; border-radius: 50%; color: #287ca5; font-size: 9px; font-weight: 690; }
.psx-process-step h3 { margin: 1px 0 5px; color: #1b3a50; font-size: 15px; font-weight: 650; }
.psx-process-step p { margin: 0; color: #667b8b; font-size: 12px; line-height: 1.65; }

.psx-contact { position: relative; overflow: hidden; background: radial-gradient(ellipse at 75% 30%, rgba(67,162,202,.3), transparent 33%), linear-gradient(112deg, #0b2b46 0%, #0c3d62 100%); }
.psx-contact::before { position: absolute; inset: 0; background-image: linear-gradient(rgba(194,226,241,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(194,226,241,.045) 1px,transparent 1px); background-size: 56px 56px; content: ""; mask-image: linear-gradient(90deg,transparent,#000); }
.psx-contact-glow { position: absolute; top: 0; right: 14%; width: 1px; height: 100%; background: linear-gradient(transparent,rgba(130,210,234,.27),transparent); }
.psx-contact-inner { position: relative; width: min(calc(100% - 88px), var(--psx-width)); padding: 84px 0 89px; margin: 0 auto; }
.psx-contact .psx-eyebrow { color: #8ac7df; }
.psx-contact h2 { max-width: 750px; margin: 0; color: #f4f9fc; font-size: clamp(38px, 5vw, 64px); font-weight: 590; letter-spacing: -.06em; line-height: 1.02; text-wrap: balance; }
.psx-contact-inner > p:not(.psx-eyebrow) { max-width: 470px; margin: 18px 0 24px; color: #b6cddb; font-size: 14px; line-height: 1.7; }
.psx-contact .psx-button-primary { background: #58b8df; color: #08243a !important; box-shadow: 0 10px 25px rgba(0,0,0,.14); }
.psx-contact .psx-button-primary:hover { background: #7bcdea; }
.psx-footer { padding: 37px max(44px, calc((100vw - 1240px)/2)) 21px; background: #071827; color: #a5b5c1; }
.psx-footer-top { min-height: 58px; display: grid; grid-template-columns: 205px minmax(0,1fr) auto; align-items: center; gap: 32px; padding-bottom: 27px; border-bottom: 1px solid rgba(194,216,229,.12); }
.psx-footer-brand { display: block; width: 176px; }
.psx-footer-brand img { display: block; width: 100%; height: auto; filter: brightness(0) invert(1); opacity: .88; }
.psx-footer-brand .psx-wordmark { color: #e5eff5; font-size: 17px; font-weight: 680; }
.psx-footer-top > p { margin: 0; color: #8195a5; font-size: 11px; }
.psx-footer-contact { display: inline-flex; align-items: center; gap: 12px; color: #c9dae4; font-size: 11px; font-weight: 630; }
.psx-footer-contact span { color: #74c5e0; font-size: 14px; }
.psx-footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 18px; color: #6f8494; font-size: 9px; }
.psx-footer-bottom > div { display: flex; gap: 22px; }
.psx-footer-bottom a { color: #94a8b7; transition: color .2s ease; }
.psx-footer-bottom a:hover { color: #83d3ed; }

.psx-reveal { opacity: 1; transform: none; }
.psx-motion-ready .psx-reveal { opacity: 0; transform: translateY(17px); transition: opacity .55s ease, transform .55s cubic-bezier(.2,.7,.2,1); }
.psx-motion-ready .psx-reveal.psx-visible { opacity: 1; transform: none; }
@keyframes psx-drift { 0%,100% { transform: rotateY(-7deg) rotateX(2deg) translateY(0); } 50% { transform: rotateY(-5deg) rotateX(1deg) translateY(-8px); } }
@keyframes psx-note-float { 0%,100% { translate: 0 0; } 50% { translate: 0 -6px; } }
@keyframes psx-breathe { 0%,100% { opacity: .65; transform: scale(.96); } 50% { opacity: 1; transform: scale(1.04); } }
@keyframes psx-dash { to { stroke-dashoffset: -96; } }
@keyframes psx-bars { from { transform: scaleY(.15); opacity: .35; } to { transform: scaleY(1); opacity: 1; } }

@media (max-width: 1100px) {
	body.home .ps-header-inner { width: calc(100% - 44px); gap: 23px; }
	body.home .ps-brand { max-width: 180px; }
	body.home .ps-desktop-nav { gap: 18px; }
	body.home .ps-nav-link { font-size: 12px; }
	.psx-hero-inner { width: calc(100% - 64px); grid-template-columns: minmax(330px,.85fr) minmax(0,1.15fr); gap: 20px; }
	.psx-stage { min-height: 440px; }
	.psx-ui-window { transform: rotateY(-4deg) scale(.94); }
	.psx-stage-orbit-one { width: 100%; }
	.psx-stage-orbit-two { width: 117%; }
	.psx-section, .psx-platform-inner, .psx-services, .psx-process-inner, .psx-contact-inner { width: calc(100% - 64px); }
	.psx-value, .psx-platform-inner, .psx-process-inner { gap: 62px; }
}

@media (max-width: 920px) {
	body.home .ps-header-inner { width: calc(100% - 40px); min-height: 70px; }
	body.home .ps-brand { max-width: 190px; }
	body.home .ps-brand img { max-height: 46px; }
	body.home .ps-mobile-toggle { width: 44px; height: 44px; }
	body.home .ps-mobile-panel { width: min(420px, 92vw); padding: 22px; }
	body.home .ps-mobile-link, body.home .ps-mobile-accordion { min-height: 54px; }
	body.home .ps-mobile-quote { margin-top: 18px; }
}

@media (max-width: 800px) {
	.psx-hero { min-height: 0; }
	.psx-hero-inner { min-height: 0; grid-template-columns: 1fr; gap: 12px; width: calc(100% - 56px); padding: 72px 0 53px; }
	.psx-hero-copy { max-width: 630px; }
	.psx-hero h1 { max-width: 620px; font-size: clamp(48px, 9vw, 70px); }
	.psx-hero-lead { max-width: 520px; }
	.psx-hero-footnote { margin-top: 27px; }
	.psx-stage { min-height: 440px; margin: 0 -8px; }
	.psx-ui-window { width: min(100%, 570px); transform: none; animation-duration: 10s; }
	.psx-stage-orbit-one { width: 79%; height: 68%; }
	.psx-stage-orbit-two { width: 95%; height: 83%; }
	.psx-float-note-top { right: 2%; }
	.psx-float-note-bottom { left: 2%; }
	.psx-scroll-cue { display: none; }
	.psx-capability-inner { width: calc(100% - 56px); min-height: 93px; flex-wrap: wrap; justify-content: flex-start; gap: 12px 19px; padding: 16px 0; }
	.psx-capability-inner > span { width: 100%; max-width: none; }
	.psx-section, .psx-platform-inner, .psx-services, .psx-process-inner, .psx-contact-inner { width: calc(100% - 56px); }
	.psx-value { grid-template-columns: 1fr 1fr; gap: 38px; padding-top: 78px; padding-bottom: 82px; }
	.psx-value-aside h2 { font-size: clamp(34px, 5vw, 45px); }
	.psx-platform-inner { min-height: 0; grid-template-columns: .82fr 1.18fr; gap: 36px; padding: 74px 0; }
	.psx-platform-copy h2, .psx-services-heading h2 { font-size: clamp(36px, 5vw, 47px); }
	.psx-platform-caption { margin-top: 33px; }
	.psx-services { padding-top: 78px; padding-bottom: 80px; }
	.psx-services-heading { column-gap: 35px; }
	.psx-services-grid { column-gap: 38px; }
	.psx-process-inner { grid-template-columns: .85fr 1.15fr; gap: 42px; padding: 76px 0 80px; }
	.psx-process-heading h2 { font-size: clamp(37px,5vw,48px); }
	.psx-contact-inner { padding: 70px 0 75px; }
}

@media (max-width: 600px) {
	body.home .ps-header-inner { width: calc(100% - 30px); min-height: 66px; }
	body.home .ps-brand { max-width: 168px; }
	body.home .ps-brand img { max-height: 42px; }
	body.home .ps-mobile-toggle { width: 42px; height: 42px; }
	body.home .ps-mobile-panel { width: min(400px, 94vw); padding: 18px; }
	.psx-hero-inner { width: calc(100% - 40px); padding: 56px 0 39px; gap: 10px; }
	.psx-kicker { margin-bottom: 19px; font-size: 9px; }
	.psx-hero h1 { max-width: 430px; font-size: clamp(44px, 11.6vw, 62px); line-height: 1.01; }
	.psx-hero-lead { max-width: 440px; margin-top: 18px; font-size: 15px; line-height: 1.65; }
	.psx-hero-actions { gap: 8px; margin-top: 23px; }
	.psx-button { min-height: 46px; gap: 10px; padding-inline: 13px; font-size: 11px; }
	.psx-hero-footnote { flex-wrap: wrap; gap: 8px; margin-top: 20px; font-size: 9px; }
	.psx-stage { min-height: 300px; margin: 0 -15px; }
	.psx-ui-window { width: min(100%, 470px); padding: 10px; border-radius: 10px; }
	.psx-ui-top { height: 34px; padding-bottom: 9px; }
	.psx-ui-body { min-height: 267px; grid-template-columns: 28px minmax(0,1fr); gap: 9px; padding-top: 10px; }
	.psx-ui-sidebar { gap: 6px; }
	.psx-ui-sidebar i { width: 22px; height: 22px; font-size: 10px; }
	.psx-ui-sidebar i .ps-nav-icon { width: 12px; height: 12px; }
	.psx-ui-title-row > div strong { font-size: 12px; }
	.psx-ui-live { padding: 4px 5px; font-size: 5px; }
	.psx-ui-metrics { gap: 5px; margin-top: 13px; }
	.psx-ui-metrics > div { gap: 4px; padding: 9px 6px; }
	.psx-ui-metrics small { font-size: 5px; }
	.psx-ui-metrics strong { font-size: 8px; }
	.psx-ui-metrics span { font-size: 6px; }
	.psx-ui-flow { margin-top: 9px; padding: 9px 7px 7px; }
	.psx-ui-flow-graphic { height: 49px; gap: 4px; margin-top: 7px; }
	.psx-ui-bottom { gap: 5px; margin-top: 9px; font-size: 6px; }
	.psx-ui-bottom span { gap: 3px; }
	.psx-ui-bottom i { width: 4px; height: 4px; }
	.psx-float-note { gap: 7px; padding: 8px 9px; }
	.psx-float-note-top { top: 1%; right: 0; }
	.psx-float-note-bottom { bottom: 0; left: 0; }
	.psx-float-note small { font-size: 5px; }
	.psx-float-note b { font-size: 7px; }
	.psx-note-icon { width: 21px; height: 21px; font-size: 11px; }
	.psx-capability-inner { width: calc(100% - 40px); gap: 11px 13px; }
	.psx-capability-inner b { font-size: 9px; }
	.psx-section, .psx-platform-inner, .psx-services, .psx-process-inner, .psx-contact-inner { width: calc(100% - 40px); }
	.psx-value { grid-template-columns: 1fr; gap: 25px; padding-top: 60px; padding-bottom: 65px; }
	.psx-value-aside h2 { max-width: 450px; font-size: clamp(35px, 9vw, 46px); }
	.psx-value-main { padding-top: 0; }
	.psx-value-lead { margin-bottom: 20px; font-size: 16px; }
	.psx-value-points article { grid-template-columns: 32px minmax(0,1fr); gap: 10px; padding: 14px 0; }
	.psx-platform-inner { grid-template-columns: 1fr; gap: 34px; padding: 61px 0 62px; }
	.psx-platform-copy { max-width: 490px; }
	.psx-platform-copy h2, .psx-services-heading h2 { font-size: clamp(38px, 10vw, 49px); }
	.psx-platform-caption { margin-top: 23px; }
	.psx-module-map > a { min-height: 70px; grid-template-columns: 43px minmax(0,1fr) 15px; gap: 11px; padding-inline: 8px; }
	.psx-module-map-line { left: 21px; }
	.psx-module-symbol { width: 36px; height: 36px; }
	.psx-services { padding-top: 61px; padding-bottom: 63px; }
	.psx-services-heading { display: block; margin-bottom: 25px; }
	.psx-services-heading h2 { max-width: 480px; }
	.psx-services-heading > p:last-child { max-width: 390px; margin-top: 14px; }
	.psx-services-grid { grid-template-columns: 1fr; }
	.psx-service { grid-template-columns: 26px minmax(0,1fr) 16px; gap: 10px; padding: 17px 0; }
	.psx-service:nth-last-child(2) { border-bottom: 0; }
	.psx-service:last-child { border-bottom: 1px solid var(--psx-line); }
	.psx-service h3 { font-size: 14px; }
	.psx-service p { max-width: 400px; font-size: 11px; }
	.psx-services-foot { align-items: flex-start; gap: 18px; }
	.psx-services-foot > span { max-width: 140px; line-height: 1.5; }
	.psx-process-inner { grid-template-columns: 1fr; gap: 28px; padding: 61px 0 64px; }
	.psx-process-heading h2 { font-size: clamp(39px, 10vw, 50px); }
	.psx-process-heading > p:last-child { max-width: 460px; }
	.psx-process-step { grid-template-columns: 43px minmax(0,1fr); gap: 10px; padding: 16px 0; }
	.psx-contact-inner { padding: 60px 0 63px; }
	.psx-contact h2 { font-size: clamp(39px, 10vw, 51px); }
	.psx-contact-inner > p:not(.psx-eyebrow) { font-size: 13px; }
	.psx-footer { padding: 27px 20px 19px; }
	.psx-footer-top { grid-template-columns: 1fr auto; gap: 10px 15px; padding-bottom: 19px; }
	.psx-footer-brand { width: 156px; }
	.psx-footer-top > p { grid-column: 1; grid-row: 2; font-size: 10px; }
	.psx-footer-contact { grid-column: 2; grid-row: 1 / span 2; font-size: 10px; }
	.psx-footer-bottom { align-items: flex-start; flex-wrap: wrap; gap: 10px 15px; font-size: 8px; }
	.psx-footer-bottom > div { width: 100%; justify-content: space-between; gap: 12px; padding-top: 5px; }
}

@media (max-width: 360px) {
	.psx-hero-inner { width: calc(100% - 32px); }
	.psx-hero h1 { font-size: 42px; }
	.psx-hero-actions { align-items: stretch; }
	.psx-button { min-height: 43px; gap: 7px; padding-inline: 10px; font-size: 10px; }
	.psx-stage { min-height: 275px; }
	.psx-ui-metrics strong { font-size: 7px; }
	.psx-float-note-top { right: -4px; }
	.psx-float-note-bottom { left: -4px; }
}

@media (prefers-reduced-motion: reduce) {
	.psx-home-page *, .psx-home-page *::before, .psx-home-page *::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
		scroll-behavior: auto !important;
	}
	.psx-motion-ready .psx-reveal { opacity: 1; transform: none; }
}
