/* Interior page design only. The homepage and its shared assets are unchanged. */
.interior-enhanced .interior-hero{display:grid;grid-template-columns:1fr 1fr;min-height:34rem;background:#f4f4f4;color:var(--ink);overflow:hidden}
.interior-enhanced .interior-hero::before{display:none}
.interior-enhanced .interior-hero-content{width:100%;padding:5rem max(2rem,calc((100vw - 80rem)/2));padding-right:3.5rem;align-self:center;grid-column:1;grid-row:1}
.interior-enhanced .interior-hero h1{font-size:clamp(2.75rem,4.3vw,4.7rem);max-width:13ch;line-height:1.04;margin:1.5rem 0 2rem;color:var(--ink)}
.interior-enhanced .interior-hero .intro{font-size:1.125rem;color:var(--slate);max-width:46ch}
.interior-photo{overflow:hidden;background:#e4e4e4;position:relative}
.interior-photo img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;transition:transform 800ms cubic-bezier(.2,.7,.2,1)}
.interior-hero-photo{grid-column:2;grid-row:1;min-height:34rem}
.page-about .interior-hero-photo img{object-position:62% center}
.page-capabilities .interior-hero-photo img{object-position:62% center}
.page-technology-security .interior-hero-photo img{object-position:65% center}
.interior-index{border-bottom:1px solid var(--hairline)}
.interior-index .container{display:flex;justify-content:space-between;gap:2rem;padding-block:1.15rem;font-size:.75rem;letter-spacing:.06em}
.interior-index span:nth-child(2){letter-spacing:0;color:var(--slate);font-size:.875rem}
.interior-enhanced .eyebrow{font-size:.875rem;letter-spacing:.07em}
.scope-explorer{padding:5rem 0 4rem;background:#191919;color:white}
.scope-heading{display:grid;grid-template-columns:1fr 2fr;gap:1rem 3rem;align-items:start}
.scope-heading h2{font-size:clamp(2.4rem,4vw,4rem)}
.scope-heading>p:last-child{grid-column:2;color:#bcbcbc;font-size:1rem}
.scope-stage{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;margin:2.5rem 0}
.scope-diagram{background:#222;padding:1.5rem;border:1px solid #3d3d3d}
.scope-diagram svg{width:100%;height:auto;display:block}
.scope-diagram .diagram-line{stroke:#787878;stroke-width:2;fill:none;stroke-dasharray:5 6}
.scope-diagram g circle{fill:#222;stroke:#787878;stroke-width:2;transition:fill .35s,stroke .35s}
.scope-diagram g text{fill:#fff;font-family:var(--sans);font-size:24px;text-anchor:middle}
.scope-diagram g.is-active circle{fill:#9d292c;stroke:#d38486}
.scope-diagram .hub-dot{fill:#9d292c;stroke:#d38486}
.diagram-legend{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;padding-top:1.5rem;border-top:1px solid #484848;font-size:.875rem}
.diagram-legend span{color:#d0d0d0;line-height:1.5}
.diagram-legend b{display:block;color:#fff;font-weight:400;margin-bottom:.35rem}
.scope-detail h3{font-size:clamp(1.8rem,3vw,3rem);line-height:1.12;margin:1.5rem 0}
.scope-detail>p:last-child{color:#ccc;font-size:1.125rem;max-width:44ch}
.scope-detail>.eyebrow{color:#d7a2a4}
.scope-detail-wrap{min-height:19rem;display:grid;align-items:center}
.scope-controls{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #575757}
.scope-controls button{display:flex;gap:1rem;text-align:left;align-items:center;min-height:6rem;padding:1.4rem;background:transparent;border:0;border-bottom:3px solid transparent;color:#bdbdbd;font-size:1rem}
.scope-controls button+button{border-left:1px solid #575757}
.scope-controls button[aria-pressed=true]{border-bottom-color:#ca7478;background:#2d2223;color:white}
.scope-controls button:hover{background:#303030;color:white}
.scope-num{font-size:.875rem;color:#bfbfbf;align-self:flex-start}
.scope-symbol{margin-left:auto;font-size:1.5rem;font-weight:300}
.scope-controls button[aria-pressed=true] .scope-symbol{transform:rotate(45deg)}
.capability-atlas,.industry-atlas{padding:5rem 0;background:#fff}
.atlas-heading{display:grid;grid-template-columns:1fr 2fr;gap:3rem;margin-bottom:3rem}
.atlas-heading h2{font-size:clamp(2.5rem,4vw,4rem)}
.atlas-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.capability-tile{border:1px solid #dedede;align-self:start}
.capability-tile summary,.industry-card summary{list-style:none;cursor:pointer}
.capability-tile summary::-webkit-details-marker,.industry-card summary::-webkit-details-marker{display:none}
.capability-tile .interior-photo{aspect-ratio:16/9}
.tile-title{display:flex;align-items:flex-start;gap:1rem;padding:1.5rem;font-size:1.6rem;line-height:1.2;letter-spacing:-.035em}
.tile-title b,.industry-title>b{font-size:.875rem;font-weight:400;letter-spacing:0;color:#666;padding-top:.3rem}
.tile-toggle{font-size:1.6rem;line-height:1;margin-left:auto;color:#9d292c;transition:transform .25s}
details[open] .tile-toggle{transform:rotate(45deg)}
.tile-detail{padding:0 1.5rem 1.75rem;border-top:1px solid #eee}
.tile-detail p{margin:1.4rem 0;font-size:1rem}
.tile-detail a{color:#9d292c;font-size:1rem}
.capability-tile:hover img,.industry-card:hover img{transform:scale(1.035)}
.capability-tile[open]{border-color:#9d292c}
.capability-checklist{list-style:none!important;padding:0!important;display:grid;grid-template-columns:1fr 1fr;gap:1rem!important;margin-top:1.5rem!important}
.capability-checklist li{padding:1.5rem!important;background:#f4f4f4;border-top:2px solid #9d292c;line-height:1.6}
.interior-enhanced .content-layout{padding-block:5rem}
.interior-enhanced .longform .content-section{margin-bottom:3.5rem}
.interior-enhanced .longform h2{font-size:clamp(2rem,3vw,2.8rem);margin-bottom:1.5rem}
.group-model{margin:2rem 0 2.5rem}
.capability-process{list-style:none;padding:0!important;margin:2rem 0!important;display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;border-top:1px solid #9d292c}
.capability-process li{padding-top:1.5rem;position:relative}
.capability-process li::before{content:'';position:absolute;top:-5px;left:0;width:9px;height:9px;background:#9d292c;border-radius:50%}
.capability-process span{display:block;color:#9d292c;font-size:2rem;line-height:1;margin-bottom:1.25rem}
.capability-process strong{font-weight:400;font-size:1.1rem;display:block}
.capability-process p{font-size:.875rem!important;margin:.5rem 0 0!important}
.group-parent{width:13rem;margin:auto;text-align:center;border:1px solid #9d292c;background:#191919;padding:1.6rem;color:white}
.group-parent>span{font-size:3.5rem;letter-spacing:-.06em;line-height:1}
.group-parent>p{color:#fff;letter-spacing:.2em;font-size:.875rem}
.group-connector{height:2.5rem;border-left:1px solid #9d292c;width:1px;margin:auto}
.group-divisions{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;border-top:1px solid #9d292c;padding-top:1.5rem}
.group-divisions a{display:flex;gap:1rem;border:1px solid #ddd;padding:1.5rem;text-decoration:none;align-items:start}
.group-divisions a:hover{border-color:#9d292c;background:#f7f7f7}
.group-divisions a>span{font-size:.875rem;color:#9d292c}
.group-divisions strong{font-size:1.1rem;font-weight:400;line-height:1.4}
.industry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;align-items:start}
.industry-card{border-bottom:1px solid #ccc;scroll-margin-top:6rem}
.industry-card .interior-photo{aspect-ratio:4/3}
.industry-title{display:flex;gap:.75rem;align-items:flex-start;padding:1.5rem 0}
.industry-title h2{font-size:1.55rem;line-height:1.2;margin:0}
.industry-title .tile-toggle{flex-shrink:0}
.industry-detail{padding-bottom:1.5rem;font-size:1rem}
.industry-card[open]{border-color:#9d292c}
.interior-steps{display:grid!important;grid-template-columns:repeat(3,1fr);list-style:none!important;gap:1.5rem!important;counter-reset:interior-step;padding:0!important}
.interior-steps li{counter-increment:interior-step;padding:1.5rem 0!important;border-top:2px solid #9d292c}
.interior-steps li::before{content:'0' counter(interior-step);font-size:2.5rem;display:block;margin-bottom:1.5rem;color:#9d292c;line-height:1}
.contact-visual{aspect-ratio:16/9;margin-top:2.5rem}
.inquiry-guide{background:#191919;color:#fff;padding:1.5rem}
.inquiry-guide p{color:white}
.inquiry-guide ol{list-style:none;margin:1rem 0 0;padding:0}
.inquiry-guide li{display:flex;gap:1rem;padding:.85rem 0;border-top:1px solid #555;font-size:1rem}
.inquiry-guide li span{color:#d7a2a4;font-size:.875rem}
.interior-enhanced .contact-layout{padding-top:1.5rem}
.interior-enhanced summary:focus-visible{outline:3px solid #9d292c;outline-offset:5px}
@media(max-width:1000px){.interior-enhanced .interior-hero-content{padding:3rem 2rem}.interior-enhanced .interior-hero h1{font-size:3rem}.scope-stage{gap:2rem}.scope-controls button{padding:1rem;gap:.75rem;font-size:.9rem}.industry-grid{grid-template-columns:1fr 1fr}.scope-heading,.atlas-heading{grid-template-columns:1fr 2fr;gap:1.5rem}.scope-detail-wrap{min-height:22rem}}
@media(max-width:759px){
 .interior-enhanced .interior-hero{grid-template-columns:1fr;min-height:0}
 .interior-enhanced .interior-hero-content{padding:2.75rem var(--gutter);grid-row:1;grid-column:1}
 .interior-enhanced .interior-hero h1{font-size:clamp(2.5rem,10vw,3.4rem);margin:1rem 0 1.5rem;max-width:15ch}
 .interior-enhanced .interior-hero .intro{font-size:1rem}
 .interior-hero-photo{grid-column:1;grid-row:2;min-height:0;aspect-ratio:16/10}
 .interior-index .container{padding-block:.9rem;gap:1rem;font-size:.75rem}.interior-index span:nth-child(2){font-size:.8rem}.interior-index span:last-child{display:none}
 .scope-explorer,.capability-atlas,.industry-atlas{padding-block:3rem}
 .scope-heading,.atlas-heading{grid-template-columns:1fr;gap:1rem}.scope-heading>p:last-child{grid-column:1}.scope-heading h2,.atlas-heading h2{font-size:2.4rem}
 .scope-stage{grid-template-columns:1fr;gap:1.8rem;margin:2rem 0}
 .scope-diagram{padding:1rem}.diagram-legend{gap:.5rem;font-size:.875rem}.scope-diagram svg{max-height:220px}
 .scope-detail-wrap{min-height:18rem}.scope-detail h3{font-size:1.9rem;margin:1rem 0}.scope-detail>p:last-child{font-size:1rem}.scope-detail>.eyebrow{font-size:.8rem}
 .scope-controls{grid-template-columns:1fr}.scope-controls button{min-height:64px;padding:1rem;font-size:1rem;border-bottom:1px solid #575757}
 .scope-controls button+button{border-left:0}.scope-controls button[aria-pressed=true]{border-bottom:1px solid #ca7478;border-left:3px solid #ca7478}
 .atlas-grid,.industry-grid{grid-template-columns:1fr;gap:1.5rem}.atlas-heading{margin-bottom:2rem}
 .tile-title{font-size:1.4rem;padding:1.25rem}.tile-detail{padding-inline:1.25rem}.tile-detail p{font-size:1rem}
 .capability-checklist{grid-template-columns:1fr}.capability-checklist li{padding:1.25rem!important}
 .capability-process{grid-template-columns:1fr 1fr;gap:1.5rem}.capability-process li:nth-child(n+3){border-top:1px solid #9d292c}
 .interior-enhanced .content-layout{padding-block:3rem}.interior-enhanced .longform h2{font-size:1.9rem}
 .interior-steps{grid-template-columns:1fr}.interior-steps li{padding:1rem 0!important}.interior-steps li::before{font-size:2rem;margin-bottom:1rem}
 .group-divisions{grid-template-columns:1fr}.group-divisions a{min-height:72px;padding:1.25rem}.group-parent{width:12rem}
 .industry-title h2{font-size:1.5rem}.contact-visual{margin-top:1.5rem}
}
@media(prefers-reduced-motion:reduce){.interior-photo img,.tile-toggle,.scope-diagram g circle{transition:none}.capability-tile:hover img,.industry-card:hover img{transform:none}}
/* Scope flow infographic: labeled start, three steps, outcome */
.scope-diagram{padding:1.5rem 1.25rem}
.scope-diagram svg.flow{max-height:none;width:100%;height:auto}
.scope-diagram .flow-arrow{stroke:#8a8a8a;stroke-width:2;fill:none;marker-end:url(#arr)}
.scope-diagram .flow marker path{fill:#8a8a8a;stroke:none}
.scope-diagram .flow-cap rect{fill:none;stroke:#6a6a6a;stroke-width:1.5}
.scope-diagram .flow-cap text{fill:#c9c9c9;font-size:14px;letter-spacing:.14em;text-anchor:middle}
.scope-diagram .flow-end rect{fill:#2d2223;stroke:#ca7478}
.scope-diagram .flow-end text{fill:#f0d5d6}
.scope-diagram .flow-node{cursor:pointer}
.scope-diagram .flow-node rect{fill:#2b2b2b;stroke:#4d4d4d;stroke-width:1.5;transition:fill .3s,stroke .3s}
.scope-diagram .flow-node circle{fill:none;stroke:#8a8a8a;stroke-width:2;transition:fill .3s,stroke .3s}
.scope-diagram .flow-node text{text-anchor:start;fill:#fff}
.scope-diagram .flow-node .n-num{text-anchor:middle;font-size:18px}
.scope-diagram .flow-node .n-label{font-size:25px}
.scope-diagram .flow-node .n-sub{font-size:18px;fill:#b5b5b5;transition:fill .3s}
.scope-diagram .flow-node:hover rect{stroke:#8a8a8a}
.scope-diagram .flow-node.is-active rect{fill:#9d292c;stroke:#d38486}
.scope-diagram .flow-node.is-active circle{fill:#7d1f22;stroke:#fff}
.scope-diagram .flow-node.is-active .n-sub{fill:#f3dcdc}
.scope-diagram g.flow-node circle,.scope-diagram g.flow-node text{font-family:var(--sans)}
/* Capabilities process: connected stage cards */
.capability-process{border-top:0;gap:0;counter-reset:s;margin:2.5rem 0!important}
.capability-process li{padding:1.5rem 1.5rem 1.6rem;border:1px solid #d6d6d6;background:#fafafa;position:relative}
.capability-process li+li{border-left:0}
.capability-process li::before{display:none}
.capability-process li:not(:last-child)::after{content:'';position:absolute;top:50%;right:-9px;width:16px;height:16px;background:#fafafa;border-top:1px solid #d6d6d6;border-right:1px solid #d6d6d6;transform:translateY(-50%) rotate(45deg);z-index:1}
.capability-process li:last-child{background:#9d292c;border-color:#9d292c;color:#fff}
.capability-process li:last-child span,.capability-process li:last-child p,.capability-process li:last-child em{color:#fff}
.capability-process strong{font-size:1.35rem;font-weight:500}
.capability-process em{display:block;font-style:normal;color:#9d292c;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;margin-top:.35rem}
.capability-process p{color:#555;margin:.9rem 0 0!important}
@media(max-width:900px){.capability-process{grid-template-columns:1fr 1fr}.capability-process li:nth-child(n+3){border-top:0}.capability-process li:nth-child(odd){border-left:1px solid #d6d6d6}.capability-process li:nth-child(2)::after{display:none}.capability-process li:nth-child(n+3){border-top:1px solid #d6d6d6}}
@media(max-width:560px){.capability-process{grid-template-columns:1fr}.capability-process li{border-left:1px solid #d6d6d6!important;border-top:0!important}.capability-process li:not(:last-child)::after{top:auto;bottom:-9px;right:auto;left:50%;transform:translateX(-50%) rotate(135deg)}.capability-process li:nth-child(2)::after{display:block}}
/* Scope flow v2 (ChatGPT-designed cards, Government page first) */
.scope-diagram svg.flow2{width:100%;height:auto;max-height:none;display:block;font-family:var(--sans);shape-rendering:geometricPrecision}
.scope-diagram .flow2 .cap{fill:#222;stroke:#585858;stroke-width:2}
.scope-diagram .flow2 .cap-end{fill:#2d2223;stroke:#ca7478}
.scope-diagram .flow2 .cap-label{fill:#fff;font-size:15px;font-weight:600;letter-spacing:.14em;text-anchor:middle}
.scope-diagram .flow2 .connector{fill:none;stroke:#7a7a7a;stroke-width:2}
.scope-diagram .flow2 [data-node]{cursor:pointer}
.scope-diagram .flow2 .step-card{fill:#2b2b2b;stroke:#5f5f5f;stroke-width:2;transition:fill .3s,stroke .3s}
.scope-diagram .flow2 [data-node]:hover .step-card{stroke:#9a9a9a}
.scope-diagram .flow2 g text{text-anchor:start}
.scope-diagram .flow2 .step-number{fill:#b5b5b5;font-size:18px;font-weight:600;letter-spacing:.06em}
.scope-diagram .flow2 .step-title{fill:#fff;font-size:24px;font-weight:600}
.scope-diagram .flow2 .step-subtitle{fill:#b5b5b5;font-size:17px}
.scope-diagram .flow2 g.step-icon,.scope-diagram .flow2 g.step-icon *{fill:none;stroke:#cfcfcf;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.scope-diagram .flow2 g.step-icon .stamp{stroke:#d38486}
.scope-diagram .flow2 g.is-active .step-card{fill:#9d292c;stroke:#d38486}
.scope-diagram .flow2 g.is-active .step-number,.scope-diagram .flow2 g.is-active .step-title,.scope-diagram .flow2 g.is-active .step-subtitle{fill:#fff}
.scope-diagram .flow2 g.is-active g.step-icon,.scope-diagram .flow2 g.is-active g.step-icon *{stroke:#fff}
.scope-diagram .flow2 g.is-active g.step-icon .stamp{stroke:#f3c3c4}
/* Engagement flow (ChatGPT-designed). The ol stays in the DOM as the accessible text version. */
.capability-process.capability-process--text{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;margin:-1px!important;padding:0!important;border:0!important}
.engagement-visual{margin:2.5rem 0}
.engagement-flow{display:block;width:100%;height:auto;font-family:var(--sans);shape-rendering:geometricPrecision}
.engagement-flow--stacked{display:none;max-width:420px;margin-inline:auto}
.engagement-flow .bg{fill:#fafafa}
.engagement-flow .stage{fill:#fff;stroke:#222;stroke-width:2}
.engagement-flow .stage--final{fill:#9d292c;stroke:#9d292c}
.engagement-flow .number{fill:#9d292c;font-size:18px;font-weight:700;letter-spacing:.08em}
.engagement-flow .title{fill:#191919;font-size:30px;font-weight:600}
.engagement-flow .sub{fill:#555;font-size:20px}
.engagement-flow--stacked .title{font-size:22px}.engagement-flow--stacked .sub{font-size:16px}.engagement-flow--stacked .number{font-size:16px}
.engagement-flow .final-text{fill:#fff}
.engagement-flow .icon{fill:none;stroke:#191919;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.engagement-flow .icon--final{stroke:#fff}
.engagement-flow .chevron{fill:none;stroke:#9d292c;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:1000px){.engagement-flow--wide{display:none}.engagement-flow--stacked{display:block}}
