/* Shared additions for the multipage site; the established navy identity stays. */
.hero #hero-title { font-size:clamp(44px,5.1vw,76px); line-height:1.06; letter-spacing:-.035em; }
.hero-description { max-width:490px; }
.desktop-nav { gap:24px; margin-left:24px; }
.desktop-nav a { white-space:nowrap; }
.service-name { max-width:600px; }
.service-short { max-width:230px; }
.marketplace-feature { margin:16px; border-radius:20px; background:var(--abyss,#071c36); color:white; padding-top:80px; padding-bottom:70px; overflow:hidden; }
.marketplace-feature-head { display:grid; grid-template-columns:1.1fr 1fr; gap:60px; align-items:end; }
.marketplace-feature h2 { font-size:clamp(36px,4.5vw,66px); line-height:1.08; letter-spacing:-.035em; }
.marketplace-feature h2 span { color:#a8c7e8; }
.marketplace-feature-head>p { max-width:440px; font-size:19px; color:#c3d6eb; }
.marketplace-map { display:grid; grid-template-columns:1fr .8fr 1fr; gap:32px; align-items:center; padding:60px 0; }
.marketplace-platforms { display:flex; gap:16px; flex-wrap:wrap; }
.marketplace-platforms span { font-size:clamp(22px,2.4vw,36px); font-weight:550; }
.marketplace-platforms span+span { color:#a8c7e8; }
.marketplace-bridge { position:relative; color:#c3d6eb; font-size:14px; text-align:center; padding:20px 0; border-bottom:1px solid #607f9f; }
.marketplace-bridge i { position:absolute; width:7px; height:7px; bottom:-4px; left:0; background:white; border-radius:50%; animation:data-transfer 3.2s cubic-bezier(.16,1,.3,1) infinite; }
@keyframes data-transfer { from{left:0;opacity:0} 15%{opacity:1} 85%{opacity:1} to{left:100%;opacity:0} }
.marketplace-destination { padding:25px; background:#163654; border-radius:12px; box-shadow:0 20px 45px #0003; }
.marketplace-destination strong { display:block; font-size:27px; margin-bottom:8px; }
.marketplace-destination span { font-size:14px; color:#c3d6eb; }
.marketplace-feature-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; padding:24px 0; border-top:1px solid #3a526e; border-bottom:1px solid #3a526e; }
.marketplace-feature-links a { font-size:16px; color:#dce8ff; justify-content:space-between; }
.marketplace-feature-bottom { display:flex; justify-content:space-between; align-items:center; gap:32px; padding-top:32px; }
.marketplace-feature-bottom p { max-width:550px; color:#c3d6eb; font-size:16px; }
.marketplace-feature-bottom .button { flex:none; }
.inner-page .site-footer { margin-top:0; }
.breadcrumbs { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-bottom:46px; font-size:14px; line-height:1.6; color:#c3d6eb; }
.breadcrumbs a:hover { color:white; text-decoration:underline; text-underline-offset:4px; }
.breadcrumbs>span[aria-current] { max-width:100%; }
.page-hero { position:relative; overflow:hidden; background:var(--abyss,#071c36); color:white; padding-top:46px; padding-bottom:70px; margin:16px; border-radius:20px; }
.page-hero-layout { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr); gap:clamp(32px,5vw,80px); align-items:center; }
.page-hero h1 { font-size:clamp(38px,4.1vw,64px); line-height:1.08; letter-spacing:-.035em; font-weight:550; margin:0; overflow-wrap:break-word; }
.page-lead { color:#d0e2fa; font-size:19px; line-height:1.7; max-width:65ch; margin:28px 0 32px; }
.page-answer { align-self:stretch; display:flex; flex-direction:column; justify-content:center; padding:clamp(24px,3vw,44px); background:#163654; border-radius:14px; box-shadow:0 24px 60px #0003; }
.page-answer h2 { font-size:23px; font-weight:550; margin:0 0 20px; }
.page-answer p { font-size:17px; line-height:1.75; color:#d0e2fa; margin:0; }
.page-answer>span { display:block; margin-top:28px; padding-top:20px; border-top:1px solid #4f7197; font-size:14px; color:#b9d7ff; }
.page-art { position:relative; overflow:hidden; border-radius:14px; min-height:300px; }
.page-art img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; }
.scope-section,.outcome-section,.page-faq,.related-section,.about-story,.related-marketplaces,.service-directory { padding-top:80px; padding-bottom:80px; }
.content-heading { display:grid; grid-template-columns:1fr 1fr; gap:50px; margin-bottom:44px; }
.inner-page h2 { font-size:clamp(28px,3vw,43px); line-height:1.15; letter-spacing:-.025em; }
.inner-page .page-answer h2 { font-size:23px; }
.content-heading p { font-size:17px; color:var(--muted); max-width:50ch; }
.scope-list { margin-top:35px; }
.scope-list article { display:grid; grid-template-columns:1fr 1.4fr; gap:60px; padding:28px 0; border-top:1px solid var(--line); }
.scope-list article h3 { font-size:23px; line-height:1.3; font-weight:550; letter-spacing:-.02em; }
.scope-list article p { max-width:65ch; color:var(--muted); font-size:17px; line-height:1.75; }
.flow-section { background:#edf3f8; padding-top:65px; padding-bottom:55px; }
.process-flow { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; margin-top:38px; }
.process-flow>div { padding-top:24px; border-top:1px solid #9bb2ca; }
.process-flow span { font-size:14px; color:var(--muted); }
.process-flow p { margin-top:15px; font-size:22px; line-height:1.4; font-weight:500; max-width:25ch; }
.flow-note { font-size:14px; line-height:1.7; color:var(--muted); margin-top:36px; }
.outcome-section { display:grid; grid-template-columns:1fr 1fr; gap:70px; }
.outcome-section h2 { margin-bottom:24px; }
.outcome-section p,.outcome-section li,.about-story p { font-size:17px; line-height:1.8; color:var(--muted); max-width:65ch; }
.outcome-section ul { padding-left:20px; }
.outcome-section li+li { margin-top:12px; }
.page-faq { background:#f5f8fb; display:grid; grid-template-columns:.8fr 1.3fr; gap:70px; }
.page-faq .faq-list { min-width:0; }
.related-links { display:flex; flex-wrap:wrap; gap:15px 40px; margin-top:30px; }
.related-links a { font-size:17px; }
.page-cta { background:#123d78; color:white; padding-top:65px; padding-bottom:65px; }
.page-cta p { margin:20px 0 28px; font-size:18px; color:#d0e2fa; }
.direction-row { display:flex; align-items:center; justify-content:space-between; gap:50px; border-top:1px solid var(--line); padding:36px 0; transition:color .2s; }
.direction-row h2 { font-size:clamp(25px,2.5vw,36px); margin-bottom:18px; }
.direction-row p { font-size:17px; line-height:1.75; color:var(--muted); max-width:75ch; }
.direction-row>span { flex:none; width:50px; height:50px; border-radius:50%; background:#edf3f8; display:grid; place-items:center; }
.direction-row svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.5; }
.direction-row:hover { color:var(--blue); }
.direction-row:hover>span { background:#dce8ff; }
.about-story { display:grid; grid-template-columns:1.2fr 1fr; gap:80px; }
.about-story h2 { margin-bottom:24px; }
.about-story p+p { margin-top:18px; }
.about-disciplines p { border-bottom:1px solid var(--line); padding:18px 0; color:var(--ink); }
.related-marketplaces { background:#f5f8fb; }
.related-marketplaces>.direction-list { margin-top:35px; }
.footer-services { grid-template-columns:repeat(3,minmax(0,1fr)); }
.footer-services .footer-service-link { display:flex; align-items:center; gap:10px; }
.footer-service-link svg { width:18px; height:18px; flex:none; }
@media(max-width:1150px) {
 .desktop-nav{gap:16px;margin-left:16px;font-size:14px}
 .header-cta{font-size:14px}
 .marketplace-feature-bottom{align-items:start;flex-direction:column}
}
@media(max-width:900px) {
 .page-hero-layout{grid-template-columns:1fr}
 .page-answer{max-width:100%}
 .page-art{display:none}
 .page-faq,.about-story{grid-template-columns:1fr;gap:35px}
 .marketplace-feature-head{grid-template-columns:1fr;gap:24px}
 .marketplace-map{gap:20px}
 .marketplace-feature-links{grid-template-columns:1fr}
 .marketplace-platforms{flex-direction:column}
 .footer-services{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px) {
 .hero #hero-title{font-size:clamp(34px,9.6vw,54px);line-height:1.08}
 .hero-description{max-width:32ch}
 .page-hero,.marketplace-feature{margin:8px;border-radius:15px}
 .page-hero{padding:25px 20px 40px}
 .breadcrumbs{font-size:12px;gap:7px;margin-bottom:30px}
 .page-hero h1{font-size:clamp(33px,9vw,48px)}
 .page-lead{font-size:17px;line-height:1.7}
 .page-hero-layout{gap:32px}
 .page-answer{padding:24px}
 .scope-section,.outcome-section,.page-faq,.related-section,.about-story,.related-marketplaces,.service-directory{padding-top:48px;padding-bottom:48px}
 .scope-list article,.content-heading,.outcome-section{grid-template-columns:1fr;gap:18px}
 .content-heading{margin-bottom:24px}
 .scope-list article{padding:24px 0}
 .scope-list article h3{font-size:22px}
 .scope-list article p,.direction-row p{font-size:16px}
 .process-flow{grid-template-columns:1fr;gap:24px}
 .process-flow>div{display:grid;grid-template-columns:30px 1fr;gap:16px;padding-top:20px}
 .process-flow p{margin:0;font-size:20px;max-width:100%}
 .flow-section{padding-top:45px;padding-bottom:40px}
 .outcome-section{gap:36px}
 .page-cta{padding-top:45px;padding-bottom:45px}
 .direction-row{gap:15px;padding:26px 0}
 .direction-row>span{width:36px;height:36px}
 .direction-row h2{font-size:25px}
 .marketplace-feature{padding:45px 20px}
 .marketplace-feature h2{font-size:39px}
 .marketplace-feature-head>p{font-size:17px}
 .marketplace-map{grid-template-columns:1fr;padding:30px 0;gap:22px}
 .marketplace-platforms{flex-direction:row;gap:24px}
 .marketplace-platforms span{font-size:27px}
 .marketplace-bridge{text-align:left;padding-top:0}
 .marketplace-feature-bottom .button{width:100%;white-space:normal}
 .marketplace-feature-links .text-link{font-size:16px}
 .footer-services{gap:16px}
}
@media(prefers-reduced-motion:reduce) { .marketplace-bridge i{animation:none;left:50%} }

/* Additional service routes and the editorial library. */
.desktop-nav { gap:18px; }
.desktop-nav a[aria-current="page"] { text-decoration:underline; text-underline-offset:6px; }
.specialized-section,.knowledge-feature { padding-top:65px; padding-bottom:65px; }
.specialized-section h2,.knowledge-feature h2 { font-size:clamp(32px,3.5vw,48px); line-height:1.15; letter-spacing:-.025em; }
.specialized-links { display:grid; grid-template-columns:1fr 1fr; column-gap:55px; margin-top:36px; }
.specialized-links .text-link { padding:22px 0; border-top:1px solid var(--line); justify-content:space-between; font-size:19px; }
.knowledge-feature { background:#f5f8fb; }
.knowledge-feature>.text-link { margin-top:30px; }
.article-list { margin-top:30px; }
.article-row { display:flex; align-items:center; justify-content:space-between; gap:36px; padding:28px 0; border-top:1px solid var(--line); }
.article-row h3 { font-size:24px; line-height:1.3; font-weight:550; letter-spacing:-.02em; margin:0 0 12px; }
.article-row p { font-size:16px; color:var(--muted); max-width:72ch; line-height:1.75; }
.article-row>svg { width:24px; height:24px; flex:none; stroke:currentColor; fill:none; stroke-width:1.5; }
.article-row:hover h3 { color:var(--blue); }
.knowledge-directory,.article-more { padding-top:65px; padding-bottom:65px; }
.article-layout { display:grid; grid-template-columns:235px minmax(0,1fr); gap:70px; align-items:start; padding-top:65px; padding-bottom:65px; }
.article-toc { position:sticky; top:120px; }
.article-toc h2 { font-size:21px; margin-bottom:20px; }
.article-toc a { display:block; padding:10px 0; font-size:15px; line-height:1.5; color:var(--muted); }
.article-toc a:hover { color:var(--blue); text-decoration:underline; text-underline-offset:4px; }
.article-body { max-width:790px; }
.article-body section { scroll-margin-top:120px; }
.article-body section+section { margin-top:44px; }
.article-body h2 { font-size:30px; line-height:1.25; margin-bottom:20px; }
.article-body p,.article-body li { font-size:18px; line-height:1.85; }
.article-body ul { padding-left:22px; }
.article-body li+li { margin-top:10px; }
.article-checklist { padding:30px; background:#edf3f8; border-radius:14px; }
.article-sources a { color:var(--blue); text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere; }
.article-sources>p { margin-top:20px; color:var(--muted); font-size:15px; }
.article-more { background:#f5f8fb; }
.placeholder-body { padding-top:65px; padding-bottom:80px; }
.placeholder-body h2 { margin-bottom:24px; }
.placeholder-body>p { font-size:18px; line-height:1.8; color:var(--muted); max-width:65ch; margin-bottom:30px; }
.placeholder-status { background:#163654; }
.footer-secondary { display:flex; flex-wrap:wrap; gap:12px 32px; padding:0 0 22px; }
.footer-secondary a { color:#c3d6eb; font-size:14px; padding:10px 0; }
.footer-secondary a:hover { color:white; text-decoration:underline; text-underline-offset:4px; }
.form-documents { display:flex; gap:12px 24px; flex-wrap:wrap; margin-top:24px; }
.form-documents .text-link { font-size:13px; min-height:40px; color:#dce8ff; }
.form-documents svg { display:none; }
.consent-field:has(input:disabled) { cursor:default; }
.consent-field input:disabled { opacity:.7; }
.people-section { padding-top:70px; padding-bottom:70px; }
.person { display:grid; grid-template-columns:220px minmax(0,1fr); gap:65px; padding:45px 0; border-top:1px solid var(--line); }
.person-mark { position:relative; display:grid; place-items:center; width:220px; height:220px; overflow:hidden; border-radius:14px; color:white; background:#163654; box-shadow:0 18px 40px #0002; }
.person-mark>span { position:relative; z-index:2; font-size:110px; font-weight:600; line-height:1; }
.person-mark:before,.person-mark:after { content:''; position:absolute; width:135px; height:135px; border:1px solid #7fa9d2; transform:rotate(-24deg); border-radius:14px; }
.person-mark:before { top:-52px; right:-40px; }
.person-mark:after { bottom:-70px; left:-35px; }
.person-mark i { position:absolute; top:0; bottom:0; right:0; width:24px; background:#3167aa; }
.person-mark-ice { background:#c9d8eb; color:#103b65; }
.person-mark-silver { background:#edf3f8; color:#103b65; }
.person-mark-cobalt { background:#164d9a; }
.person-mark-blue { background:#155deb; }
.person-mark-navy { background:#071c36; }
.person-copy h2 { margin:0 0 10px; font-size:40px; }
.person-copy .person-role { color:var(--navy); font-size:21px; font-weight:500; line-height:1.4; margin-bottom:20px; }
.person-copy>p:not(.person-role),.person-copy li { color:var(--muted); font-size:17px; line-height:1.75; max-width:65ch; }
.person-copy ul { margin-top:20px; padding-left:20px; }
.person-copy li+li { margin-top:8px; }
.team-names>div { gap:20px; }
.team-names>div>span { font-size:19px; min-width:70px; color:white; }
.team-names>div>strong { font-size:17px; line-height:1.4; max-width:310px; text-align:right; font-weight:450; }
.team-left>.text-link { margin-right:28px; margin-top:12px; }
.cases-section,.home-cases { padding-top:70px; padding-bottom:70px; }
.case-row { display:grid; grid-template-columns:1.15fr 1fr; gap:55px; align-items:center; padding:38px 0; border-top:1px solid var(--line); }
.case-thumbnail { display:block; border-radius:14px; overflow:hidden; background:#071c36; }
.case-thumbnail img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; transition:transform .65s var(--ease); }
.case-thumbnail:hover img { transform:scale(1.025); }
.case-row-copy h3 { font-size:clamp(27px,2.8vw,40px); line-height:1.15; letter-spacing:-.025em; margin:14px 0 22px; font-weight:550; }
.case-row-copy>p:not(.demo-label) { font-size:17px; color:var(--muted); line-height:1.75; }
.case-row-copy>.text-link { margin-top:24px; }
.demo-label { font-size:14px; color:var(--muted); line-height:1.5; }
.case-cover { margin:24px var(--gutter) 0; }
.case-cover img { width:100%; height:auto; display:block; aspect-ratio:16/9; object-fit:cover; border-radius:16px; }
.case-cover figcaption { color:var(--muted); font-size:13px; line-height:1.6; padding:14px 0 0; }
.case-steps,.case-responsibility { background:#f5f8fb; }
.case-responsibility { padding-top:60px; padding-bottom:60px; }
.case-responsibility ul { margin:28px 0; padding-left:20px; }
.case-responsibility li { font-size:17px; line-height:1.8; color:var(--muted); }
.case-responsibility li+li { margin-top:10px; }
.case-more { padding-top:65px; padding-bottom:65px; }
.case-list-compact { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; margin-top:35px; }
.case-list-compact .case-row { display:block; padding:0; border-top:0; }
.case-list-compact .case-row-copy { padding:22px 0; }
.case-list-compact .case-row-copy h3 { font-size:25px; margin-bottom:16px; }
.case-list-compact .case-row-copy>p:not(.demo-label) { font-size:16px; }
.case-list-compact .case-row-copy>.text-link { margin-top:16px; }
.home-cases>.text-link { margin-top:20px; }
.case-more .case-list-compact { grid-template-columns:repeat(2,minmax(0,1fr)); }
@media(max-width:900px) {
 .person { grid-template-columns:160px minmax(0,1fr); gap:35px; }
 .person-mark { width:160px; height:180px; }
 .person-mark>span { font-size:86px; }
 .case-row { gap:30px; }
 .case-list-compact { grid-template-columns:1fr; }
 .case-list-compact .case-row { display:grid; grid-template-columns:1fr 1fr; gap:28px; align-items:start; }
 .case-list-compact .case-row-copy { padding:0; }
 .case-more .case-list-compact { grid-template-columns:1fr; }
}
@media(max-width:600px) {
 .people-section,.cases-section,.home-cases { padding-top:45px; padding-bottom:45px; }
 .person { grid-template-columns:1fr; gap:26px; padding:32px 0; }
 .person-mark { width:100%; height:180px; }
 .person-copy h2 { font-size:34px; }
 .person-copy .person-role { font-size:20px; }
 .person-copy>p:not(.person-role),.person-copy li { font-size:16px; }
 .team-names>div>strong { font-size:15px; }
 .team-names>div>span { font-size:18px; min-width:58px; }
 .case-row,.case-list-compact .case-row { display:block; padding:26px 0; }
 .case-row-copy,.case-list-compact .case-row-copy { padding-top:24px; }
 .case-row-copy h3 { font-size:28px; }
 .case-list-compact { gap:0; margin-top:20px; }
 .case-cover { margin:16px 16px 0; }
 .case-cover img { border-radius:12px; }
 .case-cover figcaption { font-size:12px; }
 .case-responsibility,.case-more { padding-top:45px; padding-bottom:45px; }
}
@media(prefers-reduced-motion:reduce) { .case-thumbnail img { transition:none; } .case-thumbnail:hover img { transform:none; } }
.home-cases .case-list-compact { grid-template-columns:repeat(4,minmax(0,1fr)); }
.home-cases .case-row-copy h3 { font-size:23px; }
.case-more .case-list-compact { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media(min-width:901px) and (max-width:1199px) {
 .home-cases .case-list-compact { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:900px) {
 .home-cases .case-list-compact,.case-more .case-list-compact { grid-template-columns:1fr; }
}

/* Complete navigation keeps readable labels; tablets use the expanded menu. */
@media(min-width:1280px) {
 .desktop-nav { gap:16px; margin-left:20px; }
 .desktop-nav a { font-size:14px; }
 .header-actions { margin-left:18px; }
}
@media(max-width:1279px) {
 .desktop-nav { display:none; }
 .menu-toggle { display:block; }
 .menu-toggle[aria-expanded="true"] span:first-child { transform:translateY(4px) rotate(45deg); }
 .menu-toggle[aria-expanded="true"] span:last-child { transform:translateY(-4px) rotate(-45deg); }
 .mobile-nav:not([hidden]) { display:flex; position:fixed; top:92px; left:0; right:0; bottom:0; background:white; padding:24px var(--gutter); flex-direction:column; gap:4px; overflow-y:auto; overscroll-behavior:contain; }
 .mobile-nav a { display:block; flex:none; font-size:25px; line-height:1.3; letter-spacing:-.02em; padding:13px 0; min-height:52px; border-bottom:1px solid var(--line); }
 .mobile-nav a[aria-current="page"] { color:var(--blue); }
}
@media(max-width:900px) { .mobile-nav:not([hidden]) { top:78px; } }
@media(max-width:600px) {
 .mobile-nav:not([hidden]) { top:72px; padding-top:16px; padding-bottom:28px; }
 .mobile-nav a { font-size:23px; padding:11px 0; min-height:48px; }
}
@media(max-width:1150px) {
 .desktop-nav { gap:12px; margin-left:14px; }
 .desktop-nav a { font-size:13px; }
}
@media(max-width:900px) {
 .article-layout { grid-template-columns:1fr; gap:35px; }
 .article-toc { position:static; padding-bottom:26px; border-bottom:1px solid var(--line); }
 .article-toc nav { max-width:650px; }
 .article-toc h2 { margin-bottom:12px; }
 .article-body { max-width:100%; }
}
@media(max-width:600px) {
 .specialized-section,.knowledge-feature,.knowledge-directory,.article-more { padding-top:45px; padding-bottom:45px; }
 .specialized-links { grid-template-columns:1fr; margin-top:26px; }
 .specialized-links .text-link { font-size:18px; }
 .article-row { gap:20px; padding:24px 0; }
 .article-row h3 { font-size:22px; }
 .article-row p { font-size:16px; }
 .article-layout { padding-top:35px; padding-bottom:45px; }
 .article-body h2 { font-size:26px; }
 .article-body p,.article-body li { font-size:17px; line-height:1.8; }
 .article-checklist { padding:24px 20px; }
 .article-body section+section { margin-top:34px; }
 .placeholder-body { padding-top:45px; padding-bottom:50px; }
 .footer-secondary { gap:6px 24px; }
 .form-documents { gap:2px 20px; }
}
