/* Programming services: scoped to this branch. */
.pr-page{overflow-wrap:break-word}
.pr-page .pd-hero{padding-top:38px}
.pr-page h1{font-size:clamp(32px,3.7vw,51px);line-height:1.08}
.pr-page h1 span{font-size:.59em;line-height:1.3}
.pr-page h2{font-size:clamp(27px,2.8vw,39px)}
.pr-page .pd-hero-grid>*{min-width:0}
.pr-page .pd-lead{font-size:16px}
.pr-page .pr-preview{background:#fff;border:1px solid #dbe0ec;border-radius:16px;overflow:hidden;box-shadow:0 24px 60px -35px #202b4880}
.pr-preview-bar{display:flex;align-items:center;gap:6px;padding:15px 18px;background:#202b48;color:#fff}
.pr-preview-bar i{width:7px;height:7px;border-radius:50%;background:#ffca42;flex-shrink:0}
.pr-preview-bar span{margin-left:8px;font-size:9px;letter-spacing:.08em}
.pr-page .pr-preview img{display:block;width:100%;height:auto;max-height:390px;object-fit:contain;background:#f4f6fa}
.pr-page .pr-preview figcaption{font-size:11px;color:#596276;padding:14px 20px;border-top:1px solid #e2e6ef}
.pr-page .pr-visual{padding:32px;background:#202b48;color:#fff;border-radius:18px;box-shadow:0 25px 60px -36px #202b48}
.pr-page .pr-visual .pd-eyebrow{color:#ffca42}
.pr-page .pr-visual>svg{width:54px;height:54px;color:#ffca42;margin-bottom:20px}
.pr-page .pr-visual ol{list-style:none;margin:0;padding:0}
.pr-page .pr-visual li{display:flex;gap:22px;align-items:center;padding:20px 0;border-top:1px solid #ffffff30}
.pr-page .pr-visual li span{color:#ffca42;font-size:13px}
.pr-page .pr-visual li strong{font-size:20px}
.pr-page .pr-visual>p:last-child{font-size:11px;color:#d0d7e8;margin-top:24px}
.pr-page .pr-node{display:flex;align-items:center;gap:16px;border:1px solid #ffffff55;padding:22px;border-radius:10px;background:#ffffff09;font-weight:700}
.pr-node svg{flex-shrink:0;color:#ffca42}
.pr-page .pr-node-result{margin-top:26px;background:#ffca42;color:#202b48;border:0}
.pr-node-result svg{color:#202b48}
.pr-connectors{height:27px;border-left:1px dashed #8793b6;margin-left:50%}
.pr-node-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.pr-node-grid span{padding:13px 4px;border:1px solid #7380a6;text-align:center;border-radius:5px;font-size:12px}
.pr-page .pr-index{display:flex;flex-wrap:wrap;gap:12px 25px;padding-block:22px;border-bottom:1px solid #dfe4ed}
.pr-index a{font-size:12px;color:#4b5c92;text-underline-offset:5px;padding-block:5px}
.pr-page .pr-intro{margin-top:24px;max-width:870px;color:#596276;line-height:1.85}
.pr-page .pr-intro a,.pr-page .pr-next p a{color:#354a83;text-underline-offset:4px}
.pr-page .pr-picker{display:grid;grid-template-columns:auto minmax(200px,440px);gap:10px 20px;align-items:center;margin:30px 0;padding:20px 24px;background:#f1f3f9;border-radius:10px}
.pr-page .pr-picker[hidden]{display:none}
.pr-picker label{font-size:14px;font-weight:700}
.pr-page .pr-picker select{width:100%;height:auto;min-height:48px;border:1px solid #9ca9c8;border-radius:5px;background:#fff;padding:10px 30px 10px 12px;font:14px/1.5 Arial,sans-serif;color:#202b48}
.pr-page .pr-picker p{grid-column:1/-1;font-size:12px;color:#596276;margin:0}
.pr-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:32px}
.pr-page .pr-service-grid article{display:flex;flex-direction:column;align-items:start;border:1px solid #dbe1ed;border-radius:12px;padding:30px;transition:border-color .2s,box-shadow .2s;background:#fff}
.pr-page .pr-service-grid article[hidden]{display:none}
.pr-service-grid article:hover,.pr-service-grid article:focus-within{border-color:#8593b8;box-shadow:0 12px 28px -20px #202b4870}
.pr-card-top{display:flex;justify-content:space-between;width:100%;align-items:center;margin-bottom:23px;color:#4b5c92}
.pr-card-top span{font-size:12px;font-weight:700;color:#697693}
.pr-page .pr-service-grid .pd-eyebrow{font-size:10px;margin-bottom:10px}
.pr-page .pr-service-grid h3{font-size:24px;margin-bottom:15px}
.pr-service-grid h3 a{text-decoration:none}
.pr-page .pr-service-grid p:not(.pd-eyebrow){font-size:15px;color:#596276}
.pr-page .pr-service-grid .pr-card-detail{font-size:13px!important;margin:14px 0 23px}
.pr-page .pr-card-link{display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;padding-top:18px;border-top:1px solid #e4e8f1;margin-top:auto;font-size:13px;font-weight:700;color:#354a83;text-decoration:none;min-height:44px}
.pr-band{background:#f3f5f9}
.pr-three,.pr-method{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:36px}
.pr-method{grid-template-columns:repeat(4,minmax(0,1fr))}
.pr-three article,.pr-method article{border-top:2px solid #dce2ee;padding-top:23px}
.pr-three article>span,.pr-method article>span{font-size:34px;color:#66769e}
.pr-page .pr-three h3,.pr-page .pr-method h3{font-size:21px;margin:16px 0}
.pr-page .pr-three p,.pr-page .pr-method p{font-size:14px;color:#596276;line-height:1.8}
.pr-page .pr-note{border-left:4px solid #d8a019;background:#fff;padding:24px 28px;margin-top:35px}
.pr-page .pr-note p{font-size:15px;color:#596276;margin-top:10px}
.pr-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;margin-top:35px}
.pr-page .pr-project{border:1px solid #dce2ed;border-radius:12px;background:#fff;overflow:hidden}
.pr-page .pr-project>a{display:block;background:#eef1f7}
.pr-page .pr-project img{display:block;width:100%;height:230px;object-fit:contain;padding:14px}
.pr-page .pr-project>div:not(.pr-case-symbol){padding:26px}
.pr-page .pr-project h3{font-size:23px;margin-bottom:15px}
.pr-project h3 a{text-decoration:none}
.pr-page .pr-project p:not(.pd-eyebrow){font-size:14px;color:#596276;margin-bottom:20px;line-height:1.8}
.pr-page .pr-project .pd-eyebrow{font-size:10px;margin-bottom:12px}
.pr-page .pr-project .pd-text-link{color:#354a83}
.pr-page .pr-case-symbol{height:145px;display:flex;align-items:center;justify-content:center;background:#202b48;color:#ffca42}
.pr-case-symbol svg{width:65px;height:65px}
.pr-page .pr-chapter{display:grid;grid-template-columns:90px minmax(0,1fr);gap:40px;padding-block:50px;border-bottom:1px solid #dfe4ed}
.pr-page .pr-chapter:first-child{padding-top:65px}
.pr-page .pr-chapter:last-child{border-bottom:0;padding-bottom:65px}
.pr-page .pr-chapter-number{font-size:50px;font-weight:700;line-height:1;color:#7a88ab}
.pr-page .pr-chapter h2{font-size:30px;margin-bottom:24px;max-width:800px}
.pr-page .pr-chapter p{max-width:840px;margin-top:18px;color:#4b5262;line-height:1.85}
.pr-page .pr-next{display:grid;grid-template-columns:1.25fr 1fr;gap:60px}
.pr-page .pr-next p:not(.pd-eyebrow){margin-top:25px;font-size:15px;color:#596276;line-height:1.85}
.pr-related{display:flex;flex-direction:column;justify-content:center;gap:12px}
.pr-page .pr-related a{padding:18px 20px;background:#fff;border:1px solid #dce2ed;border-radius:7px;color:#354a83;font-size:14px;text-decoration:none}
.pr-related a:hover{text-decoration:underline}
.pr-page .pd-table-scroll:focus-visible,.pr-page select:focus-visible{outline:3px solid #b57a00;outline-offset:4px}
.pr-skip{position:fixed;left:20px;top:-100px;z-index:99999;background:#202b48;color:#fff;padding:15px}
.pr-skip:focus{top:15px;color:#fff}
.pr-page .pd-cta{margin-top:0}
@media(max-width:950px){.pr-page .pd-hero-grid{gap:25px}.pr-page .pr-visual{padding:25px}.pr-node-grid{grid-template-columns:repeat(2,1fr)}.pr-method{grid-template-columns:repeat(2,minmax(0,1fr))}.pr-page .pr-next{gap:30px}.pr-page .pr-project img{height:190px}}
@media(max-width:680px){.pr-page h1{font-size:35px}.pr-page .pd-hero-grid{grid-template-columns:1fr}.pr-page .pd-hero{padding-bottom:40px}.pr-page .pr-index{gap:8px 19px}.pr-service-grid,.pr-project-grid,.pr-three,.pr-method,.pr-page .pr-next{grid-template-columns:1fr}.pr-page .pr-service-grid article{padding:24px}.pr-page .pr-picker{grid-template-columns:1fr;padding:18px}.pr-page .pr-chapter{grid-template-columns:1fr;gap:16px;padding-block:35px}.pr-page .pr-chapter-number{font-size:28px}.pr-page .pr-chapter h2{font-size:27px}.pr-page .pr-chapter:first-child{padding-top:40px}.pr-page .pr-chapter:last-child{padding-bottom:40px}.pr-page .pr-project img{height:auto;max-height:280px}.pr-page .pr-preview img{max-height:330px}.pr-page .pr-node{padding:18px}.pr-page .pd-facts dl{grid-template-columns:repeat(2,minmax(0,1fr))}.pr-page .pd-facts dd{font-size:13px}}
@media(prefers-reduced-motion:reduce){.pr-page *{transition:none!important;scroll-behavior:auto!important}}
