.architecture-intro-actions { margin-top:30px; }
.reference-architecture { margin:0; }
.reference-flow { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:16px; list-style:none; margin:0; padding:0; }
.reference-stage { position:relative; border:1px solid var(--line); border-radius:8px; padding:23px 17px; background:#fff; }
.reference-stage:not(:last-child)::after { content:"→"; position:absolute; right:-14px; top:44%; color:var(--forest); font-size:17px; }
.reference-stage-label { display:block; font-size:.62rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; margin-bottom:18px; }
.reference-stage h3 { font-size:1.06rem; line-height:1.35; letter-spacing:-.02em; margin:0 0 14px; }
.reference-stage p { font-size:.76rem; line-height:1.75; margin:0; }
.reference-stage-bronze { background:#f2e2d1; border-color:#d9bea1; }
.reference-stage-silver { background:#e6ebe7; border-color:#c9d1ca; }
.reference-stage-gold { background:#f1e6b2; border-color:#ddcd87; }
.reference-stage-semantic { background:var(--forest); border-color:var(--forest); color:#fff; }
.reference-stage-semantic .reference-stage-label { color:var(--lime); }
.reference-stage-semantic p { color:#e2e9de; }
.reference-foundation { display:flex; align-items:center; gap:28px; margin-top:22px; padding:22px 25px; border-radius:8px; background:#edf1e5; border:1px solid #ccd7bd; }
.reference-foundation h3 { font-size:.85rem; flex-shrink:0; margin:0; }
.reference-foundation ul { display:flex; flex-wrap:wrap; gap:11px 22px; padding:0; margin:0; list-style:none; }
.reference-foundation li { font-size:.7rem; line-height:1.6; }
.reference-architecture > .diagram-note { margin-top:22px; }
.architecture-layers { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:40px; }
.architecture-layers article { scroll-margin-top:115px; }
.architecture-layers .content-card h3 { font-size:1.35rem; }
.architecture-layers .content-card p:last-child { margin-bottom:0; }
.model-reuse { margin:0; min-width:0; }
.model-product { position:relative; background:var(--forest); color:#fff; padding:30px; border-radius:8px; text-align:center; }
.model-product .eyebrow { color:var(--lime); font-size:.6rem; }
.model-product h3 { font-size:1.6rem; margin:0 0 15px; }
.model-product p:last-child { color:#d9e3d3; font-size:.76rem; margin:0; }
.model-product::after { content:""; position:absolute; width:1px; height:25px; left:50%; bottom:-25px; background:#91a575; }
.model-consumers { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; padding-top:24px; margin-top:25px; position:relative; }
.model-consumers::before { content:""; position:absolute; top:0; left:calc(100% / 6); right:calc(100% / 6); height:1px; background:#91a575; }
.model-consumers > div { position:relative; padding:20px 13px; border:1px solid var(--line); border-radius:7px; background:#fff; }
.model-consumers > div::before { content:""; position:absolute; top:-25px; height:24px; width:1px; left:50%; background:#91a575; }
.model-consumers .reference-stage-label { font-size:.52rem; line-height:1.6; min-height:2.5em; margin-bottom:12px; color:#456038; }
.model-consumers h4 { font-size:.84rem; line-height:1.4; margin:0 0 12px; }
.model-consumers p { font-size:.71rem; line-height:1.7; margin:0; }
.model-reuse .diagram-note { margin-top:24px; }
.deployment-table-wrap { border:1px solid var(--line); border-radius:9px; overflow:hidden; margin-bottom:22px; }
.deployment-table { width:100%; border-collapse:collapse; table-layout:fixed; font-size:.85rem; }
.deployment-table caption { padding:18px 22px; text-align:left; font-size:.72rem; color:var(--muted); background:#edf1e5; }
.deployment-table th,.deployment-table td { padding:21px; text-align:left; border-top:1px solid var(--line); line-height:1.65; }
.deployment-table thead { background:#f6f7f2; }
.deployment-table th { font-weight:600; }
.deployment-table tbody th { color:var(--forest); }
.deployment-table td { color:var(--muted); background:#fff; }
.architecture-delivery-note { font-size:.87rem; max-width:850px; margin:0 0 38px; }
.ai-enablement { align-items:start; }
.ai-enablement h2 { margin-bottom:24px; }
.ai-enablement .text-link { margin-top:28px; }
.ai-context-map { min-width:0; margin:0; }
.ai-data-foundation { padding:26px; border:1px solid #ccd7bd; border-radius:9px; background:#edf1e5; text-align:center; }
.ai-data-foundation .eyebrow { font-size:.6rem; margin-bottom:12px; }
.ai-data-foundation h3 { font-size:1.3rem; line-height:1.3; }
.ai-data-foundation ul { display:flex; flex-wrap:wrap; justify-content:center; gap:7px 16px; padding:0; margin:17px 0 0; list-style:none; font-size:.68rem; color:var(--muted); }
.ai-context-sources { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin:28px 0; }
.ai-context-sources > div { position:relative; padding:23px 19px; background:#fff; border:1px solid var(--line); border-radius:8px; }
.ai-context-sources > div::before,.ai-context-sources > div::after { content:""; position:absolute; width:1px; height:29px; background:#91a575; left:50%; }
.ai-context-sources > div::before { top:-29px; }
.ai-context-sources > div::after { bottom:-29px; }
.ai-context-sources .eyebrow { font-size:.55rem; letter-spacing:.08em; margin-bottom:12px; }
.ai-context-sources h3 { font-size:1.15rem; line-height:1.3; margin-bottom:12px; }
.ai-context-sources p:last-child { font-size:.78rem; line-height:1.7; }
.ai-agent-context { padding:26px; border-radius:9px; background:var(--forest); color:var(--white); }
.ai-agent-context .eyebrow { color:var(--lime); font-size:.6rem; margin-bottom:12px; }
.ai-agent-context h3 { font-size:1.4rem; margin-bottom:12px; }
.ai-agent-context > p:not(.eyebrow) { color:#d9e3d3; font-size:.81rem; }
.ai-agent-context blockquote { margin:22px 0 0; padding:17px 19px; border-left:3px solid var(--lime); background:rgba(255,255,255,.07); font-size:.9rem; line-height:1.6; }
.ai-agent-context .ai-query-path { margin:18px 0 0; font-size:.68rem; line-height:1.9; }
.ai-query-path span { color:var(--lime); padding:0 3px; }
.ai-context-map > .diagram-note { margin-top:20px; }
@media(max-width:1100px) {
    .reference-flow { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
    .reference-stage:nth-child(3)::after { content:none; }
    .reference-stage h3 { font-size:1.2rem; }
    .reference-stage p { font-size:.85rem; }
    .reference-foundation { align-items:flex-start; flex-direction:column; gap:15px; }
    .model-consumers { gap:9px; }
    .model-consumers > div { padding:17px 10px; }
}
@media(max-width:800px) {
    .architecture-page .split-layout { grid-template-columns:1fr; }
    .model-reuse { max-width:640px; width:100%; }
    .deployment-table { font-size:.76rem; }
    .deployment-table th,.deployment-table td { padding:16px 12px; }
}
@media(max-width:640px) {
    .ai-context-sources { grid-template-columns:1fr; gap:16px; border-left:1px solid #91a575; border-right:1px solid #91a575; padding:0 20px; margin:0 18px; }
    .ai-context-sources > div:first-child { margin-top:24px; }
    .ai-context-sources > div:last-child { margin-bottom:24px; }
    .ai-context-sources > div::before,.ai-context-sources > div::after { top:50%; bottom:auto; width:21px; height:1px; }
    .ai-context-sources > div::before { left:-21px; }
    .ai-context-sources > div::after { left:auto; right:-21px; }
    .ai-data-foundation,.ai-agent-context { padding:24px 20px; }
    .reference-flow,.architecture-layers { grid-template-columns:1fr; gap:22px; }
    .reference-stage { padding:22px; }
    .reference-stage-label { margin-bottom:13px; }
    .reference-stage h3 { font-size:1.35rem; }
    .reference-stage p { font-size:.9rem; }
    .reference-stage:not(:last-child)::after,.reference-stage:nth-child(3)::after { content:"↓"; top:auto; bottom:-24px; left:50%; right:auto; }
    .reference-foundation { padding:22px; }
    .reference-foundation ul { gap:9px 18px; }
    .architecture-layers { margin-top:32px; }
    .model-product { padding:26px 20px; }
    .model-product h3 { font-size:1.35rem; }
    .model-product::after { left:20px; height:28px; bottom:-28px; }
    .model-consumers { grid-template-columns:1fr; gap:16px; margin-top:28px; margin-left:20px; padding:0 0 0 24px; border-left:1px solid #91a575; }
    .model-consumers::before { content:none; }
    .model-consumers > div { padding:20px; }
    .model-consumers > div::before { top:50%; left:-25px; width:24px; height:1px; }
    .model-consumers .reference-stage-label { font-size:.58rem; min-height:0; }
    .model-consumers h4 { font-size:1.1rem; margin-bottom:8px; }
    .model-consumers p { font-size:.85rem; }
    .deployment-table { font-size:.68rem; }
    .deployment-table caption { padding:15px; font-size:.7rem; }
    .deployment-table th,.deployment-table td { padding:14px 8px; overflow-wrap:anywhere; }
    .deployment-table thead th { font-size:.6rem; }
}
@media print {
    .reference-stage,.model-product,.model-consumers > div,.ai-context-map { break-inside:avoid; }
    .deployment-table { font-size:10pt; }
}
