/* The combined company page connects credentials, experience, and collaboration. */
.expertise-page { --ex-connector:var(--theme-connector,#91a575); }
.expertise-page [id] { scroll-margin-top:115px; }
.expertise-page .arch-symbols { position:absolute; width:0; height:0; overflow:hidden; }
.expertise-page .arch-icon { display:block; width:32px; height:32px; flex-shrink:0; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.expertise-page .intro-copy { max-width:820px; }
.ex-heading > .eyebrow { margin-bottom:14px; }
.ex-heading > p:not(.eyebrow) { max-width:740px; margin-top:20px; }
.ex-heading h2 { line-height:1.15; }
.ex-kicker { display:block; font-size:.65rem; line-height:1.6; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.ex-capabilities { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.ex-capability { position:relative; display:flex; flex-direction:column; min-width:0; padding:30px; border:1px solid var(--line); border-radius:12px; background:var(--theme-surface,#fff); }
.ex-card-top { display:flex; align-items:center; gap:15px; margin-bottom:30px; color:var(--theme-accent,var(--forest)); }
.ex-card-top .arch-icon { width:30px; height:30px; }
.ex-capability h3 { font-size:1.4rem; line-height:1.25; margin-bottom:18px; }
.ex-capability p { font-size:.87rem; line-height:1.8; margin-bottom:26px; }
.ex-capability > a { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:auto; padding-top:18px; border-top:1px solid var(--line); font-size:.75rem; font-weight:600; line-height:1.6; text-decoration:none; }
.ex-capability > a:hover { text-decoration:underline; }
.ex-capability > a span { flex-shrink:0; font-size:1rem; }
.ex-anchor { position:absolute; top:0; }
.ex-partner-layout,.ex-domain-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:70px; align-items:center; }
.ex-partner-copy h2,.ex-domain-copy h2 { line-height:1.15; }
.ex-partner-copy > p:not(.eyebrow),.ex-domain-copy > p:not(.eyebrow) { margin-top:24px; max-width:480px; line-height:1.8; }
.ex-partner-copy .text-link { margin-top:28px; }
.ex-partner-map { padding:28px; border:1px solid var(--line); border-radius:12px; background:var(--theme-surface,#fff); }
.ex-partner-map > figcaption { margin-bottom:22px; color:var(--theme-quiet,#506b32); }
.ex-partner-hub { display:flex; align-items:center; gap:18px; padding:22px; border-radius:8px; background:var(--forest); color:#f8f8f3; }
.ex-partner-hub .arch-icon { color:var(--lime); }
.ex-partner-hub .ex-kicker { color:var(--lime); margin-bottom:6px; }
.ex-partner-hub h3 { font-size:1.2rem; line-height:1.3; }
.ex-extension-branches { list-style:none; padding:26px 0 0 26px; margin:0 0 0 25px; border-left:1px solid var(--ex-connector); }
.ex-extension-branches li { position:relative; display:flex; gap:16px; align-items:flex-start; padding:0 0 24px; }
.ex-extension-branches li:last-child { padding-bottom:0; }
.ex-extension-branches li::before { content:""; position:absolute; top:14px; right:100%; width:27px; border-top:1px solid var(--ex-connector); }
.ex-extension-branches .arch-icon { width:28px; height:28px; padding:3px; background:var(--theme-surface,#fff); color:var(--theme-accent,var(--forest)); }
.ex-extension-branches h4 { font-size:.93rem; line-height:1.45; font-weight:600; margin:0 0 6px; }
.ex-extension-branches p { font-size:.8rem; line-height:1.7; }
.ex-domain-map { padding:28px; border:1px solid var(--line); border-radius:12px; background:var(--theme-soft,#edf1e5); }
.ex-domain-map > figcaption { margin-bottom:24px; color:var(--theme-quiet,#506b32); }
.ex-sectors { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.ex-sectors > div { position:relative; display:flex; flex-direction:column; align-items:center; gap:18px; padding:28px 12px; border:1px solid var(--line); border-radius:8px; background:var(--theme-surface,#fff); }
.ex-sectors > div::after { content:""; position:absolute; left:50%; top:100%; height:22px; border-left:1px solid var(--ex-connector); }
.ex-sectors .ex-sector-icon { width:42px; height:42px; color:var(--theme-accent,var(--forest)); }
.ex-sectors h3 { font-size:1.15rem; line-height:1.3; }
.ex-context { position:relative; display:flex; align-items:center; gap:18px; padding:24px 0 0; margin-top:21px; border-top:1px solid var(--ex-connector); }
.ex-context::before { content:""; position:absolute; top:0; left:50%; height:16px; border-left:1px solid var(--ex-connector); }
.ex-context .arch-icon { width:28px; height:28px; color:var(--theme-accent,var(--forest)); }
.ex-context h3 { font-size:1rem; line-height:1.5; letter-spacing:-.02em; margin-bottom:7px; }
.ex-context p { font-size:.82rem; line-height:1.7; }
.ex-engagements { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
.ex-engagements article { padding:28px; border-top:2px solid var(--theme-connector,#91a575); background:var(--theme-surface,#fff); border-radius:0 0 8px 8px; }
.ex-engagements .arch-icon { color:var(--theme-accent,var(--forest)); margin-bottom:24px; }
.ex-engagements h3 { font-size:1.2rem; line-height:1.3; margin-bottom:16px; }
.ex-engagements p { font-size:.87rem; line-height:1.8; }
.ex-handoff { display:flex; align-items:center; gap:20px; border-top:1px solid var(--line); padding-top:28px; margin-top:32px; }
.ex-handoff > div { flex:1; }
.ex-handoff > .arch-icon { color:var(--theme-accent,var(--forest)); }
.ex-handoff strong { display:block; font-size:.93rem; font-weight:600; margin-bottom:6px; }
.ex-handoff p { font-size:.84rem; line-height:1.75; max-width:680px; }
.ex-handoff .text-link { font-size:.8rem; flex-shrink:0; }
.ex-next { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); align-items:center; gap:70px; }
.ex-next > div > p:not(.eyebrow) { margin:24px 0; max-width:500px; }
.ex-next-links { display:grid; gap:20px; }
.ex-next-links a { display:flex; align-items:center; gap:20px; padding:24px; border:1px solid #638274; border-radius:8px; text-decoration:none; }
.ex-next-links a:hover { background:#204c3e; border-color:var(--lime); }
.ex-next-links .arch-icon { color:var(--lime); }
.ex-next-links .ex-kicker { color:#cfdfd0; margin-bottom:8px; }
.ex-next-links strong { font-size:1rem; line-height:1.5; font-weight:600; }
.ex-next-links a > span:last-child { margin-left:auto; flex-shrink:0; }

@media(max-width:1100px) {
    .ex-capabilities { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .ex-partner-layout,.ex-domain-layout,.ex-next { gap:40px; }
    .ex-domain-layout { grid-template-columns:1fr; }
    .ex-engagements { gap:18px; }
    .ex-engagements article { padding:22px; }
    .ex-handoff { display:grid; grid-template-columns:32px minmax(0,1fr); align-items:start; }
    .ex-handoff > .text-link { grid-column:2; justify-self:start; }
}
@media(max-width:800px) {
    .ex-partner-layout,.ex-domain-layout,.ex-next { grid-template-columns:1fr; gap:32px; }
    .ex-partner-copy > p:not(.eyebrow),.ex-domain-copy > p:not(.eyebrow) { max-width:680px; }
    .ex-capability { padding:24px; }
    .ex-engagements { grid-template-columns:1fr; }
    .ex-engagements article { display:grid; grid-template-columns:32px minmax(0,1fr); gap:12px 20px; }
    .ex-engagements .arch-icon { grid-row:span 2; margin:0; }
    .ex-engagements h3 { margin:0; }
    .ex-engagements p { grid-column:2; }
}
@media(max-width:600px) {
    .ex-capabilities { grid-template-columns:1fr; gap:18px; }
    .ex-card-top { margin-bottom:22px; }
    .ex-capability h3 { font-size:1.35rem; }
    .ex-partner-map,.ex-domain-map { padding:18px; }
    .ex-partner-hub { gap:12px; padding:18px 14px; }
    .ex-partner-hub .arch-icon { width:26px; height:26px; }
    .ex-partner-hub h3 { font-size:1.05rem; }
    .ex-extension-branches { margin-left:14px; padding-left:18px; }
    .ex-extension-branches li { gap:10px; }
    .ex-extension-branches li::before { width:19px; }
    .ex-extension-branches .arch-icon { width:25px; height:25px; }
    .ex-sectors { grid-template-columns:1fr; gap:14px; }
    .ex-sectors > div { flex-direction:row; padding:16px 20px; gap:14px; }
    .ex-sectors > div::after { display:none; }
    .ex-sectors h3 { font-size:1rem; }
    .ex-context { gap:12px; }
    .ex-context::before { display:none; }
    .ex-handoff { gap:16px; }
    .ex-next-links a { gap:14px; padding:20px; }
    .ex-next-links .arch-icon { width:26px; height:26px; }
}
@media print {
    .expertise-page { --ex-connector:#7b8f76; }
    .ex-capabilities { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
    .ex-capability,.ex-partner-map,.ex-domain-map { background:#fff; border-color:#bbb; break-inside:avoid; }
    .ex-capability { padding:20px; }
    .ex-partner-layout,.ex-domain-layout,.ex-next { grid-template-columns:1fr; gap:24px; }
    .ex-sectors { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .ex-sectors > div { flex-direction:column; padding:20px 12px; }
    .ex-sectors > div::after,.ex-context::before { display:block; }
    .ex-partner-hub { background:#eef1e8; color:#17362e; }
    .ex-partner-hub .arch-icon,.ex-partner-hub .ex-kicker,.ex-next-links .arch-icon,.ex-next-links .ex-kicker { color:#17362e; }
    .ex-next-links a,.ex-engagements article { break-inside:avoid; border-color:#bbb; }
}
