/* Public PetroProcure landing page. All rules are scoped to .pp-landing. */
.pp-landing {
    --pl-ink: #112d3b;
    --pl-deep: #071b2a;
    --pl-navy: #0b2637;
    --pl-teal: #50d2c7;
    --pl-line: #dbe5e8;
    --pl-muted: #5d727a;
    --pl-paper: #f5f8f8;
    direction: rtl;
    color: var(--pl-ink);
    background: #fff;
    font-family: 'vazirmatn[wght]', 'vazirmatn-regular', Tahoma, sans-serif;
    font-optical-sizing: auto;
    overflow: clip;
}
.pp-landing *, .pp-landing *::before, .pp-landing *::after { box-sizing: border-box; }
.pp-landing h1, .pp-landing h2, .pp-landing h3, .pp-landing h4, .pp-landing p { margin: 0; }
.pp-landing button, .pp-landing a { font: inherit; }
.pp-landing a { color: inherit; text-decoration: none; }
.pp-landing button { cursor: pointer; }
.pp-landing button:focus-visible, .pp-landing a:focus-visible { outline: 3px solid #31b8bb; outline-offset: 4px; }
.pp-landing section[id] { scroll-margin-top: 92px; }
html:has(.pp-landing) { scroll-behavior: smooth; }
.pl-shell { width: min(100% - 96px, 1336px); margin-inline: auto; }
.pl-skip-link { position: fixed; top: -100px; right: 24px; z-index: 4000; padding: 10px 20px; background: #fff; color: var(--pl-ink); border-radius: 8px; }
.pl-skip-link:focus { top: 14px; }

/* Navigation */
.pl-header { position: fixed; inset: 0 0 auto; height: 84px; z-index: 1000; color: #f3fcfd; border-bottom: 1px solid rgba(219,245,247,.12); transition: height .3s ease, background .3s ease, box-shadow .3s ease; }
.pl-header.is-scrolled { height: 72px; background: rgba(7,26,40,.94); box-shadow: 0 12px 36px rgba(2,15,24,.22); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); }
.pl-header-inner { height: 100%; display: flex; align-items: center; gap: 38px; }
.pl-brand { display: inline-flex; align-items: center; gap: 11px; min-width: 0; flex: 0 0 auto; }
.pl-brand-mark { display: inline-flex; align-items: flex-end; justify-content: center; gap: 3px; width: 41px; height: 41px; padding: 9px 8px; border: 1px solid rgba(107,226,217,.55); border-radius: 11px; background: linear-gradient(145deg, #174b59, #0e3646); box-shadow: inset 0 0 17px rgba(79,211,199,.12); transform: skewY(-5deg); }
.pl-brand-mark i { display: block; width: 6px; border-radius: 2px; background: #72e0d4; box-shadow: 0 0 9px rgba(117,236,219,.45); }
.pl-brand-mark i:nth-child(1) { height: 10px; opacity: .65; }.pl-brand-mark i:nth-child(2) { height: 17px; }.pl-brand-mark i:nth-child(3) { height: 25px; opacity: .82; }
.pl-brand-logo { position: relative; display: block; flex: 0 0 46px; width: 46px; height: 46px; overflow: hidden; border: 1px solid rgba(224, 181, 75, .36); border-radius: 10px; background: #0a3429; box-shadow: 0 0 0 3px rgba(238, 185, 68, .045); }
.pl-brand-logo img { position: absolute; top: -8px; left: 50%; display: block; width: 74px; max-width: none; height: auto; transform: translateX(-50%); }
.pl-brand-copy { display: grid; line-height: 1.15; text-align: right; }
.pl-brand-copy strong { width: fit-content; color: #fff; font-size: 16px; font-weight: 800; letter-spacing: .025em; }
.pl-brand-copy small { margin-top: 4px; color: #a8c0c9; font-size: 9px; white-space: nowrap; }
.pl-nav { display: flex; justify-content: center; align-items: center; gap: clamp(12px, 1.75vw, 29px); flex: 1; }
.pl-nav a { position: relative; padding: 29px 0; color: #c5d5dc; font-size: 12px; font-weight: 600; white-space: nowrap; transition: color .2s; }
.pl-nav a::after { position: absolute; content: ''; right: 0; bottom: 21px; height: 2px; width: 0; background: #71d8cf; transition: width .25s; }
.pl-nav a:hover, .pl-nav a.is-active { color: #fff; }.pl-nav a.is-active::after, .pl-nav a:hover::after { width: 100%; }
.pl-header-actions { display: flex; align-items: center; gap: 17px; flex: 0 0 auto; }
.pl-header-login { color: #d6e4e8 !important; font-size: 12px !important; white-space: nowrap; }.pl-header-login:hover { color: #80e6db !important; }
.pl-menu-toggle { display: none; border: 0; background: transparent; width: 42px; height: 42px; padding: 10px; }
.pl-menu-toggle span { display: block; height: 2px; margin: 5px 0; border-radius: 2px; background: #fff; transition: transform .25s, opacity .25s; }
.pl-menu-toggle.is-open span:first-child { transform: translateY(7px) rotate(45deg); }.pl-menu-toggle.is-open span:nth-child(2) { opacity: 0; }.pl-menu-toggle.is-open span:last-child { transform: translateY(-7px) rotate(-45deg); }

/* Shared sections, typography, buttons */
.pl-section { position: relative; padding: 120px 0; }.pl-section-heading { max-width: 770px; }.pl-section-heading-center { margin-inline: auto; text-align: center; }
.pl-kicker { display: flex; align-items: center; gap: 11px; margin-bottom: 23px; color: #0e8e8c; font-size: 12px; font-weight: 800; letter-spacing: .02em; }
.pl-kicker::before { content: ''; width: 22px; height: 1px; background: #42bfb5; }.pl-kicker-light { color: #69d9ce; }
.pl-section-heading-center .pl-kicker { justify-content: center; }
.pl-section h2, .pl-why h2, .pl-demo h2 { font-size: clamp(32px, 3.6vw, 55px); font-weight: 820; letter-spacing: -.035em; line-height: 1.58; }
.pl-section-heading p, .pl-section-top > p { margin-top: 23px; max-width: 500px; color: var(--pl-muted); font-size: 15px; line-height: 2.15; }
.pl-section-heading-center p { margin-inline: auto; }
.pl-section-top { display: flex; justify-content: space-between; gap: 60px; align-items: end; margin-bottom: 49px; }
.pl-section-top > p { flex: 0 1 390px; margin: 0 0 5px; }
.pl-overline { color: #62bfb9; font-size: 11px; letter-spacing: .08em; font-weight: 800; }
.pl-button { min-height: 54px; display: inline-flex; justify-content: center; align-items: center; gap: 25px; padding: 0 26px; border: 1px solid transparent; border-radius: 9px; font-size: 13px !important; font-weight: 800 !important; white-space: nowrap; transition: transform .25s ease, box-shadow .25s ease, background .25s ease, border-color .25s ease; }
.pl-button span { font-size: 18px; line-height: 1; transition: transform .25s; }.pl-button:hover { transform: translateY(-3px); }.pl-button:hover span { transform: translate(-3px,-2px); }
.pl-button-primary { background: #5ed4ca; color: #092d3a !important; box-shadow: 0 14px 32px rgba(54,197,187,.18); }.pl-button-primary:hover { background: #84e7dc; box-shadow: 0 16px 39px rgba(54,197,187,.32); }
.pl-button-ghost { color: #f3fcfb !important; background: rgba(255,255,255,.04); border-color: rgba(183,228,230,.26); }.pl-button-ghost:hover { background: rgba(255,255,255,.1); border-color: rgba(183,228,230,.5); }
.pl-button-outline { border-color: rgba(199,236,237,.3); color: #f1f7f6 !important; background: transparent; }.pl-button-outline:hover { border-color: #8be6dc; background: rgba(93,210,201,.08); }
.pl-button-small { min-height: 40px; gap: 14px; padding: 0 17px; border-radius: 8px; font-size: 11px !important; }
.pl-button-small span { font-size: 15px; }
.pl-reveal { opacity: 1; transform: none; }
.pp-landing.pl-motion-ready .pl-reveal { opacity: 0; transform: translateY(28px); transition: opacity .75s cubic-bezier(.2,.8,.2,1), transform .75s cubic-bezier(.2,.8,.2,1); }
.pp-landing.pl-motion-ready .pl-reveal.is-visible { opacity: 1; transform: translateY(0); }

/* First screen */
.pl-hero { position: relative; min-height: min(860px, 100svh); padding-top: 84px; overflow: hidden; background: radial-gradient(ellipse 60% 75% at 13% 49%, rgba(19,84,101,.5), transparent 75%), linear-gradient(126deg, #071b2a 10%, #082739 62%, #0d3443 100%); color: #f6fbfa; }
.pl-hero-grid, .pl-ai-grid { position: absolute; inset: 0; pointer-events: none; opacity: .38; background-image: linear-gradient(rgba(105,195,204,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(105,195,204,.06) 1px, transparent 1px); background-size: 58px 58px; mask-image: linear-gradient(90deg, transparent, #000 33%, #000 75%, transparent); }
.pl-hero-aura { position: absolute; width: 820px; aspect-ratio: 1; left: -210px; top: 18%; border: 1px solid rgba(92,181,188,.11); border-radius: 50%; box-shadow: 0 0 0 110px rgba(64,165,181,.025), 0 0 0 230px rgba(64,165,181,.018), inset 0 0 100px rgba(65,180,177,.06); pointer-events: none; }
.pl-hero-inner { min-height: 680px; display: grid; grid-template-columns: minmax(0, .96fr) minmax(0, 1.04fr); gap: 46px; align-items: center; padding-top: 34px; padding-bottom: 45px; }
.pl-hero-copy { position: relative; z-index: 2; padding-top: 15px; }
.pl-eyebrow { display: flex; align-items: center; gap: 10px; color: #8cbebf; font-size: 11px; font-weight: 700; white-space: nowrap; }.pl-eyebrow-light { color: #8ac9c9; }
.pl-eyebrow-dot { width: 7px; height: 7px; border-radius: 50%; background: #56d9cc; box-shadow: 0 0 0 5px rgba(86,217,204,.11); }.pl-eyebrow-line { width: 21px; height: 1px; background: rgba(149,211,212,.4); }
.pl-hero h1 { margin-top: 32px; font-size: clamp(43px, 4.05vw, 72px); font-weight: 850; line-height: 1.43; letter-spacing: -.055em; white-space: nowrap; }
.pl-hero h1 em { color: #6be0d3; font-style: normal; text-shadow: 0 0 42px rgba(62,205,196,.21); }
.pl-hero-subtitle { margin-top: 22px !important; font-size: clamp(17px, 1.55vw, 23px); font-weight: 640; color: #e4f0f1; line-height: 1.9; }
.pl-hero-description { margin-top: 18px !important; max-width: 570px; color: #adcad0; font-size: 14px; line-height: 2.2; }
.pl-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 38px; }.pl-hero-pillars { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; margin-top: 43px; color: #a4c2c7; font-size: 11px; }.pl-hero-pillars i { width: 4px; height: 4px; border-radius: 50%; background: #55d4c7; }
.pl-hero-visual { position: relative; min-height: 570px; display: grid; place-items: center; isolation: isolate; }
.pl-orbit { position: absolute; width: 540px; height: 540px; border: 1px solid rgba(83,180,186,.13); border-radius: 50%; box-shadow: 0 0 0 72px rgba(62,167,178,.025); }.pl-orbit-two { width: 420px; height: 420px; border-style: dashed; animation: pl-orbit 80s linear infinite; }
.pl-flow-window { position: relative; width: min(100%, 540px); z-index: 2; border: 1px solid rgba(155,218,219,.23); border-radius: 17px; overflow: hidden; background: rgba(12,39,53,.89); box-shadow: 0 38px 80px rgba(0,7,15,.36), inset 0 1px rgba(255,255,255,.04); backdrop-filter: blur(12px); }
.pl-window-top { height: 48px; display: flex; align-items: center; justify-content: space-between; padding: 0 19px; border-bottom: 1px solid rgba(174,224,227,.13); color: #b8d0d4; font-size: 11px; }.pl-window-dots { display: flex; gap: 4px; }.pl-window-dots i { width: 5px; height: 5px; border-radius: 50%; background: #6bdcd2; opacity: .4; }.pl-window-dots i:first-child { opacity: 1; }.pl-window-code { font-size: 8px; letter-spacing: .14em; color: #668b98; }
.pl-window-heading { display: flex; align-items: center; justify-content: space-between; padding: 22px 24px 19px; }.pl-window-heading > div { display: grid; gap: 5px; }.pl-window-heading small { color: #8dafb7; font-size: 10px; }.pl-window-heading strong { color: #effafa; font-size: 20px; font-weight: 790; }.pl-status-pill { display: inline-flex; align-items: center; gap: 7px; padding: 6px 11px; border: 1px solid rgba(94,217,191,.25); border-radius: 30px; color: #8ae1d0; background: rgba(69,188,156,.09); font-size: 9px; }.pl-status-pill i { width: 5px; height: 5px; background: currentColor; border-radius: 50%; box-shadow: 0 0 0 4px rgba(105,220,192,.1); }
.pl-flow-list { padding: 0 24px 13px; }.pl-flow-row { position: relative; display: grid; grid-template-columns: 34px 1fr auto; gap: 13px; align-items: center; min-height: 72px; }.pl-flow-row::before { position: absolute; content: ''; width: 1px; height: 38px; top: 56px; right: 16px; background: rgba(120,185,190,.23); }.pl-flow-row:last-child::before { display: none; }.pl-flow-row.is-complete::before { background: #51c8bc; box-shadow: 0 0 10px rgba(89,215,197,.34); }.pl-flow-node { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid #416372; border-radius: 10px; color: #86a5ae; background: #193948; font-size: 9px; font-weight: 800; }.pl-flow-row.is-complete .pl-flow-node { color: #072c34; background: #70d8c9; border-color: #70d8c9; }.pl-flow-row.is-current .pl-flow-node { color: #b8f0e8; border-color: #4dbcb1; background: #1c5157; box-shadow: 0 0 0 5px rgba(69,205,188,.08); animation: pl-node-pulse 3s ease-in-out infinite; }.pl-flow-row > div { display: grid; gap: 3px; }.pl-flow-row strong { color: #dbe9ea; font-size: 12px; font-weight: 720; }.pl-flow-row small { color: #7f9fa9; font-size: 9px; }.pl-flow-state { color: #6c929e; font-size: 9px; }.pl-flow-row.is-complete .pl-flow-state { color: #7edbc8; }.pl-flow-row.is-current .pl-flow-state { color: #e5c181; }
.pl-window-foot { display: flex; justify-content: space-between; align-items: center; padding: 13px 23px; border-top: 1px solid rgba(174,224,227,.1); color: #8cb0b9; font-size: 9px; }.pl-window-foot span:first-child { display: flex; gap: 7px; align-items: center; }.pl-window-foot i { width: 6px; height: 6px; border-radius: 50%; background: #6adbc7; }.pl-window-foot [dir=ltr] { color: #56818e; letter-spacing: .12em; }
.pl-float-tag { position: absolute; z-index: 3; display: flex; align-items: center; gap: 9px; padding: 11px 14px; border: 1px solid rgba(153,221,220,.25); border-radius: 10px; background: rgba(16,50,62,.94); color: #e8f6f3; box-shadow: 0 20px 35px rgba(0,13,20,.26); font-size: 10px; font-weight: 650; animation: pl-float 5s ease-in-out infinite; }.pl-float-tag-top { top: 55px; right: -23px; }.pl-float-tag-bottom { bottom: 29px; left: -19px; animation-delay: -2.5s; }.pl-float-tag small { color: #8fbbc0; font-size: 9px; font-weight: 400; }.pl-float-symbol, .pl-float-icon { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 7px; background: rgba(109,220,195,.16); color: #83e6d2; }.pl-float-icon { background: rgba(92,176,221,.14); color: #8bcfeb; }
.pl-hero-bottom { display: flex; align-items: center; justify-content: space-between; min-height: 63px; border-top: 1px solid rgba(178,223,224,.11); color: #85a7ae; font-size: 10px; }.pl-hero-bottom a { display: flex; align-items: center; gap: 12px; color: #b6d1d3; }.pl-scroll-indicator { display: grid; place-items: center; width: 27px; height: 27px; border: 1px solid rgba(149,206,210,.31); border-radius: 50%; font-size: 14px; animation: pl-bob 3s ease-in-out infinite; }

/* From complexity to one process */
.pl-problem { background: #f6f9f9; }.pl-problem h2 span { color: #1d7f81; }.pl-problem-layout { display: grid; grid-template-columns: 1.17fr .83fr; gap: 36px; margin-top: 57px; }.pl-problem-stack { display: grid; gap: 11px; }.pl-problem-item { display: grid; grid-template-columns: 54px 1fr 58px; align-items: center; gap: 18px; min-height: 117px; padding: 22px 26px; border: 1px solid #e0e8ea; border-radius: 12px; background: #fff; transition: transform .25s, border-color .25s, box-shadow .25s; }.pl-problem-item:hover { transform: translateX(-4px); border-color: #b7d9d6; box-shadow: 0 15px 38px rgba(19,71,81,.07); }.pl-problem-num { color: #9badb4; font-size: 22px; font-weight: 330; }.pl-problem-item h3 { font-size: 15px; font-weight: 780; }.pl-problem-item p { margin-top: 6px; color: var(--pl-muted); font-size: 11px; line-height: 1.9; }.pl-problem-dash { width: 39px; height: 1px; background: #c7d9dc; }.pl-problem-answer { position: relative; display: flex; flex-direction: column; justify-content: center; overflow: hidden; padding: 46px; border-radius: 15px; color: #e7f8f6; background: radial-gradient(circle at 5% 100%, rgba(66,178,172,.3), transparent 42%), #0a3442; }.pl-answer-lines { position: absolute; inset: 0; pointer-events: none; }.pl-answer-lines i { position: absolute; width: 380px; height: 380px; left: -160px; bottom: -190px; border: 1px solid rgba(103,215,207,.14); border-radius: 50%; }.pl-answer-lines i:nth-child(2) { transform: scale(.78); }.pl-answer-lines i:nth-child(3) { transform: scale(.56); }.pl-answer-label { color: #79d8ca; font-size: 11px; font-weight: 700; }.pl-answer-core { display: flex; align-items: center; gap: 20px; margin-top: 35px; }.pl-answer-logo { display: grid; place-items: center; width: 66px; height: 66px; flex: 0 0 auto; border: 1px solid rgba(126,224,212,.39); border-radius: 13px; color: #72dfd2; background: rgba(110,207,200,.12); font-family: Georgia, serif; font-size: 34px; }.pl-answer-core strong { font-size: 24px; line-height: 1.65; }.pl-problem-answer p { max-width: 340px; margin-top: 22px; color: #aecdd0; font-size: 12px; line-height: 2.1; }.pl-problem-answer a { width: fit-content; display: inline-flex; gap: 18px; align-items: center; margin-top: 30px; color: #78e1d5; font-size: 12px; font-weight: 750; }.pl-problem-answer a span { font-size: 18px; transition: transform .25s; }.pl-problem-answer a:hover span { transform: translateX(-4px); }

/* Interactive workflow */
.pl-process { background: #fff; }.pl-process-board { overflow: hidden; border: 1px solid #d7e4e6; border-radius: 16px; background: #f8fbfa; box-shadow: 0 22px 60px rgba(18,56,70,.07); }.pl-process-rail { position: relative; display: grid; grid-template-columns: repeat(8, minmax(104px, 1fr)); overflow-x: auto; scrollbar-width: thin; border-bottom: 1px solid #dce8e9; background: #fff; }.pl-process-step { position: relative; min-height: 112px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 11px; padding: 18px 19px; border: 0; border-left: 1px solid #e9eeee; background: #fff; color: #648089; text-align: right; white-space: nowrap; font-size: 11px; font-weight: 700; transition: background .25s, color .25s; }.pl-process-step:last-child { border: 0; }.pl-process-step:hover { color: #0b7580; background: #f1f9f8; }.pl-process-step.is-active { color: #093e4e; background: #e7f6f3; }.pl-process-step.is-active::after { position: absolute; content: ''; inset: auto 0 0; height: 3px; background: #34b7ac; }.pl-process-index { color: #9fb6bb; font-size: 13px; font-weight: 500; }.pl-process-step.is-active .pl-process-index { color: #0da596; }.pl-process-step i { position: absolute; width: 5px; height: 5px; left: 8px; top: 50%; border-radius: 50%; background: #bad2d4; }.pl-process-step.is-active i { background: #48c5b7; box-shadow: 0 0 0 5px rgba(72,197,183,.13); }.pl-process-detail { min-height: 305px; display: grid; grid-template-columns: 1fr .8fr; align-items: center; padding: 45px 70px; background: radial-gradient(circle at 27% 100%, rgba(105,209,192,.09), transparent 37%), #f8fbfa; }.pl-process-detail h3 { margin-top: 14px; color: #0a3544; font-size: 30px; font-weight: 800; }.pl-process-detail p { margin-top: 12px; max-width: 510px; color: #58747c; font-size: 13px; line-height: 2.1; }.pl-process-note { display: inline-flex; gap: 10px; align-items: center; margin-top: 25px; padding: 9px 13px; color: #277c7e; background: #e4f3ef; border-radius: 6px; font-size: 10px; font-weight: 700; }.pl-process-note span { font-size: 16px; }.pl-process-graphic { position: relative; display: grid; place-items: center; height: 220px; }.pl-process-graphic > span { z-index: 1; display: grid; place-items: center; width: 104px; height: 104px; border: 1px solid #8dd2c8; border-radius: 19px; color: #0d6671; background: linear-gradient(145deg, #fafffd, #d9f4ee); box-shadow: 0 18px 30px rgba(30,132,135,.13); font-size: 47px; font-weight: 320; }.pl-process-rings i { position: absolute; inset: 50%; border: 1px solid rgba(41,164,159,.19); border-radius: 50%; transform: translate(-50%, -50%); }.pl-process-rings i:nth-child(1) { width: 156px; height: 156px; }.pl-process-rings i:nth-child(2) { width: 235px; height: 235px; }.pl-process-rings i:nth-child(3) { width: 315px; height: 315px; border-style: dashed; animation: pl-orbit 80s linear infinite; }.pl-process-cross { position: absolute; width: 9px; height: 9px; border: 2px solid #5bbeb5; transform: rotate(45deg); }.pl-cross-a { top: 37px; left: 56px; }.pl-cross-b { bottom: 29px; right: 63px; }

/* Feature bento */
.pl-features { background: #f5f8f8; }.pl-feature-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }.pl-feature-card { position: relative; min-height: 252px; display: flex; flex-direction: column; padding: 28px; overflow: hidden; border: 1px solid #dde7e9; border-radius: 13px; background: #fff; box-shadow: 0 4px 16px rgba(22,62,70,.025); transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease; }.pl-feature-card:hover { transform: translateY(-5px); border-color: #9bd3cd; box-shadow: 0 18px 40px rgba(15,75,85,.09); }.pl-feature-no { position: relative; z-index: 1; color: #208388; font-size: 10px; font-weight: 760; }.pl-feature-symbol { display: grid; place-items: center; width: 52px; height: 52px; margin-top: 26px; border: 1px solid #d5eae6; border-radius: 12px; color: #168d8c; background: #f0f9f7; font-size: 27px; font-weight: 300; }.pl-feature-card h3 { position: relative; z-index: 1; margin-top: auto; font-size: 16px; font-weight: 820; }.pl-feature-card p { position: relative; z-index: 1; margin-top: 9px; color: #607980; font-size: 11px; line-height: 1.95; }.pl-feature-large { grid-column: span 2; grid-row: span 2; min-height: 518px; padding: 36px; color: #eaf9f8; border-color: #154a56; background: radial-gradient(circle at 70% 36%, rgba(71,162,162,.24), transparent 43%), #0b3241; }.pl-feature-large .pl-feature-no { color: #83dcd1; }.pl-feature-large h3 { font-size: 25px; }.pl-feature-large p { max-width: 420px; color: #b4d0d2; font-size: 12px; }.pl-feature-art { position: relative; flex: 1; display: grid; place-items: center; }.pl-feature-art::before { content: ''; position: absolute; width: 260px; height: 260px; border: 1px solid rgba(150,224,214,.14); border-radius: 50%; box-shadow: 0 0 0 42px rgba(122,220,209,.035); }.pl-mini-file { position: relative; display: flex; flex-direction: column; gap: 15px; width: 215px; height: 215px; padding: 31px 28px; border: 1px solid rgba(168,230,224,.27); border-radius: 14px; background: linear-gradient(145deg, #164d57, #0c3544); box-shadow: 0 20px 39px rgba(0,16,24,.25); transform: rotate(-7deg); }.pl-mini-file span { margin-bottom: 6px; font-size: 16px; font-weight: 750; }.pl-mini-file i { display: block; width: 90%; height: 7px; border-radius: 10px; background: rgba(172,219,216,.2); }.pl-mini-file i:nth-of-type(2) { width: 68%; }.pl-mini-file i:nth-of-type(3) { width: 78%; }.pl-mini-stamp { position: absolute; left: 52px; bottom: 70px; padding: 10px 14px; border: 1px solid rgba(136,231,212,.38); border-radius: 7px; color: #abf0df; background: #174a52; font-size: 10px; transform: rotate(5deg); box-shadow: 0 10px 22px rgba(2,20,24,.25); }.pl-feature-accent { color: #f1fbf8; border-color: #145566; background: #124759; }.pl-feature-accent .pl-feature-no, .pl-feature-accent .pl-feature-symbol { color: #92e2d7; }.pl-feature-accent .pl-feature-symbol { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.17); }.pl-feature-accent p { color: #b8d4d5; }.pl-feature-wide { grid-column: span 2; min-height: 252px; background: #ecf5f4; }.pl-feature-wide-copy { display: grid; grid-template-columns: .8fr 1fr; gap: 25px; align-items: center; flex: 1; }.pl-feature-wide-copy h3 { margin-top: 17px; }.pl-feature-inbox { display: grid; gap: 8px; }.pl-feature-inbox span { display: flex; align-items: center; gap: 9px; padding: 10px 13px; border: 1px solid #d6e5e4; border-radius: 6px; color: #426770; background: rgba(255,255,255,.83); font-size: 9px; }.pl-feature-inbox i { width: 6px; height: 6px; border-radius: 50%; background: #4bc2b4; }

@keyframes pl-orbit { to { transform: rotate(360deg); } }
@keyframes pl-node-pulse { 50% { box-shadow: 0 0 0 10px rgba(69,205,188,.03); } }
@keyframes pl-float { 50% { transform: translateY(-8px); } }
@keyframes pl-bob { 50% { transform: translateY(4px); } }

/* Assistant: a restrained product demonstration */
.pl-ai { overflow: hidden; background: radial-gradient(circle at 85% 24%, rgba(19,92,104,.47), transparent 45%), #071d2b; color: #ecf8f7; }
.pl-ai-grid { opacity: .27; }.pl-ai-layout { position: relative; display: grid; grid-template-columns: .88fr 1.12fr; align-items: center; gap: 85px; }
.pl-ai-copy h2 { font-size: clamp(32px, 3.3vw, 50px); }.pl-ai-copy h2 span { color: #73dbcf; }.pl-ai-copy > p { margin-top: 19px; color: #aac7cb; font-size: 13px; line-height: 2.2; }.pl-ai-capabilities { display: grid; gap: 25px; margin-top: 42px; }.pl-ai-capabilities article { display: flex; align-items: flex-start; gap: 16px; }.pl-ai-cap-icon { flex: 0 0 auto; display: grid; place-items: center; width: 35px; height: 35px; border: 1px solid rgba(107,216,209,.28); border-radius: 9px; color: #7ce5d8; background: rgba(94,215,207,.1); font-size: 17px; }.pl-ai-capabilities h3 { font-size: 13px; font-weight: 790; }.pl-ai-capabilities p { margin-top: 4px; color: #87abb3; font-size: 11px; line-height: 1.85; }
.pl-ai-demo { position: relative; max-width: 625px; padding: 0 25px 23px; border: 1px solid rgba(130,207,211,.22); border-radius: 15px; background: rgba(10,42,57,.9); box-shadow: 0 30px 70px rgba(0,13,25,.26); }.pl-ai-demo::before { content: ''; position: absolute; inset: -25px; z-index: -1; border: 1px solid rgba(97,190,191,.08); border-radius: 30px; }.pl-ai-demo-top { display: flex; justify-content: space-between; align-items: center; min-height: 66px; border-bottom: 1px solid rgba(178,227,227,.13); color: #effafa; font-size: 12px; font-weight: 700; }.pl-ai-demo-top span:first-child { display: flex; gap: 9px; align-items: center; }.pl-ai-demo-top i { width: 7px; height: 7px; border-radius: 50%; background: #68dece; box-shadow: 0 0 0 5px rgba(104,222,206,.1); }.pl-ai-demo-top span:last-child { color: #749fab; font-size: 9px; font-weight: 400; }.pl-ai-question { width: 84%; margin: 26px 0 20px auto; padding: 17px 20px; border: 1px solid rgba(136,204,208,.17); border-radius: 11px 11px 3px 11px; background: #174353; }.pl-ai-question small { color: #8db8bd; font-size: 9px; }.pl-ai-question p { margin-top: 7px; color: #ebf8f6; font-size: 12px; line-height: 2; }.pl-ai-response { width: 91%; padding: 23px; border: 1px solid rgba(110,214,204,.22); border-radius: 11px 11px 11px 3px; background: linear-gradient(145deg, #164c57, #103b4c); }.pl-ai-response-head { display: flex; align-items: center; gap: 10px; font-size: 12px; }.pl-ai-sparkle { display: grid; place-items: center; width: 25px; height: 25px; border: 1px solid rgba(153,237,221,.3); border-radius: 7px; color: #84e4d3; }.pl-ai-response ul { display: grid; gap: 10px; margin: 18px 0 0; padding: 0; list-style: none; }.pl-ai-response li { display: flex; align-items: center; gap: 9px; color: #d4e9e7; font-size: 10px; }.pl-ai-response li span { display: grid; place-items: center; width: 16px; height: 16px; border-radius: 50%; color: #0d3d42; background: #74dcca; font-size: 10px; }.pl-ai-response > p { margin-top: 20px; padding-top: 14px; border-top: 1px solid rgba(163,224,218,.14); color: #a1c6c7; font-size: 9px; line-height: 1.8; }.pl-ai-demo-foot { display: flex; align-items: center; gap: 9px; margin-top: 19px; color: #729ba5; font-size: 9px; }.pl-ai-typing { display: flex; align-items: center; gap: 3px; }.pl-ai-typing i { width: 4px; height: 4px; border-radius: 50%; background: #73dbcf; animation: pl-typing 1.5s infinite; }.pl-ai-typing i:nth-child(2) { animation-delay: .2s; }.pl-ai-typing i:nth-child(3) { animation-delay: .4s; }

/* Executive preview wrapper */
.pl-dashboard { background: #fff; }.pl-dashboard-frame { margin-top: 56px; border-radius: 18px; background: #0c2b3a; box-shadow: 0 34px 65px rgba(15,57,72,.14); }.pl-dashboard-caption { margin-top: 17px !important; color: #82959c; text-align: center; font-size: 10px; }

/* Interactive role selector */
.pl-roles { background: #f4f8f8; }.pl-roles-panel { display: grid; grid-template-columns: 250px 1fr; min-height: 430px; overflow: hidden; border: 1px solid #d8e6e8; border-radius: 16px; background: #fff; box-shadow: 0 22px 55px rgba(22,73,86,.06); }.pl-role-tabs { display: grid; align-content: start; padding: 19px; border-left: 1px solid #e6eeee; background: #f9fbfa; }.pl-role-tabs button { display: flex; align-items: center; gap: 12px; min-height: 51px; padding: 0 13px; border: 1px solid transparent; border-radius: 8px; color: #5b737b; background: transparent; text-align: right; font-size: 11px; font-weight: 700; transition: color .2s, background .2s, border-color .2s; }.pl-role-tabs button:hover { color: #0d7180; background: #ecf5f5; }.pl-role-tabs button.is-active { color: #0a5965; background: #e7f5f2; border-color: #d1e9e4; }.pl-role-tabs button span { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 6px; color: #74b5b2; font-size: 18px; font-weight: 400; }.pl-role-tabs button.is-active span { color: #048e8c; }.pl-role-preview { position: relative; padding: 42px 54px; background: radial-gradient(circle at 88% 10%, rgba(169,226,218,.2), transparent 40%), #fff; }.pl-role-preview-header { display: flex; justify-content: space-between; align-items: center; }.pl-role-preview-badge { padding: 6px 10px; border: 1px solid #cfe8e2; border-radius: 20px; color: #087b79; background: #eef9f6; font-size: 10px; }.pl-role-preview h3 { margin-top: 28px; font-size: 28px; font-weight: 810; }.pl-role-preview > p { max-width: 550px; margin-top: 9px; color: #5a757e; font-size: 12px; line-height: 2.1; }.pl-role-preview-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 11px; max-width: 650px; margin-top: 30px; }.pl-role-preview-grid div { display: flex; align-items: center; gap: 12px; padding: 14px; border: 1px solid #dce9e9; border-radius: 8px; color: #234752; background: #f9fbfb; font-size: 11px; font-weight: 700; }.pl-role-preview-grid span { color: #35aa9f; font-size: 16px; }.pl-role-preview-foot { display: flex; gap: 10px; align-items: center; margin-top: 29px; padding-top: 23px; border-top: 1px solid #e4eeee; }.pl-role-avatar { display: grid; place-items: center; width: 35px; height: 35px; border: 1px solid #cbe2df; border-radius: 9px; color: #278c86; background: #eaf6f3; font-size: 19px; }.pl-role-preview-foot > div { display: grid; gap: 3px; }.pl-role-preview-foot strong { color: #2b5660; font-size: 10px; }.pl-role-preview-foot small { color: #8ba1a7; font-size: 9px; }

/* Permission path */
.pl-security { background: #fff; }.pl-security-layout { display: grid; grid-template-columns: .86fr 1.14fr; align-items: center; gap: 80px; }.pl-security-copy > p { margin-top: 18px; color: #627b82; font-size: 13px; line-height: 2.15; }.pl-check-list { display: grid; gap: 12px; margin: 28px 0 0; padding: 0; list-style: none; }.pl-check-list li { display: flex; align-items: center; gap: 11px; color: #2d5661; font-size: 12px; }.pl-check-list li::before { content: '✓'; display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; color: #087c77; background: #e4f5ef; font-size: 11px; font-weight: 800; }.pl-security-visual { min-height: 410px; display: grid; align-content: center; gap: 26px; padding: 40px; overflow: hidden; border: 1px solid #cfe3e4; border-radius: 16px; background: radial-gradient(circle at 15% 80%, rgba(108,209,203,.18), transparent 39%), #f6faf9; }.pl-security-path { display: flex; justify-content: space-between; align-items: center; gap: 4px; }.pl-security-path > div { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 113px; height: 126px; border: 1px solid #d2e6e6; border-radius: 12px; background: #fff; box-shadow: 0 13px 30px rgba(28,93,103,.08); text-align: center; }.pl-security-path > div:nth-of-type(3) { border-color: #9cdbd1; box-shadow: 0 15px 36px rgba(24,132,123,.14); }.pl-security-path small { color: #5eb4ac; font-size: 10px; }.pl-security-path strong { margin-top: 11px; color: #104c59; font-size: 18px; }.pl-security-path span { margin-top: 3px; color: #77919a; font-size: 9px; }.pl-security-path > i { width: 24px; height: 1px; flex: 0 0 24px; background: linear-gradient(90deg, #73c6bf, #b6d4d3); }.pl-security-caption { display: flex; justify-content: center; align-items: center; gap: 9px; color: #597a83; font-size: 10px; }.pl-security-pulse { width: 6px; height: 6px; border-radius: 50%; background: #40b8ac; box-shadow: 0 0 0 5px rgba(64,184,172,.1); animation: pl-node-pulse 3s infinite; }

/* Records flowing into reports */
.pl-reporting { background: #f4f8f8; }.pl-reporting-layout { display: grid; grid-template-columns: 1.15fr .85fr; align-items: center; gap: 80px; }.pl-reporting-visual { min-height: 360px; display: flex; align-items: center; justify-content: center; gap: 15px; overflow: hidden; padding: 32px; border: 1px solid #dce9e9; border-radius: 16px; background: radial-gradient(circle at center, #e5f4f1, #f9fbfb 70%); }.pl-report-doc, .pl-report-insight { width: 130px; height: 168px; display: flex; flex-direction: column; align-items: flex-start; padding: 20px; border: 1px solid #cee2e0; border-radius: 9px; background: #fff; box-shadow: 0 16px 32px rgba(34,101,108,.1); }.pl-report-doc-icon { color: #26988f; font-size: 24px; line-height: 1; }.pl-report-doc strong { margin: 10px 0 17px; font-size: 10px; white-space: nowrap; }.pl-report-doc i { width: 90%; height: 5px; margin-top: 7px; border-radius: 5px; background: #dce9e8; }.pl-report-doc i:last-child { width: 60%; }.pl-report-arrow { color: #46aaa1; font-size: 28px; font-weight: 300; }.pl-report-transform { display: grid; place-items: center; gap: 17px; color: #287e7c; font-size: 10px; font-weight: 700; text-align: center; white-space: nowrap; }.pl-report-transform div { display: flex; align-items: center; gap: 6px; }.pl-report-transform i { width: 7px; height: 7px; border-radius: 50%; background: #58c1b4; box-shadow: 0 0 0 5px rgba(75,192,177,.12); }.pl-report-transform i:nth-child(2) { opacity: .65; }.pl-report-transform i:nth-child(3) { opacity: .35; }.pl-report-insight { border-color: #badbd5; }.pl-report-insight small { color: #6b9b99; font-size: 9px; }.pl-report-insight strong { margin-top: auto; font-size: 12px; }.pl-report-bars { width: 100%; height: 65px; display: flex; align-items: flex-end; gap: 7px; padding-bottom: 5px; border-bottom: 1px solid #d6e5e3; }.pl-report-bars i { width: 17px; border-radius: 3px 3px 0 0; background: #53c3b6; }.pl-report-bars i:nth-child(1) { height: 21px; }.pl-report-bars i:nth-child(2) { height: 42px; background: #2a91a0; }.pl-report-bars i:nth-child(3) { height: 30px; }.pl-report-bars i:nth-child(4) { height: 54px; background: #1d7588; }.pl-reporting-copy > p { margin-top: 18px; color: #5f7981; font-size: 13px; line-height: 2.2; }.pl-report-tags { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 24px; }.pl-report-tags span { padding: 7px 11px; border: 1px solid #d8e7e6; border-radius: 6px; color: #34727a; background: #fff; font-size: 10px; font-weight: 670; }

/* Enterprise architecture without implied external integrations */
.pl-enterprise { background: #fff; }.pl-enterprise-layout { display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: 85px; margin-top: 64px; }.pl-enterprise-map { position: relative; height: 420px; display: grid; place-items: center; border: 1px solid #e0ecec; border-radius: 17px; background: radial-gradient(circle at center, #ebf8f4, #f8fbfb 60%); }.pl-enterprise-halo { position: absolute; width: 270px; height: 270px; border: 1px dashed #a8d8d1; border-radius: 50%; box-shadow: 0 0 0 55px rgba(108,196,191,.055); animation: pl-orbit 90s linear infinite; }.pl-enterprise-center { position: relative; z-index: 2; width: 145px; height: 145px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; border: 1px solid #80c7c1; border-radius: 20px; background: #fff; box-shadow: 0 20px 40px rgba(28,112,118,.17); }.pl-enterprise-center .pl-brand-mark { transform: scale(.8) skewY(-5deg); }.pl-enterprise-center strong { color: #164c58; font-size: 12px; }.pl-enterprise-center small { color: #739299; font-size: 9px; }.pl-enterprise-node { position: absolute; z-index: 1; display: grid; place-items: center; min-width: 116px; height: 35px; padding: 0 12px; border: 1px solid #cee4df; border-radius: 6px; color: #35747a; background: #fff; box-shadow: 0 9px 20px rgba(24,91,94,.06); font-size: 10px; font-weight: 710; }.pl-node-one { top: 47px; right: 46%; }.pl-node-two { top: 47%; right: 16px; }.pl-node-three { bottom: 38px; right: 41%; }.pl-node-four { top: 47%; left: 24px; }.pl-enterprise-points { display: grid; gap: 25px; }.pl-enterprise-points article { display: flex; gap: 20px; padding-bottom: 25px; border-bottom: 1px solid #e3ecec; }.pl-enterprise-points article:last-child { border: 0; }.pl-enterprise-points span { color: #2ba99e; font-size: 13px; font-weight: 700; }.pl-enterprise-points h3 { font-size: 16px; }.pl-enterprise-points p { margin-top: 7px; color: #6b8188; font-size: 11px; line-height: 2; }

/* Benefits and comparison */
.pl-benefits { background: #f5f8f8; }.pl-benefit-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1px; border: 1px solid #dce7e8; border-radius: 15px; overflow: hidden; background: #dce7e8; }.pl-benefit-grid article { min-height: 221px; padding: 31px; background: #fff; transition: background .25s; }.pl-benefit-grid article:hover { background: #f0f9f7; }.pl-benefit-grid span { color: #41a69f; font-size: 11px; font-weight: 720; }.pl-benefit-grid h3 { margin-top: 32px; font-size: 18px; }.pl-benefit-grid p { margin-top: 8px; color: #627a83; font-size: 11px; line-height: 2; }
.pl-comparison { background: #fff; }.pl-compare-control { display: flex; width: fit-content; gap: 4px; margin: 43px auto 26px; padding: 5px; border: 1px solid #d8e6e6; border-radius: 9px; background: #f2f7f6; }.pl-compare-control button { min-width: 161px; padding: 10px 18px; border: 0; border-radius: 6px; color: #597780; background: transparent; font-size: 11px; font-weight: 730; transition: color .25s, background .25s, box-shadow .25s; }.pl-compare-control button.is-active { color: #0b4f5b; background: #fff; box-shadow: 0 3px 10px rgba(21,79,86,.09); }.pl-compare-stage { display: grid; grid-template-columns: 1fr .85fr; min-height: 385px; overflow: hidden; border: 1px solid #d8e6e6; border-radius: 16px; background: #f7f9f9; transition: background .4s, border-color .4s; }.pl-compare-stage.is-after { border-color: #b9ded7; background: #eef7f4; }.pl-compare-list { padding: 51px 55px; }.pl-compare-label { color: #548287; font-size: 11px; font-weight: 770; }.pl-compare-stage.is-after .pl-compare-label { color: #218b82; }.pl-compare-list h3 { margin-top: 12px; font-size: 25px; }.pl-compare-items { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 13px; margin-top: 28px; }.pl-compare-items div { display: flex; align-items: center; gap: 10px; color: #52717a; font-size: 11px; }.pl-compare-items span { display: grid; place-items: center; width: 21px; height: 21px; border-radius: 5px; color: #79969c; background: #e5ecec; font-size: 12px; }.is-after .pl-compare-items span { color: #168b80; background: #d4ece5; }.pl-compare-scene { position: relative; display: grid; place-items: center; overflow: hidden; border-right: 1px solid rgba(148,188,190,.17); }.pl-compare-orbit { position: absolute; width: 250px; height: 250px; border: 1px dashed #bed2d4; border-radius: 50%; transition: border-color .4s; }.pl-compare-orbit i { position: absolute; width: 27px; height: 27px; border-radius: 7px; background: #b8cdd1; box-shadow: 0 4px 12px rgba(24,72,82,.12); transition: transform .65s ease, background .65s ease; }.pl-compare-orbit i:nth-child(1) { top: -13px; left: calc(50% - 13px); }.pl-compare-orbit i:nth-child(2) { right: -13px; top: calc(50% - 13px); }.pl-compare-orbit i:nth-child(3) { bottom: -13px; left: calc(50% - 13px); }.pl-compare-orbit i:nth-child(4) { left: -13px; top: calc(50% - 13px); }.is-before .pl-compare-orbit i:nth-child(1) { transform: translate(27px,-24px); }.is-before .pl-compare-orbit i:nth-child(2) { transform: translate(26px,16px); }.is-before .pl-compare-orbit i:nth-child(3) { transform: translate(-15px,29px); }.is-before .pl-compare-orbit i:nth-child(4) { transform: translate(-27px,-17px); }.is-after .pl-compare-orbit { border-color: #78cbbd; }.is-after .pl-compare-orbit i { background: #5bc8b9; }.pl-compare-core { position: relative; z-index: 1; display: grid; place-items: center; width: 126px; height: 126px; border: 1px solid #cedfe0; border-radius: 50%; color: #6c8a91; background: #fff; box-shadow: 0 18px 35px rgba(31,85,92,.08); font-size: 16px; font-weight: 780; transition: color .4s, border-color .4s, box-shadow .4s; }.is-after .pl-compare-core { border-color: #8bd4c7; color: #167a7a; box-shadow: 0 0 0 13px rgba(93,199,183,.13), 0 18px 35px rgba(31,85,92,.08); }

/* Closing statement, demo and footer */
.pl-why { padding: 110px 0 95px; color: #eff9f8; background: radial-gradient(circle at 95% 0, rgba(38,122,129,.38), transparent 35%), #0a2a3a; }.pl-why-inner { text-align: center; }.pl-why .pl-kicker { justify-content: center; }.pl-why h2 { max-width: 1090px; margin-inline: auto; font-size: clamp(27px, 2.65vw, 41px); }.pl-why h2 span { color: #7ddacf; }.pl-why-pillars { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; max-width: 900px; margin: 60px auto 0; background: rgba(172,225,224,.22); }.pl-why-pillars > div { display: grid; gap: 7px; justify-items: center; padding: 15px 28px; background: #0a2a3a; }.pl-why-pillars span { color: #78b6bd; font-size: 10px; letter-spacing: .18em; }.pl-why-pillars strong { color: #f0fbf8; font-size: 21px; }.pl-why-pillars p { color: #a3c2c7; font-size: 10px; }
.pl-demo { position: relative; overflow: hidden; padding: 115px 0 108px; color: #ecfbf8; background: #0b3846; }.pl-demo-glow { position: absolute; left: -10%; top: -80%; width: 850px; height: 850px; border: 1px solid rgba(146,225,215,.14); border-radius: 50%; box-shadow: 0 0 0 100px rgba(103,207,190,.028), 0 0 0 210px rgba(103,207,190,.018), inset 0 0 130px rgba(79,173,167,.13); }.pl-demo-inner { position: relative; }.pl-demo h2 { font-size: clamp(34px, 3.35vw, 51px); }.pl-demo p { max-width: 680px; margin-top: 20px; color: #b4d4d5; font-size: 13px; line-height: 2.15; }.pl-demo-actions { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 35px; }.pl-demo-message { max-width: 590px; display: flex; align-items: center; flex-wrap: wrap; gap: 9px 17px; margin-top: 19px; padding: 14px 18px; border: 1px solid rgba(146,224,214,.32); border-radius: 9px; color: #e8faf6; background: rgba(4,34,44,.64); }.pl-demo-message strong { font-size: 11px; }.pl-demo-message p { flex-basis: 100%; margin: 0; font-size: 10px; }.pl-demo-message button { padding: 4px 0; border: 0; color: #8ee4d7; background: transparent; font-size: 10px; }
.pl-footer { color: #dcebea; background: #061b29; }.pl-footer-main { display: grid; grid-template-columns: 1.3fr .8fr 1fr; gap: 75px; padding: 73px 0 66px; }.pl-footer-brand { max-width: 320px; }.pl-footer-brand .pl-brand-mark { margin-bottom: 15px; }.pl-footer-brand > strong { display: block; width: fit-content; font-size: 24px; letter-spacing: .015em; }.pl-footer-brand p { margin-top: 8px; color: #90afb5; font-size: 11px; }.pl-footer h3 { margin: 5px 0 20px; color: #f2f8f7; font-size: 13px; }.pl-footer-nav { display: grid; align-content: start; gap: 10px; }.pl-footer-nav h3 { margin-bottom: 9px; }.pl-footer-nav a { width: fit-content; color: #91adb4; font-size: 11px; transition: color .2s; }.pl-footer-nav a:hover { color: #7be0d3; }.pl-footer-contact > p { max-width: 350px; color: #91adb4; font-size: 11px; line-height: 2; }.pl-footer-contact > div { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 15px; }.pl-footer-contact span { padding: 6px 10px; border: 1px solid rgba(163,211,211,.13); border-radius: 5px; color: #77989f; font-size: 9px; }.pl-footer-bottom { min-height: 65px; display: flex; justify-content: space-between; align-items: center; gap: 15px; border-top: 1px solid rgba(156,205,207,.11); color: #6d929c; font-size: 10px; }.pl-footer-bottom a { color: #a8cacb; }.pl-footer-bottom a span { color: #6ed9ce; }
@keyframes pl-typing { 50% { opacity: .25; transform: translateY(-3px); } }

/* Responsive composition */
@media (max-width: 1200px) {
    .pl-shell { width: min(100% - 70px, 1336px); }
    .pl-header-inner { gap: 23px; }
    .pl-nav { gap: 14px; }
    .pl-nav a, .pl-header-login { font-size: 10px !important; }
    .pl-brand-copy small { display: none; }
    .pl-hero-inner { gap: 22px; }
    .pl-hero h1 { font-size: clamp(40px, 4.2vw, 58px); }
    .pl-float-tag-top { right: -8px; }.pl-float-tag-bottom { left: -8px; }
    .pl-ai-layout, .pl-security-layout, .pl-reporting-layout, .pl-enterprise-layout { gap: 52px; }
    .pl-process-step { min-width: 112px; }
}
@media (max-width: 960px) {
    .pl-shell { width: min(100% - 48px, 1336px); }
    .pl-header { height: 70px; }.pl-header.is-scrolled { height: 65px; }
    .pl-header-inner { justify-content: space-between; }
    .pl-nav { position: absolute; inset: 100% 0 auto; display: none; padding: 12px 24px 22px; border-top: 1px solid rgba(214,241,240,.1); background: rgba(7,27,42,.98); box-shadow: 0 21px 30px rgba(4,24,32,.3); }
    .pl-nav.is-open { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 0 18px; }
    .pl-nav a { padding: 11px 0; font-size: 12px !important; }.pl-nav a::after { bottom: 5px; }
    .pl-header-actions { margin-right: auto; }.pl-menu-toggle { display: block; }
    .pl-hero { padding-top: 70px; }.pl-hero-inner { min-height: auto; grid-template-columns: 1fr; gap: 25px; padding-top: 96px; padding-bottom: 65px; }
    .pl-hero-copy { max-width: 690px; }.pl-hero h1 { font-size: clamp(43px, 6vw, 67px); }
    .pl-hero-visual { min-height: 520px; max-width: 680px; margin-inline: auto; width: 100%; }
    .pl-problem-layout { grid-template-columns: 1fr; }.pl-problem-answer { min-height: 325px; }
    .pl-feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.pl-feature-large { min-height: 410px; grid-row: span 1; }.pl-feature-art { min-height: 240px; }.pl-feature-card { min-height: 235px; }.pl-feature-wide { min-height: 235px; }
    .pl-ai-layout, .pl-security-layout, .pl-reporting-layout, .pl-enterprise-layout { grid-template-columns: 1fr; gap: 45px; }
    .pl-ai-demo { width: min(100%, 700px); margin-inline: auto; }.pl-ai-capabilities { grid-template-columns: repeat(3, minmax(0,1fr)); gap: 15px; }.pl-ai-capabilities article { display: block; }.pl-ai-capabilities h3 { margin-top: 10px; }
    .pl-security-visual { min-height: 300px; }.pl-reporting-visual { order: 2; }.pl-reporting-copy { order: 1; }.pl-enterprise-map { max-width: 700px; width: 100%; margin-inline: auto; }.pl-enterprise-points { grid-template-columns: repeat(3, minmax(0,1fr)); gap: 20px; }.pl-enterprise-points article { display: block; border: 0; }.pl-enterprise-points h3 { margin-top: 10px; }
    .pl-footer-main { gap: 36px; }
}
@media (max-width: 700px) {
    .pl-section { padding: 80px 0; }.pl-section h2 { font-size: clamp(29px, 7vw, 40px); }.pl-section-top { display: block; margin-bottom: 30px; }.pl-section-top > p { margin-top: 13px; }
    .pl-hero-inner { padding-top: 73px; }.pl-hero h1 { font-size: clamp(37px, 7.8vw, 52px); white-space: normal; }.pl-hero-subtitle { font-size: 18px; }.pl-hero-description { font-size: 12px; }
    .pl-hero-visual { min-height: 490px; }.pl-orbit { width: 440px; height: 440px; }.pl-orbit-two { width: 340px; height: 340px; }.pl-flow-window { width: min(100%, 510px); }.pl-float-tag { display: none; }
    .pl-process-detail { grid-template-columns: 1fr; padding: 34px 28px; }.pl-process-graphic { display: none; }.pl-process-rail { grid-template-columns: repeat(8, 112px); }.pl-process-step { min-height: 92px; }
    .pl-roles-panel { grid-template-columns: 1fr; }.pl-role-tabs { display: flex; overflow-x: auto; gap: 5px; padding: 12px; border-left: 0; border-bottom: 1px solid #e6eeee; }.pl-role-tabs button { white-space: nowrap; flex: 0 0 auto; }.pl-role-preview { padding: 32px; }
    .pl-ai-capabilities { grid-template-columns: 1fr; }.pl-ai-capabilities article { display: flex; }.pl-ai-capabilities h3 { margin-top: 0; }
    .pl-benefit-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }.pl-compare-stage { grid-template-columns: 1fr; }.pl-compare-scene { min-height: 275px; border-right: 0; border-top: 1px solid rgba(148,188,190,.17); }
    .pl-why-pillars { gap: 0; }.pl-why-pillars > div { padding-inline: 8px; }.pl-why-pillars strong { font-size: 17px; }.pl-why-pillars p { font-size: 9px; }
    .pl-footer-main { grid-template-columns: 1fr 1fr; gap: 40px 25px; }.pl-footer-brand { grid-column: span 2; }.pl-footer-bottom { flex-wrap: wrap; justify-content: flex-start; gap: 5px 25px; padding: 16px 0; }
}
@media (max-width: 520px) {
    .pl-shell { width: min(100% - 34px, 1336px); }.pl-header-actions .pl-header-login { display: none; }.pl-header-actions { gap: 4px; }.pl-header-actions .pl-button { padding-inline: 12px; min-height: 37px; font-size: 10px !important; }.pl-brand-mark { width: 36px; height: 36px; }.pl-brand-copy strong { font-size: 14px; }
    .pl-hero-inner { padding-top: 69px; padding-bottom: 42px; }.pl-eyebrow { white-space: normal; font-size: 9px; }.pl-hero h1 { margin-top: 25px; font-size: clamp(34px, 8.4vw, 45px); }.pl-hero-subtitle { margin-top: 15px !important; font-size: 15px; }.pl-hero-actions { gap: 8px; margin-top: 27px; }.pl-hero-actions .pl-button { flex: 1 1 auto; min-height: 49px; gap: 9px; padding-inline: 12px; font-size: 11px !important; }.pl-hero-pillars { gap: 9px; margin-top: 27px; font-size: 9px; }
    .pl-hero-visual { min-height: 420px; }.pl-flow-window { border-radius: 11px; }.pl-window-top { height: 37px; padding-inline: 13px; font-size: 9px; }.pl-window-code { font-size: 7px; }.pl-window-heading { padding: 16px 16px 11px; }.pl-window-heading strong { font-size: 15px; }.pl-flow-list { padding: 0 16px 5px; }.pl-flow-row { grid-template-columns: 29px 1fr auto; gap: 8px; min-height: 62px; }.pl-flow-node { width: 29px; height: 29px; font-size: 8px; }.pl-flow-row::before { top: 48px; right: 14px; height: 34px; }.pl-flow-row strong { font-size: 10px; }.pl-flow-row small, .pl-flow-state { font-size: 8px; }.pl-window-foot { padding: 10px 14px; }.pl-hero-bottom { min-height: 53px; gap: 10px; font-size: 9px; }.pl-hero-bottom > span { max-width: 230px; }.pl-hero-bottom a span:first-child { display: none; }
    .pl-section-heading p, .pl-section-top > p { font-size: 12px; }.pl-problem-layout { margin-top: 35px; }.pl-problem-item { grid-template-columns: 34px 1fr; gap: 8px; min-height: 111px; padding: 18px; }.pl-problem-dash { display: none; }.pl-problem-num { font-size: 16px; }.pl-problem-item h3 { font-size: 12px; }.pl-problem-item p { font-size: 10px; }.pl-problem-answer { min-height: 320px; padding: 30px; }.pl-answer-core strong { font-size: 21px; }
    .pl-feature-grid { grid-template-columns: 1fr; }.pl-feature-large, .pl-feature-wide { grid-column: span 1; }.pl-feature-card { min-height: 202px; padding: 23px; }.pl-feature-large { min-height: 430px; }.pl-feature-symbol { margin-top: 18px; }.pl-feature-wide-copy { grid-template-columns: 1fr; gap: 13px; }.pl-feature-inbox { display: none; }
    .pl-ai-demo { padding-inline: 14px; }.pl-ai-demo-top { font-size: 10px; }.pl-ai-question, .pl-ai-response { width: 100%; }.pl-ai-question { padding: 14px; }.pl-ai-response { padding: 17px; }.pl-ai-question p { font-size: 10px; }
    .pl-role-preview { padding: 25px 20px; }.pl-role-preview h3 { font-size: 22px; }.pl-role-preview-grid { gap: 7px; }.pl-role-preview-grid div { padding: 9px; font-size: 9px; }
    .pl-security-visual { min-height: 300px; padding: 22px 13px; }.pl-security-path > div { width: 69px; height: 90px; border-radius: 8px; }.pl-security-path strong { margin-top: 5px; font-size: 13px; }.pl-security-path span { font-size: 7px; }.pl-security-path > i { width: 10px; flex-basis: 10px; }.pl-security-caption { font-size: 9px; }
    .pl-reporting-visual { min-height: 250px; gap: 5px; padding: 17px 8px; }.pl-report-doc, .pl-report-insight { width: 100px; height: 138px; padding: 13px; }.pl-report-doc strong { font-size: 8px; }.pl-report-arrow { font-size: 18px; }.pl-report-transform { font-size: 8px; white-space: normal; }.pl-report-transform div { gap: 3px; }.pl-report-transform i { width: 4px; height: 4px; }.pl-report-insight strong { font-size: 10px; }
    .pl-enterprise-map { height: 330px; }.pl-enterprise-halo { width: 205px; height: 205px; }.pl-enterprise-center { width: 122px; height: 122px; }.pl-enterprise-node { min-width: 83px; height: 29px; padding-inline: 7px; font-size: 8px; }.pl-node-one { top: 25px; right: 38%; }.pl-node-two { right: 7px; }.pl-node-three { bottom: 25px; right: 35%; }.pl-node-four { left: 7px; }.pl-enterprise-points { grid-template-columns: 1fr; gap: 12px; }.pl-enterprise-points article { display: flex; gap: 14px; padding-bottom: 15px; border-bottom: 1px solid #e3ecec; }.pl-enterprise-points h3 { margin-top: 0; }
    .pl-benefit-grid { grid-template-columns: 1fr; }.pl-benefit-grid article { min-height: 155px; padding: 24px; }.pl-benefit-grid h3 { margin-top: 20px; }.pl-compare-control { width: 100%; }.pl-compare-control button { min-width: 0; flex: 1; padding-inline: 6px; font-size: 10px; }.pl-compare-list { padding: 28px 20px; }.pl-compare-list h3 { font-size: 20px; }.pl-compare-items { grid-template-columns: 1fr; gap: 12px; }.pl-compare-scene { min-height: 250px; }
    .pl-why { padding: 83px 0; }.pl-why h2 { font-size: 27px; }.pl-why-pillars { grid-template-columns: 1fr; gap: 0; margin-top: 35px; }.pl-why-pillars > div { padding: 15px; }.pl-demo { padding: 86px 0; }.pl-demo h2 { font-size: 31px; }.pl-demo p { font-size: 12px; }.pl-demo-actions { display: grid; }.pl-footer-main { padding: 58px 0 42px; }.pl-footer-contact > div { max-width: 230px; }
}

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

.pl-hero h1:focus { outline: none; }
.pl-process-rings i { top: 50%; right: auto; bottom: auto; left: 50%; }
.pl-process-rings i:nth-child(3) { animation: pl-process-ring 80s linear infinite; }
@keyframes pl-process-ring { to { transform: translate(-50%, -50%) rotate(360deg); } }
.pl-process-mobile-hint { display: none; }
@media (max-width: 700px) {
    .pl-process-rail { scrollbar-width: none; }
    .pl-process-rail::-webkit-scrollbar { display: none; }
    .pl-process-mobile-hint { display: block; padding: 9px 16px 0; color: #6e9a9d; background: #f8fbfa; font-size: 9px; }
}
@media (prefers-reduced-motion: reduce) { html:has(.pp-landing) { scroll-behavior: auto; } }

/* Refined public story: one visual language across the shorter journey. */
.pl-hero-network {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: .24;
    overflow: visible;
    pointer-events: none;
    mask-image: linear-gradient(90deg, #000 2%, #000 64%, transparent 100%);
}
.pl-hero-network path {
    fill: none;
    stroke: #72c9cc;
    stroke-width: 1;
    stroke-dasharray: 3 12;
    animation: pl-network-flow 54s linear infinite;
}
.pl-hero-network path:nth-child(2) { stroke: #53afa8; animation-duration: 67s; animation-direction: reverse; }
.pl-hero-network path:nth-child(3) { stroke: #a5cbd1; animation-duration: 78s; }
.pl-hero-network circle { fill: #74d7ca; filter: drop-shadow(0 0 5px rgba(103, 223, 209, .7)); }
@keyframes pl-network-flow { to { stroke-dashoffset: -300; } }

.pl-hero-visual { min-height: 590px; }
.pl-flow-window { width: min(100%, 560px); }
.pl-window-heading { padding-top: 17px; padding-bottom: 15px; }
.pl-flow-list { padding: 0 17px 10px; }
.pl-flow-row {
    --stage-delay: 0s;
    min-height: 53px;
    gap: 11px;
    padding-inline: 7px;
    border-radius: 8px;
    animation: pl-stage-focus 21s ease-in-out var(--stage-delay) infinite;
}
.pl-flow-row:nth-child(2) { --stage-delay: 3s; }
.pl-flow-row:nth-child(3) { --stage-delay: 6s; }
.pl-flow-row:nth-child(4) { --stage-delay: 9s; }
.pl-flow-row:nth-child(5) { --stage-delay: 12s; }
.pl-flow-row:nth-child(6) { --stage-delay: 15s; }
.pl-flow-row:nth-child(7) { --stage-delay: 18s; }
.pl-flow-row::before { top: 42px; right: 23px; height: 22px; }
.pl-flow-node {
    width: 31px;
    height: 31px;
    border-radius: 9px;
    animation: pl-stage-node 21s ease-in-out var(--stage-delay) infinite;
}
.pl-flow-row strong { font-size: 11px; }
.pl-flow-row small, .pl-flow-state { font-size: 8px; }
.pl-flow-state { text-align: left; }
.pl-window-foot { padding-top: 11px; padding-bottom: 11px; }
@keyframes pl-stage-focus {
    0%, 9% { background: rgba(89, 204, 190, .13); box-shadow: inset 2px 0 #6bdccc; }
    14%, 100% { background: transparent; box-shadow: inset 2px 0 transparent; }
}
@keyframes pl-stage-node {
    0%, 9% { color: #092f3c; border-color: #78e1d5; background: #78e1d5; box-shadow: 0 0 0 5px rgba(100, 224, 211, .10); }
    14%, 100% { color: #86a5ae; border-color: #416372; background: #193948; box-shadow: 0 0 0 0 transparent; }
}

/* Nine-stage procurement journey. The case view carries the active step's data. */
.pl-process-rail {
    grid-template-columns: repeat(9, minmax(118px, 1fr));
    scroll-snap-type: x proximity;
    overscroll-behavior-inline: contain;
}
.pl-process-step { min-width: 0; scroll-snap-align: center; }
.pl-process-detail {
    min-height: 390px;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
    gap: 45px;
    padding: 42px clamp(30px, 5vw, 70px);
}
.pl-process-detail-copy { min-width: 0; }
.pl-process-detail h3 { font-size: clamp(24px, 2.5vw, 32px); }
.pl-process-facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
    margin-top: 28px;
}
.pl-process-facts > div {
    display: grid;
    align-content: center;
    gap: 7px;
    min-height: 83px;
    padding: 13px 14px;
    border: 1px solid #dce9e7;
    border-radius: 9px;
    background: rgba(255, 255, 255, .86);
}
.pl-process-facts small { color: #6b8c91; font-size: 9px; }
.pl-process-facts strong { color: #155765; font-size: 11px; font-weight: 790; line-height: 1.65; }
.pl-process-graphic { min-height: 300px; height: auto; }
.pl-process-case {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 13px;
    width: min(100%, 330px);
    padding: 24px;
    border: 1px solid rgba(147, 224, 211, .4);
    border-radius: 14px;
    color: #eaf9f7;
    background: linear-gradient(145deg, #103f4d, #092d3d);
    box-shadow: 0 24px 52px rgba(9, 62, 72, .22), inset 0 1px rgba(255, 255, 255, .07);
}
.pl-process-case::before {
    position: absolute;
    content: '';
    top: -1px;
    right: 22px;
    width: 68px;
    height: 2px;
    background: #74dfcf;
    box-shadow: 0 0 13px rgba(116, 223, 207, .6);
}
.pl-process-case .pl-overline { color: #8cdbcf; font-size: 9px; letter-spacing: 0; }
.pl-process-case .pl-overline bdi { color: #b8d5d9; font-weight: 550; }
.pl-process-case > strong { font-size: 16px; line-height: 1.8; }
.pl-process-case > div {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 14px;
    padding-top: 10px;
    border-top: 1px solid rgba(179, 228, 224, .14);
    font-size: 10px;
}
.pl-process-case > div span { color: #95b8bd; }
.pl-process-case > div b { max-width: 65%; color: #e6f8f5; font-size: 10px; font-weight: 720; text-align: left; line-height: 1.7; }
.pl-process-case > small { color: #a4c9cb; font-size: 9px; line-height: 1.8; }

/* Four interactive capability families. */
.pl-capabilities {
    overflow: hidden;
    border: 1px solid #d8e5e5;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 24px 55px rgba(19, 62, 73, .07);
}
.pl-cap-tabs {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-bottom: 1px solid #dce9e9;
    background: #f8fbfa;
}
.pl-cap-tabs button {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 74px;
    padding: 15px 20px;
    border: 0;
    border-left: 1px solid #e4eded;
    color: #607c84;
    background: transparent;
    font-size: 12px;
    font-weight: 760;
    text-align: right;
    transition: color .25s, background .25s;
}
.pl-cap-tabs button:last-child { border-left: 0; }
.pl-cap-tabs button:hover, .pl-cap-tabs button.is-active { color: #0c4e59; background: #fff; }
.pl-cap-tabs button.is-active::after { position: absolute; content: ''; inset: auto 0 0; height: 3px; background: #44bfb1; }
.pl-cap-tabs button span { color: #88a8ad; font-size: 10px; font-weight: 640; }
.pl-cap-tabs button.is-active span { color: #15988e; }
.pl-cap-panel { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .94fr); min-height: 470px; }
.pl-cap-copy { padding: clamp(30px, 4vw, 62px); }
.pl-cap-copy h3 { margin-top: 12px; color: #103b49; font-size: clamp(25px, 2.5vw, 33px); font-weight: 810; }
.pl-cap-copy > p { max-width: 520px; margin-top: 13px; color: #5d7880; font-size: 12px; line-height: 2; }
.pl-cap-items { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 29px; }
.pl-cap-items > div { display: grid; grid-template-columns: 18px 1fr; align-content: start; gap: 2px 6px; min-height: 84px; padding: 13px; border: 1px solid #e0ebea; border-radius: 8px; background: #f9fbfa; }
.pl-cap-items > div > span { grid-row: span 2; color: #2bab9f; font-size: 14px; }
.pl-cap-items strong { color: #174954; font-size: 11px; }
.pl-cap-items small { color: #708990; font-size: 9px; line-height: 1.8; }
.pl-cap-visual {
    --cap-accent: #74e1d1;
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    margin: 18px 18px 18px 0;
    overflow: hidden;
    border: 1px solid rgba(126, 218, 209, .32);
    border-radius: 13px;
    color: #e7f6f4;
    background: radial-gradient(circle at 10% 90%, rgba(63, 177, 178, .22), transparent 45%), #0b3443;
    box-shadow: 0 22px 44px rgba(7, 49, 62, .15);
}
.pl-cap-visual-1 { --cap-accent: #9adbd4; background: radial-gradient(circle at 10% 90%, rgba(45, 150, 164, .25), transparent 45%), #113a4a; }
.pl-cap-visual-2 { --cap-accent: #9cd8e3; background: radial-gradient(circle at 10% 90%, rgba(75, 145, 182, .25), transparent 45%), #10394b; }
.pl-cap-visual-3 { --cap-accent: #9cddd0; background: radial-gradient(circle at 10% 90%, rgba(82, 161, 160, .27), transparent 45%), #123f4b; }
.pl-cap-visual::before { position: absolute; content: ''; inset: 0; pointer-events: none; opacity: .22; background-image: linear-gradient(rgba(170, 230, 228, .12) 1px, transparent 1px), linear-gradient(90deg, rgba(170, 230, 228, .12) 1px, transparent 1px); background-size: 33px 33px; mask-image: linear-gradient(90deg, transparent, #000); }
.pl-cap-visual-top, .pl-cap-visual-heading, .pl-cap-visual-rows, .pl-cap-visual-foot { position: relative; z-index: 1; }
.pl-cap-visual-top { display: flex; justify-content: space-between; align-items: center; padding: 15px 21px; border-bottom: 1px solid rgba(183, 230, 226, .12); color: #a1c4c8; font-size: 9px; }
.pl-cap-visual-top i { width: 7px; height: 7px; border-radius: 50%; background: var(--cap-accent); box-shadow: 0 0 0 4px rgba(123, 221, 207, .11); }
.pl-cap-visual-heading { display: grid; gap: 5px; margin: 37px 30px 25px; }
.pl-cap-visual-heading small { color: #91babf; font-size: 10px; }
.pl-cap-visual-heading strong { font-size: 21px; font-weight: 780; }
.pl-cap-visual-rows { display: grid; gap: 9px; margin-inline: 30px; }
.pl-cap-visual-rows > div { display: grid; grid-template-columns: 8px minmax(0, 1fr) 26%; align-items: center; gap: 10px; min-height: 50px; padding: 10px 13px; border: 1px solid rgba(164, 220, 217, .13); border-radius: 7px; background: rgba(255, 255, 255, .045); color: #d9eae9; font-size: 10px; }
.pl-cap-row-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--cap-accent); }
.pl-cap-row-line { height: 3px; border-radius: 4px; background: linear-gradient(90deg, var(--cap-accent), rgba(159, 225, 223, .17)); }
.pl-cap-visual-rows > div:nth-child(2) .pl-cap-row-line { width: 66%; }
.pl-cap-visual-rows > div:nth-child(3) .pl-cap-row-line { width: 82%; }
.pl-cap-visual-foot { display: flex; justify-content: space-between; align-items: center; margin-top: auto; padding: 21px 30px; color: #8db8bc; font-size: 9px; }
.pl-cap-visual-foot span:last-child { color: var(--cap-accent); font-size: 20px; }

/* A recognizable miniature scene for each capability category. */
.pl-cap-visual:has(.pl-cap-signature) .pl-cap-visual-heading { margin-top: 20px; margin-bottom: 13px; }
.pl-cap-visual:has(.pl-cap-signature) .pl-cap-visual-rows { gap: 6px; }
.pl-cap-visual:has(.pl-cap-signature) .pl-cap-visual-rows > div { min-height: 39px; }
.pl-cap-visual:has(.pl-cap-signature) .pl-cap-visual-foot { padding-block: 14px; }
.pl-cap-signature {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 90px;
    margin: 0 30px 13px;
    padding: 13px;
    border: 1px solid rgba(159, 221, 218, .13);
    border-radius: 9px;
    background: rgba(2, 21, 31, .22);
}
.pl-cap-flow { display: grid; grid-template-columns: minmax(0, 1fr) 29px minmax(0, 1fr) 29px minmax(0, 1fr); gap: 7px; }
.pl-cap-flow span {
    display: grid;
    place-items: center;
    min-height: 51px;
    padding: 7px 4px;
    border: 1px solid rgba(136, 225, 213, .33);
    border-radius: 7px;
    color: #e8f8f5;
    background: rgba(108, 217, 201, .11);
    font-size: 10px;
    font-weight: 680;
    white-space: nowrap;
}
.pl-cap-flow span:first-child { border-color: rgba(136, 225, 213, .65); box-shadow: 0 0 0 3px rgba(105, 222, 204, .05); }
.pl-cap-flow i { position: relative; height: 1px; background: rgba(128, 220, 208, .5); }
.pl-cap-flow i::after {
    position: absolute;
    content: '';
    top: -3px;
    right: 0;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--cap-accent);
    box-shadow: 0 0 10px rgba(129, 233, 219, .7);
    animation: pl-cap-flow-trace 3s ease-in-out infinite alternate;
}
.pl-cap-flow i:nth-of-type(2)::after { animation-delay: 1s; }
@keyframes pl-cap-flow-trace { to { right: calc(100% - 7px); opacity: .45; } }

.pl-cap-tender { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.pl-cap-tender > i { display: none; }
.pl-cap-tender span {
    position: relative;
    display: grid;
    align-content: start;
    gap: 12px;
    min-height: 63px;
    padding: 10px 11px;
    border: 1px solid rgba(156, 220, 218, .2);
    border-radius: 7px;
    color: #e3f4f3;
    background: rgba(255, 255, 255, .05);
    font-size: 9px;
    font-weight: 690;
}
.pl-cap-tender span::before { content: ''; display: block; width: 18px; height: 18px; border: 1px solid rgba(152, 225, 213, .5); border-radius: 5px; background: linear-gradient(145deg, rgba(161, 239, 219, .29), rgba(97, 189, 187, .08)); }
.pl-cap-tender span::after { position: absolute; content: ''; inset: auto 11px 9px; height: 3px; border-radius: 4px; background: linear-gradient(90deg, var(--cap-accent) 70%, rgba(187, 224, 224, .15) 70%); }
.pl-cap-tender span:nth-of-type(2)::after { background: linear-gradient(90deg, var(--cap-accent) 48%, rgba(187, 224, 224, .15) 48%); }
.pl-cap-tender span:nth-of-type(3) { border-color: rgba(158, 231, 220, .44); background: rgba(127, 217, 203, .1); }
.pl-cap-tender span:nth-of-type(3)::after { background: linear-gradient(90deg, var(--cap-accent) 92%, rgba(187, 224, 224, .15) 92%); }

.pl-cap-docs { display: flex; justify-content: center; gap: 9px; }
.pl-cap-docs span {
    position: relative;
    display: flex;
    align-items: end;
    width: min(31%, 116px);
    min-height: 67px;
    padding: 8px;
    overflow: hidden;
    border: 1px solid rgba(149, 212, 224, .3);
    border-radius: 5px;
    color: #e6f3f5;
    background: linear-gradient(160deg, rgba(155, 217, 228, .16), rgba(255, 255, 255, .025));
    box-shadow: 0 8px 20px rgba(2, 18, 33, .15);
    font-size: 8px;
    line-height: 1.5;
}
.pl-cap-docs span::before { position: absolute; content: ''; top: 9px; right: 9px; width: 15px; height: 17px; border: 1px solid var(--cap-accent); border-radius: 2px; box-shadow: inset 0 -5px rgba(142, 216, 228, .15); }
.pl-cap-docs span::after { position: absolute; content: ''; top: 13px; left: 10px; width: 42%; height: 1px; background: rgba(177, 226, 232, .42); box-shadow: 0 7px rgba(177, 226, 232, .23), 0 14px rgba(177, 226, 232, .18); }
.pl-cap-docs span:nth-child(1) { transform: rotate(3deg) translateY(4px); }
.pl-cap-docs span:nth-child(2) { z-index: 1; border-color: rgba(149, 224, 229, .56); transform: translateY(-5px); }
.pl-cap-docs span:nth-child(3) { transform: rotate(-3deg) translateY(4px); }

.pl-cap-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.pl-cap-metrics span {
    position: relative;
    display: grid;
    align-content: space-between;
    gap: 13px;
    min-height: 62px;
    padding: 11px;
    border: 1px solid rgba(151, 217, 209, .2);
    border-radius: 7px;
    color: #e7f5f2;
    background: rgba(255, 255, 255, .045);
    font-size: 9px;
    font-weight: 700;
}
.pl-cap-metrics span::after { position: absolute; content: ''; right: 11px; bottom: 10px; left: 11px; height: 7px; border-radius: 5px; background: rgba(169, 222, 212, .15); }
.pl-cap-metrics i {
    position: relative;
    z-index: 1;
    display: block;
    width: var(--cap-bar);
    height: 7px;
    border-radius: 5px;
    background: linear-gradient(90deg, #a9e5d3, #68c9ba);
    box-shadow: 0 0 12px rgba(126, 228, 203, .24);
    transform-origin: right;
    animation: pl-cap-meter 1.2s cubic-bezier(.2, .8, .2, 1) both;
}
.pl-cap-metrics span:nth-child(2) i { animation-delay: .12s; }
.pl-cap-metrics span:nth-child(3) i { animation-delay: .24s; }
@keyframes pl-cap-meter { from { transform: scaleX(.08); } to { transform: scaleX(1); } }

/* A focused close to the page's narrative. */
.pl-demo { isolation: isolate; padding-block: clamp(88px, 9vw, 125px); background: radial-gradient(circle at 50% -45%, rgba(65, 158, 156, .24), transparent 52%), #092f3f; }
.pl-demo::before { position: absolute; z-index: -1; content: ''; inset: 0; opacity: .3; pointer-events: none; background-image: linear-gradient(35deg, transparent 45%, rgba(123, 215, 210, .1) 45.1%, rgba(123, 215, 210, .1) 45.2%, transparent 45.3%), linear-gradient(145deg, transparent 47%, rgba(123, 215, 210, .08) 47.1%, rgba(123, 215, 210, .08) 47.2%, transparent 47.3%); }
.pl-demo-inner { max-width: 910px; text-align: center; }
.pl-demo .pl-kicker { justify-content: center; }
.pl-demo h2 { line-height: 1.5; }
.pl-demo p { margin-inline: auto; }
.pl-demo-actions { justify-content: center; }
.pl-demo-actions .pl-button { min-height: 56px; }
.pl-demo-actions .pl-button-primary { box-shadow: 0 16px 37px rgba(58, 197, 186, .25); }
.pl-demo-message { margin-inline: auto; text-align: right; }
.pl-demo-converge { position: absolute; inset: 0; display: grid; place-items: center; overflow: hidden; pointer-events: none; opacity: .52; }
.pl-demo-converge i { position: absolute; width: min(42vw, 520px); height: 1px; background: linear-gradient(90deg, transparent, rgba(129, 215, 209, .32), transparent); transform-origin: center; }
.pl-demo-converge i:nth-child(1) { transform: translate(-42%, -115px) rotate(28deg); }
.pl-demo-converge i:nth-child(2) { transform: translate(42%, -115px) rotate(-28deg); }
.pl-demo-converge i:nth-child(3) { width: min(60vw, 700px); transform: translateY(185px); }
.pl-demo-converge span { position: absolute; bottom: 30px; right: 50%; transform: translateX(50%); color: rgba(160, 224, 218, .52); font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.pl-footer-main { grid-template-columns: minmax(0, 1.4fr) minmax(0, .75fr); }
.pl-footer-brand .pl-brand-logo { width: 58px; height: 58px; margin-bottom: 16px; }
.pl-footer-brand .pl-brand-logo img { top: -10px; width: 94px; }

@media (max-width: 1200px) {
    .pl-process-detail { gap: 26px; }
    .pl-process-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pl-process-facts > div:last-child { grid-column: span 2; }
    .pl-cap-copy { padding: 32px; }
}
@media (max-width: 960px) {
    .pl-hero-network { opacity: .17; }
    .pl-hero-visual { min-height: 565px; }
    .pl-flow-window { max-width: 560px; }
    .pl-process-detail { grid-template-columns: minmax(0, 1fr) minmax(285px, .8fr); padding: 35px 30px; }
    .pl-cap-panel { grid-template-columns: 1fr; }
    .pl-cap-visual { min-height: 340px; margin: 0 20px 20px; }
}
@media (max-width: 700px) {
    .pl-hero-visual { min-height: 550px; }
    .pl-process-rail { grid-template-columns: repeat(9, 128px); }
    .pl-process-step { min-height: 90px; padding: 15px 13px; font-size: 10px; }
    .pl-process-detail { grid-template-columns: 1fr; gap: 24px; padding: 32px 23px; }
    .pl-process-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .pl-process-facts > div:last-child { grid-column: auto; }
    .pl-process-graphic { display: grid; min-height: 275px; }
    .pl-process-rings i:nth-child(3) { width: 270px; height: 270px; }
    .pl-cap-tabs { display: flex; overflow-x: auto; scrollbar-width: thin; scrollbar-color: #8acbc5 transparent; scroll-snap-type: x proximity; }
    .pl-cap-tabs::-webkit-scrollbar { height: 3px; }
    .pl-cap-tabs::-webkit-scrollbar-thumb { border-radius: 3px; background: #8acbc5; }
    .pl-cap-tabs button { flex: 0 0 170px; min-height: 67px; padding-inline: 14px; scroll-snap-align: start; }
    .pl-cap-panel { min-height: 0; }
}
@media (max-width: 520px) {
    .pl-brand-logo { flex-basis: 38px; width: 38px; height: 38px; border-radius: 9px; }
    .pl-brand-logo img { top: -6px; width: 61px; }
    .pl-hero-network { opacity: .13; }
    .pl-hero-network path { animation: none; }
    .pl-hero-visual { min-height: 505px; }
    .pl-flow-window { width: 100%; }
    .pl-flow-list { padding: 0 10px 7px; }
    .pl-flow-row { grid-template-columns: 27px minmax(0, 1fr) auto; gap: 7px; min-height: 48px; padding-inline: 4px; }
    .pl-flow-node { width: 27px; height: 27px; font-size: 8px; }
    .pl-flow-row::before { top: 38px; right: 17px; height: 20px; }
    .pl-flow-row strong { font-size: 9px; }
    .pl-flow-row small, .pl-flow-state { font-size: 7px; }
    .pl-window-heading { gap: 9px; padding: 14px 12px; }
    .pl-window-heading small { font-size: 8px; }
    .pl-status-pill { padding-inline: 7px; font-size: 8px; }
    .pl-process-detail h3 { font-size: 23px; }
    .pl-process-detail p { font-size: 11px; }
    .pl-process-facts { grid-template-columns: 1fr; gap: 7px; margin-top: 21px; }
    .pl-process-facts > div { min-height: 58px; padding: 9px 12px; }
    .pl-process-graphic { min-height: 245px; }
    .pl-process-case { width: min(100%, 310px); padding: 19px; gap: 10px; }
    .pl-process-rings i:nth-child(3) { width: 240px; height: 240px; }
    .pl-cap-copy { padding: 27px 20px; }
    .pl-cap-copy h3 { font-size: 25px; }
    .pl-cap-items { gap: 7px; margin-top: 23px; }
    .pl-cap-items > div { min-height: 92px; padding: 9px; }
    .pl-cap-items strong { font-size: 10px; }
    .pl-cap-items small { font-size: 8px; }
    .pl-cap-visual { min-height: 300px; margin: 0 10px 10px; }
    .pl-cap-visual-heading { margin: 24px 18px 18px; }
    .pl-cap-visual-heading strong { font-size: 17px; }
    .pl-cap-visual-rows { gap: 7px; margin-inline: 18px; }
    .pl-cap-visual-rows > div { min-height: 41px; }
    .pl-cap-visual-foot { padding: 13px 18px; }
    .pl-cap-signature { min-height: 82px; margin-inline: 18px; padding: 9px; }
    .pl-cap-flow { grid-template-columns: minmax(0, 1fr) 16px minmax(0, 1fr) 16px minmax(0, 1fr); gap: 3px; }
    .pl-cap-flow span { min-height: 47px; font-size: 8px; }
    .pl-cap-tender { gap: 5px; }
    .pl-cap-tender span { padding: 8px 6px; font-size: 8px; }
    .pl-cap-docs { gap: 5px; }
    .pl-cap-docs span { min-height: 63px; padding: 6px; font-size: 7px; }
    .pl-cap-metrics { gap: 5px; }
    .pl-cap-metrics span { padding: 8px; font-size: 8px; }
    .pl-demo h2 { font-size: clamp(28px, 7.7vw, 36px); }
    .pl-demo-actions { display: grid; }
    .pl-demo-actions .pl-button { width: 100%; }
    .pl-footer-main { grid-template-columns: 1fr; gap: 30px; }
    .pl-footer-brand { grid-column: auto; }
}
@media (prefers-reduced-motion: reduce) {
    .pl-hero-network path, .pl-flow-row, .pl-flow-node { animation: none !important; }
    .pl-cap-flow i::after, .pl-cap-metrics i { animation: none !important; }
    .pl-flow-row:first-child { background: rgba(89, 204, 190, .13); box-shadow: inset 2px 0 #6bdccc; }
    .pl-flow-row:first-child .pl-flow-node { color: #092f3c; border-color: #78e1d5; background: #78e1d5; }
}
