.engagement{background:#edf3f8;border-top:1px solid #d8e3ed}
.engagement-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:55px}
.engagement-item{padding:0 29px;border-right:1px solid #cbd9e5;display:flex;flex-direction:column}
.engagement-item:first-child{padding-left:0}.engagement-item:last-child{padding-right:0;border-right:0}
.engagement-index{color:#426987;font-size:.75rem;letter-spacing:.12em;margin-bottom:26px}
.engagement-item h3{font-family:var(--display);font-size:1.55rem;font-weight:500;letter-spacing:-.035em;line-height:1.35;margin:0 0 22px;color:#153a56}
.engagement-item>p,.engagement-output p,.engagement-callout p,.faq p{font-size:1rem;line-height:1.85;color:#50677c}
.engagement-item>p{margin:0 0 30px}
.engagement-output{margin-top:auto;padding-top:24px;border-top:1px solid #cbd9e5}
.engagement-output>span{font-size:.75rem;color:#426987;letter-spacing:.065em;line-height:1.65;display:block}
.engagement-output p{margin:12px 0 0;font-size:.9375rem}
.engagement-callout{display:flex;gap:55px;align-items:center;justify-content:space-between;border-top:1px solid #cbd9e5;margin-top:60px;padding-top:36px}
.engagement-callout h3{font-family:var(--display);font-size:1.5rem;line-height:1.4;font-weight:500;letter-spacing:-.035em;margin:0 0 12px}
.engagement-callout p{margin:0;max-width:760px}.engagement-callout .inline-link{white-space:nowrap}
.faq{background:#f9fbfd;border-top:1px solid #dfe7ee}
.faq-layout{display:grid;grid-template-columns:.85fr 1.3fr;gap:90px}
.faq-heading>p:not(.eyebrow){max-width:380px;margin:27px 0}.faq-heading h2{font-size:clamp(2rem,3.3vw,3.125rem)}
.faq-list details{border-bottom:1px solid #d3dfe8}.faq-list details:first-child{border-top:1px solid #d3dfe8}
.faq-list summary{list-style:none;display:flex;justify-content:space-between;gap:25px;align-items:center;padding:26px 0;cursor:pointer;font-family:var(--display);font-size:1.125rem;font-weight:600;line-height:1.5;letter-spacing:-.02em;color:#183c59}
.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span{font-family:Inter,sans-serif;font-size:1.5rem;font-weight:400;color:#537e9e;transition:transform .2s;flex-shrink:0}.faq-list details[open] summary>span{transform:rotate(45deg)}
.faq-list details>div{padding:0 40px 27px 0}.faq-list p{margin:0}.faq-list summary:focus-visible{outline:2px solid #1e5aa8;outline-offset:5px}
@media(max-width:1150px){.desktop-nav{gap:22px}.engagement-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 0}.engagement-item:nth-child(2){border:0;padding-right:0}.engagement-item:nth-child(3){padding-left:0}.engagement-item{padding-inline:28px}.faq-layout{gap:45px}}
@media(max-width:900px){.faq-layout{grid-template-columns:1fr;gap:35px}.faq-heading>p:not(.eyebrow){max-width:600px}.engagement-callout{display:block}.engagement-callout .inline-link{display:inline-flex;margin-top:24px}}
@media(max-width:650px){.engagement-grid{grid-template-columns:1fr;gap:30px;margin-top:36px}.engagement-item,.engagement-item:nth-child(3){padding:0 0 30px;border-right:0;border-bottom:1px solid #cbd9e5}.engagement-item:nth-child(2){border-bottom:1px solid #cbd9e5}.engagement-item:last-child{padding-bottom:0;border-bottom:0}.engagement-index{margin-bottom:17px}.engagement-item h3{font-size:1.65rem}.engagement-item h3 br{display:none}.engagement-item>p{margin-bottom:22px}.engagement-output{padding-top:18px}.engagement-callout{margin-top:34px;padding-top:29px}.engagement-callout h3{font-size:1.4rem}.faq-heading h2{font-size:2rem}.faq-list summary{font-size:1.0625rem;padding-block:23px;gap:18px}.faq-list details>div{padding-right:10px}}
@media(prefers-reduced-motion:reduce){.faq-list summary>span{transition:none}}
.frameworks{background:#082b46;color:#f1f7fb}
.frameworks .section-intro{color:#c3d4e2}
.framework-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 44px;margin-top:45px;align-items:start}
.framework{border-top:1px solid #50728b;align-self:start}
.framework summary{position:relative;list-style:none;padding:28px 42px 27px 0;cursor:pointer}
.framework summary::-webkit-details-marker{display:none}
.framework-label{display:block;color:#a0c6df;font-size:.75rem;letter-spacing:.1em;margin-bottom:13px}
.framework h3{font-family:var(--display);font-size:1.8rem;letter-spacing:-.025em;font-weight:500;line-height:1.3;margin:0 0 8px}
.framework-title{color:#d4e2ec;font-size:1rem;line-height:1.6}
.framework-plus{position:absolute;right:0;top:55px;color:#93c9ea;font-size:1.8rem;font-weight:400;transition:transform .2s}
.framework[open] .framework-plus{transform:rotate(45deg)}
.framework summary:focus-visible{outline:2px solid #a2d7f6;outline-offset:4px}
.framework-body{padding:0 35px 28px 0}.framework-body>p{color:#d4e2ec;font-size:1rem;line-height:1.85;margin:0 0 19px}
.framework-body>.framework-scope{font-size:.875rem;color:#94c9e8;line-height:1.8}
.framework-body>a{font-size:.875rem;color:#dfedf5;text-underline-offset:5px}
.framework-note{font-size:.875rem;line-height:1.8;color:#bed1df;max-width:880px;margin:30px 0 22px;border-top:1px solid #50728b;padding-top:28px}
.frameworks .text-link{font-size:.9375rem}
@media(max-width:650px){.framework-grid{grid-template-columns:1fr;gap:0;margin-top:32px}.framework h3{font-size:1.6rem}.framework summary{padding-top:24px;padding-bottom:24px}.framework-body{padding-right:8px}.framework-note{font-size:.875rem}}
@media(prefers-reduced-motion:reduce){.framework-plus{transition:none}}
