/* Endpoint contractor partnerships shortcode; deliberately scoped to epps- classes. */
.epps-section{--epps-navy:#132443;--epps-red:#d8323e;--epps-ink:#132443;--epps-muted:#56637a;--epps-rule:#e2e7ee;box-sizing:border-box;background:#fff!important;color:var(--epps-ink);padding:clamp(58px,7vw,104px) 24px 52px;font-family:Inter,Arial,Helvetica,sans-serif;line-height:1.5;overflow:hidden;isolation:isolate}
.epps-section *, .epps-section *::before,.epps-section *::after{box-sizing:border-box}
.epps-section.epps-fullbleed{width:100vw!important;max-width:100vw!important;position:relative;left:50%;margin-left:-50vw!important;margin-right:0!important}
.epps-section .epps-wrap{width:min(1180px,100%);margin:0 auto}
.epps-section .epps-heading-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);align-items:end;gap:32px;margin:0 0 38px}
.epps-section .epps-eyebrow{display:flex;align-items:center;gap:10px;color:#56657b;font-size:11px;letter-spacing:.16em;font-weight:800;text-transform:uppercase;margin:0 0 19px}
.epps-section .epps-eyebrow-line{width:27px;height:3px;background:var(--epps-red);display:inline-block;flex:none}
.epps-section .epps-eyebrow-slash{color:var(--epps-red)}
.epps-section h2.epps-heading{font-family:Inter,Arial,Helvetica,sans-serif!important;font-weight:900!important;font-size:clamp(35px,4.6vw,62px)!important;line-height:1.065!important;letter-spacing:-.055em!important;color:var(--epps-navy)!important;text-transform:none!important;margin:0!important;padding:0!important;max-width:790px}
.epps-section h2.epps-heading span{color:var(--epps-red)!important}
.epps-section .epps-intro{font-size:15px;line-height:1.85;color:var(--epps-muted);max-width:355px;margin:0 0 4px auto}
.epps-section .epps-showcase{display:grid;grid-template-columns:minmax(280px,.92fr) minmax(0,1.15fr);border:1px solid var(--epps-rule);border-radius:4px;min-height:455px;box-shadow:0 16px 45px rgba(19,36,67,.06);overflow:hidden}
.epps-section .epps-rail{display:grid;grid-template-rows:repeat(4,1fr);background:#f7f9fb;border-right:1px solid var(--epps-rule)}
.epps-section button.epps-tab{display:flex;align-items:center;width:100%;min-height:106px;gap:19px;text-align:left;border:0!important;border-bottom:1px solid var(--epps-rule)!important;border-radius:0!important;background:transparent!important;color:var(--epps-ink)!important;padding:20px 21px!important;margin:0!important;box-shadow:none!important;font-family:Inter,Arial,Helvetica,sans-serif!important;text-transform:none!important;cursor:pointer;position:relative;transition:background .2s ease,color .2s ease}
.epps-section button.epps-tab:last-child{border-bottom:0!important}
.epps-section button.epps-tab:hover{background:#eff3f8!important}
.epps-section button.epps-tab.is-active{background:var(--epps-navy)!important;color:#fff!important}
.epps-section button.epps-tab.is-active::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--epps-red)}
.epps-section button.epps-tab:focus-visible{outline:3px solid var(--epps-red)!important;outline-offset:-4px!important;z-index:1}
.epps-section .epps-tab-number{font-size:16px;letter-spacing:-.05em;font-weight:900;color:var(--epps-red);align-self:flex-start;padding-top:4px}
.epps-section button.epps-tab.is-active .epps-tab-number{color:#ff6571}
.epps-section .epps-tab-main{flex:1;min-width:0;display:block}
.epps-section .epps-tab-phase{display:block;font-size:10px;letter-spacing:.13em;font-weight:800;color:#7c8796;margin-bottom:5px}
.epps-section button.epps-tab.is-active .epps-tab-phase{color:#bbc6d8}
.epps-section .epps-tab-label{display:block;font-size:clamp(14px,1.3vw,17px);line-height:1.35;font-weight:800}
.epps-section .epps-tab-arrow{font-size:25px;line-height:1;font-weight:400;opacity:.5;transition:transform .2s ease;align-self:center}
.epps-section button.epps-tab.is-active .epps-tab-arrow,.epps-section button.epps-tab:hover .epps-tab-arrow{opacity:1;transform:translate(3px,-3px)}
.epps-section .epps-detail{background:#fff;position:relative;min-width:0}
.epps-section .epps-detail::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(to right,rgba(19,36,67,.028) 1px,transparent 1px),linear-gradient(to bottom,rgba(19,36,67,.028) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(130deg,transparent 25%,#000 100%);-webkit-mask-image:linear-gradient(130deg,transparent 25%,#000 100%)}
.epps-section .epps-panel{padding:32px clamp(26px,4vw,62px) 34px;position:relative;min-height:455px;display:flex;flex-direction:column;animation:epps-enter .24s ease both}
.epps-section .epps-panel[hidden]{display:none!important}
.epps-section .epps-panel:focus{outline:none}
.epps-section .epps-panel-top{display:flex;justify-content:space-between;align-items:center;gap:15px}
.epps-section .epps-panel-code{color:#8590a2;font-size:10px;font-weight:850;letter-spacing:.13em}
.epps-section .epps-panel-code span{color:var(--epps-red)}
.epps-section .epps-panel-index{font-size:13px;font-weight:900;letter-spacing:.06em;color:var(--epps-red)}
.epps-section .epps-panel-index span{color:#a6afbd}
.epps-section .epps-panel-icon{color:var(--epps-red);width:51px;height:51px;margin:22px 0 7px}
.epps-section .epps-panel-icon svg{width:100%;height:100%}
.epps-section .epps-panel-kicker{color:var(--epps-red);font-size:10px;letter-spacing:.16em;font-weight:900;margin:0 0 7px}
.epps-section h3.epps-panel-title{font-family:Inter,Arial,Helvetica,sans-serif!important;font-size:clamp(23px,2.55vw,33px)!important;line-height:1.13!important;letter-spacing:-.038em!important;font-weight:900!important;color:var(--epps-navy)!important;margin:0 0 14px!important;max-width:490px;text-transform:none!important}
.epps-section .epps-panel-description{font-size:15px;color:#4a596f;line-height:1.8;max-width:510px;margin:0 0 21px}
.epps-section .epps-panel-tags{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}
.epps-section .epps-panel-tags span{font-size:11px;color:#36465e;font-weight:700;background:#eef2f6;border:1px solid #e3e9ef;padding:7px 10px;border-radius:2px}
.epps-section .epps-panel-foot{margin-top:auto;display:flex;align-items:center;gap:10px;font-size:9px;font-weight:800;letter-spacing:.15em;color:#8794a5}
.epps-section .epps-foot-line{background:var(--epps-red);width:21px;height:2px}
.epps-section .epps-bottom-note{font-size:10px;letter-spacing:.14em;font-weight:800;color:#748094;margin:21px 0 0;display:flex;align-items:center;gap:9px}
.epps-section .epps-small-dot{display:inline-block;width:6px;height:6px;background:var(--epps-red);border-radius:50%}
@keyframes epps-enter{from{opacity:.25;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media (max-width:820px){.epps-section .epps-heading-row{grid-template-columns:1fr;gap:18px}.epps-section .epps-intro{max-width:760px;margin:0}.epps-section .epps-showcase{grid-template-columns:1fr}.epps-section .epps-rail{grid-template-columns:repeat(4,minmax(155px,1fr));grid-template-rows:1fr;overflow-x:auto;scroll-snap-type:x mandatory;border-right:0;border-bottom:1px solid var(--epps-rule)}.epps-section button.epps-tab{min-height:122px;min-width:165px;align-items:flex-start;gap:9px;padding:16px!important;border-right:1px solid var(--epps-rule)!important;border-bottom:0!important;scroll-snap-align:start}.epps-section .epps-tab-arrow{display:none}.epps-section .epps-tab-label{font-size:13px}.epps-section button.epps-tab.is-active::before{width:auto;height:4px;top:auto;right:0}.epps-section .epps-panel{min-height:400px;padding:28px}.epps-section .epps-panel-icon{margin-top:18px}}
@media (max-width:480px){.epps-section{padding:54px 18px 43px}.epps-section .epps-heading-row{margin-bottom:28px}.epps-section .epps-eyebrow{font-size:9px;gap:7px;letter-spacing:.095em}.epps-section h2.epps-heading{font-size:35px!important;line-height:1.08!important}.epps-section .epps-intro{font-size:14px}.epps-section .epps-panel{padding:23px 21px 25px;min-height:425px}.epps-section .epps-panel-description{font-size:14px}.epps-section .epps-panel-code{font-size:9px}.epps-section .epps-bottom-note{line-height:1.5}}
@media (prefers-reduced-motion:reduce){.epps-section *, .epps-section *::before,.epps-section *::after{animation:none!important;transition:none!important}}
