/* R5: Foundation is the shared basis of Services and Product. */
.foundation-summary{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center;background:#f1f3ed;border-bottom:1px solid #dce2d6}
.foundation-summary-copy .lead{margin-top:24px;max-width:490px}
.ontology-panel{background:#fff;border:1px solid #ccd6c8;min-width:0;position:relative}
.ontology-heading{padding:27px 30px;background:var(--green);color:#fff}
.ontology-heading small{display:block;font-size:11px;letter-spacing:.1em;color:#c8d9cd}
.ontology-heading h3{font-size:29px;line-height:1.3;letter-spacing:-.025em;margin-top:9px;font-weight:500}
.ontology-heading p{font-size:14px;color:#dce7db;margin-top:8px}
.ontology-panel dl{margin:0;padding:8px 30px}
.ontology-panel dl>div{padding:17px 0;display:grid;grid-template-columns:90px 1fr;gap:16px;border-top:1px solid #e5e8e0}
.ontology-panel dl>div:first-child{border:0}
.ontology-panel dt{color:var(--green);font-size:13px;font-weight:500}
.ontology-panel dd{margin:0;font-size:14px;color:var(--ink);word-break:keep-all}
.foundation-summary .text-link{border-color:#768979}
.mobile-foundation{font-size:16px;font-weight:500;border-bottom:1px solid var(--line);padding-bottom:21px}
.foundation-hero .lead{max-width:480px}
.foundation-section-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:8vw;align-items:end;margin-bottom:48px}
.foundation-section-heading>p{font-size:17px;line-height:1.85;max-width:470px}
.foundation-system{padding-top:65px}
.foundation-architecture{display:grid;grid-template-columns:1fr 1.45fr 1fr;gap:38px;align-items:center}
.architecture-label{display:block;font-size:11px;font-weight:550;letter-spacing:.1em;color:var(--muted);margin-bottom:21px}
.architecture-input,.architecture-output{min-width:0}
.architecture-input h3,.architecture-output h3{font-size:20px;line-height:1.5}
.record-list{margin-top:23px;display:flex;flex-direction:column;border-top:1px solid #d9ded3}
.record-list span{padding:14px 0;border-bottom:1px solid #d9ded3;font-size:15px}
.architecture-input>p{font-size:13px;line-height:1.8;margin-top:19px;max-width:230px}
.foundation-architecture .ontology-panel::before,.foundation-architecture .ontology-panel::after{content:'';position:absolute;top:50%;height:1px;width:38px;background:#aabbad}
.foundation-architecture .ontology-panel::before{right:100%}
.foundation-architecture .ontology-panel::after{left:100%}
.foundation-architecture .ontology-heading{padding:25px}
.foundation-architecture .ontology-heading h3{font-size:25px}
.foundation-architecture .ontology-panel dl{padding:7px 25px}
.foundation-architecture .ontology-panel dl>div{grid-template-columns:1fr;gap:5px;padding:12px 0}
.application-role{padding:17px 0;border-bottom:1px solid #d9ded3;display:flex;flex-direction:column;gap:6px}
.application-role:first-of-type{margin-top:10px}
.application-role b{font-size:15px;font-weight:550;color:var(--green)}
.application-role:last-of-type b{color:#8a6a13}
.application-role>span{font-size:13px;color:var(--muted);line-height:1.7}
.foundation-practice{background:var(--paper);display:grid;grid-template-columns:1.1fr 1fr;gap:8vw;align-items:center}
.foundation-practice .lead{margin-top:26px}
.knowledge-structure{border-top:1px solid #a2af9c}
.knowledge-structure>div{padding:25px 0;border-bottom:1px solid #d8ddd1}
.knowledge-structure .architecture-label{margin-bottom:12px}
.knowledge-structure h3{font-size:21px;line-height:1.5}
.knowledge-structure p{font-size:15px;line-height:1.8;margin-top:10px}
.knowledge-structure .knowledge-destination{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:23px 0}
.knowledge-destination>span{font-size:13px;color:var(--muted)}
.knowledge-destination strong{font-size:18px;font-weight:500;color:var(--green)}
.knowledge-destination i{color:#b0b8a8;font-style:normal;margin:0 10px}
.principle-list{display:grid;grid-template-columns:1fr 1fr;gap:0 7vw}
.principle-list article{display:grid;grid-template-columns:35px 1fr;gap:8px 15px;padding:29px 0;border-top:1px solid var(--line)}
.principle-list article>span{font-size:13px;color:var(--muted);padding-top:4px;grid-row:1/3}
.principle-list h3{font-size:20px;line-height:1.5}
.principle-list p{font-size:15px;line-height:1.8;grid-column:2;max-width:460px}
@media(max-width:1100px){
 .foundation-summary{gap:5vw}
 .ontology-heading{padding:23px}.ontology-panel dl{padding:7px 23px}
 .ontology-heading h3{font-size:26px}
 .ontology-panel dl>div{grid-template-columns:75px 1fr;gap:12px}
 .foundation-architecture{grid-template-columns:.95fr 1.4fr 1fr;gap:25px}
 .foundation-architecture .ontology-panel::before,.foundation-architecture .ontology-panel::after{width:25px}
 .foundation-architecture .ontology-heading,.foundation-architecture .ontology-panel dl{padding-left:20px;padding-right:20px}
 .foundation-architecture .ontology-heading h3{font-size:23px}
}
@media(max-width:900px) and (min-width:761px){
 .foundation-architecture{grid-template-columns:1fr 1.25fr;align-items:stretch}
 .foundation-architecture .ontology-panel::after{display:none}
 .architecture-output{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:0 25px;border-top:1px solid var(--line);padding-top:25px}
 .architecture-output .architecture-label,.architecture-output h3{grid-column:1/-1}
 .architecture-output .architecture-label{margin-bottom:9px}
 .application-role:first-of-type{margin-top:0}
}
@media(max-width:760px){
 .foundation-summary,.foundation-section-heading,.foundation-practice{grid-template-columns:1fr;gap:32px}
 .foundation-summary-copy .lead{margin-top:20px}
 .foundation-system{padding-top:50px}
 .foundation-section-heading{margin-bottom:32px;gap:22px}
 .foundation-section-heading>p{font-size:16px;line-height:1.8}
 .foundation-architecture{grid-template-columns:1fr;gap:27px}
 .architecture-input h3,.architecture-output h3{font-size:21px}
 .architecture-label{margin-bottom:12px}
 .architecture-input>p{max-width:none}
 .record-list{margin-top:18px}
 .record-list span{padding:12px 0}
 .foundation-architecture .ontology-panel::before,.foundation-architecture .ontology-panel::after{display:none}
 .foundation-architecture .ontology-heading{padding:23px}
 .foundation-architecture .ontology-heading h3{font-size:26px}
 .foundation-architecture .ontology-panel dl{padding:7px 23px}
 .foundation-architecture .ontology-panel dl>div{grid-template-columns:82px 1fr;gap:10px;padding:16px 0}
 .ontology-heading h3{font-size:26px}
 .ontology-panel dd{font-size:14px;line-height:1.7}
 .application-role{display:grid;grid-template-columns:82px 1fr;gap:10px}
 .application-role:first-of-type{margin-top:4px}
 .application-role>span{font-size:14px}
 .foundation-practice .lead{margin-top:23px}
 .knowledge-structure h3{font-size:20px}
 .knowledge-structure .knowledge-destination{gap:15px}
 .knowledge-destination strong{font-size:16px;white-space:nowrap}
 .knowledge-destination i{margin:0 6px}
 .principle-list{grid-template-columns:1fr}
 .principle-list article{padding:24px 0;grid-template-columns:25px 1fr;gap:7px 12px}
 .principle-list h3{font-size:19px}
 .principle-list p{font-size:15px}
}

