.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}

.contact{background:#f2f6fb;border-top:1px solid #dfe8f1}
.contact-layout{display:grid;grid-template-columns:1fr 1.05fr;gap:90px;align-items:center}
.contact-copy h2{font-size:clamp(36px,4vw,58px);margin:24px 0 26px}
.contact-copy>p:last-child{max-width:500px;font-size:17px;line-height:1.8;color:var(--muted);margin:0}
.contact-details{display:flex;flex-direction:column;gap:12px}
.contact-detail{display:flex;align-items:center;gap:20px;padding:23px 22px;background:#fff;border:1px solid #d6e2ed;color:var(--ink);text-decoration:none;transition:border-color .25s,transform .25s,box-shadow .25s}
.contact-detail:hover{border-color:#6da5d0;box-shadow:0 12px 30px #123f6b12;transform:translateY(-3px)}
.contact-detail-icon{width:42px;height:42px;display:grid;place-items:center;border:1px solid #7bb6dc;border-radius:50%;color:var(--blue);font-size:20px;font-weight:500;flex-shrink:0}
.contact-detail span:nth-child(2){display:flex;flex-direction:column;gap:5px;min-width:0}
.contact-detail small{font-size:10px;letter-spacing:1.5px;color:#6b839d}
.contact-detail strong{font-family:var(--display);font-size:18px;font-weight:600;letter-spacing:-.02em;overflow-wrap:anywhere}
.contact-arrow{margin-left:auto;color:var(--blue);font-size:23px;font-weight:300}
.contact-button{align-self:flex-start;margin-top:15px}
.footer-contact{display:flex;flex-direction:column;gap:5px;margin-left:auto;margin-right:auto;font-size:13px;line-height:1.55}
.footer-contact a{color:var(--blue);text-decoration:none}
.footer-contact a:hover{text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){.contact-layout{grid-template-columns:1fr;gap:42px}.contact-copy>p:last-child{max-width:620px}.footer-contact{margin-left:0;margin-right:auto}}
@media(max-width:650px){.contact{padding-block:62px}.contact-copy h2{font-size:36px;margin:20px 0 20px}.contact-copy>p:last-child{font-size:15px}.contact-detail{padding:18px 16px;gap:14px}.contact-detail strong{font-size:16px}.contact-detail-icon{width:38px;height:38px;font-size:18px}.contact-button{width:100%;justify-content:center}.footer-contact{order:4;width:100%;margin-top:-5px;font-size:13px}}
.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}}

.defense{background:#10344e;border-top:1px solid #50728b}.defense .framework h3{font-size:clamp(1.5rem,2.2vw,1.8rem)}

.brief-contact{margin-top:30px;padding-top:24px;border-top:1px solid #d6e2ed}.brief-contact h3{font-size:1.5rem;margin:0 0 14px}.brief-contact>p{line-height:1.7;color:#50677c}.brief-contact-links{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin:22px 0}.brief-contact-links .button{font-size:.95rem;padding:15px 20px}.brief-contact-links .inline-link{padding:12px 0}@media(max-width:650px){.brief-contact-links{flex-direction:column;align-items:stretch}.brief-contact-links .button{justify-content:center}}
