/* Static framework figures shared by the home and Framework page. */
.dimension-key{display:block;font-size:14px;margin-top:8px}
.model-figure{margin:0 0 24px;background:radial-gradient(ellipse at 50% 45%,#ffffffa8,transparent 72%);border-block:1px solid var(--line)}
.model-figure figcaption{border-top:1px solid var(--line);padding:17px 0;font-size:15px;line-height:1.7;color:var(--muted)}.model-figure figcaption strong{font-weight:650;color:var(--ink)}
.model-mobile{display:none}.visual-svg{display:block;width:100%;height:auto;overflow:visible;font-family:Manrope,Arial,sans-serif;color:var(--ink)}.visual-svg text{fill:#101719;font-size:18px;font-weight:400;letter-spacing:-.2px}.visual-svg .main-label{font-size:30px;letter-spacing:-1px}.visual-svg .plane-label{font-size:23px;font-weight:650;fill:#08796F}.visual-svg .label{font-size:20px;font-weight:600}.visual-svg .small{font-size:18px;fill:#45534E}.visual-svg .version{font-size:43px;font-family:'Instrument Serif',Georgia,serif;fill:#08796F}.visual-svg .route,.visual-svg .conditional,.visual-svg .held,.visual-svg .record-lines,.visual-svg .production{fill:none;stroke:#101719;stroke-width:2}.visual-svg .conditional{stroke-dasharray:7 7}.visual-svg .held{stroke-dasharray:6 5;stroke:#45534E}.visual-svg .band{fill:none;stroke:#AFC8BA;stroke-width:9;stroke-linejoin:round}.visual-svg .probe{fill:none;stroke:#6C8175;stroke-width:1.5;stroke-dasharray:3 5}.visual-svg .probe-dot{fill:#EEF2EE;stroke:#6C8175;stroke-width:1.5}.visual-svg .hairline{fill:none;stroke:#C5D0C8;stroke-width:1}.visual-svg .time-line{fill:none;stroke:#A6B4A9;stroke-width:1;stroke-dasharray:2 5}.visual-svg .paper-object rect{stroke:#B9C7BD;stroke-width:1;filter:drop-shadow(0 9px 10px #193C2F15)}.visual-svg .paper-lines{stroke:#CCD8CF;stroke-width:2;fill:none}.visual-svg .gate-object>rect:first-child{filter:drop-shadow(0 9px 12px #193C2F20)}.visual-svg .gate-inner{fill:none;stroke:#C7E4D8;stroke-opacity:.45}.visual-svg .gate-mark{stroke:#101719;stroke-width:2;fill:none}.visual-svg .gate-label{font-size:19px;fill:#EEF2EE;font-weight:500}.visual-svg .effect-seal{fill:none;stroke:#101719;stroke-width:2}.visual-svg .record-lines{stroke:#889F91;stroke-width:2}.visual-svg .cross{stroke:#101719;stroke-width:2;fill:none}.visual-svg .assurance-loop{fill:#EEF2EE;stroke:#6C8175;stroke-width:1.5;stroke-dasharray:4 6}.visual-svg .promotion{fill:#F5F7F3;stroke:#101719;stroke-width:1}.visual-svg .learning{fill:none;stroke:#08796F;stroke-width:3}.visual-svg .next-case{fill:#E2EDE4;stroke:#08796F;stroke-width:1.5}
.framework-header{padding-bottom:28px}.framework-header .page-deck{max-width:760px}.framework-layout{display:grid;grid-template-columns:160px minmax(0,1fr);gap:50px}.framework-toc{position:sticky;top:28px;align-self:start;display:flex;flex-direction:column;gap:13px;padding-top:12px;font-size:13px;line-height:1.5}.framework-toc p{margin-bottom:8px}.framework-toc a{text-decoration:none;color:var(--muted)}.framework-toc a:hover{color:var(--green)}.framework-sections{min-width:0}.visual-section{padding:26px 0 65px;border-bottom:1px solid var(--line)}.visual-section+.visual-section{padding-top:60px}.visual-heading{margin-bottom:25px}.micro{display:block;font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-weight:550}.visual-heading h2{font-size:clamp(35px,3.5vw,51px);line-height:1.08;margin:15px 0 20px;letter-spacing:-.05em}.visual-heading>p{max-width:740px;font-size:17px;line-height:1.8;color:var(--muted)}.foundation-links{display:flex;gap:28px;flex-wrap:wrap;font-size:15px;color:var(--green)}.figure-explanation{font-size:17px;line-height:1.8;max-width:790px}.boundary-rules{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:24px 0}.boundary-rules p{border-top:1px solid var(--line);padding-top:13px;font-size:17px;line-height:1.7}.boundary-rules span{font-size:25px;color:var(--green);margin-right:8px}.framework-note{border-block:1px solid var(--line);padding:15px 0;margin-top:24px;font-size:16px}.framework-note p{padding-top:15px;font-size:17px;max-width:760px}.framework-note summary{cursor:pointer}.case-still{margin-bottom:25px;border-block:1px solid var(--line)}.case-still img{width:100%;display:block}.case-still figcaption{padding:17px 0;font-size:16px;line-height:1.7;color:var(--muted)}.case-still figcaption strong{color:var(--ink)}.framework-sections #attribution{padding:55px 0;font-size:17px}.framework-sections .principles-list{font-size:19px}
.dimensions-layout{display:grid;grid-template-columns:130px 20px minmax(0,1fr);gap:16px;align-items:center;padding:35px 0}.claim-origin{font-size:14px;line-height:1.6}.claim-origin p{margin:20px 0 0}.claim-origin strong{font-weight:600}.claim-html{width:100px;height:125px;border:1px solid #B9C7BD;background:linear-gradient(145deg,#fff,#E4EBE4);box-shadow:0 10px 18px #193C2F12;padding:15px}.claim-rule{display:block;border-top:2px solid #CCD8CF;border-bottom:2px solid #CCD8CF;height:8px;width:100%;margin-bottom:10px}.claim-version{font-family:var(--serif);font-size:47px;line-height:1;color:var(--green)}.dimension-branch{border-left:1px solid #81998A;border-top:1px solid #81998A;border-bottom:1px solid #81998A;height:65%;position:relative}.dimension-branch:before{content:'';position:absolute;right:100%;top:50%;width:17px;border-top:1px solid #81998A}.dimension-panels{display:grid;grid-template-columns:1fr 1fr;gap:18px}.dimension-panel{border:1px solid var(--line);padding:23px 20px;background:#F6F8F3B3;min-width:0}.dimension-panel h3{font-size:25px;line-height:1.15;margin:15px 0;letter-spacing:-1px}.dimension-panel p{font-size:17px;line-height:1.65;color:var(--muted)}.dimension-panel .micro{font-size:12px;letter-spacing:.04em}.dimension-panel table{width:100%;border-collapse:collapse;font-size:15px;text-align:left}.dimension-panel caption{font-size:12px;text-align:left;color:var(--muted);padding-bottom:10px}.dimension-panel td,.dimension-panel th{border-bottom:1px solid var(--line);padding:8px 5px;font-weight:400}.dimension-panel thead th{font-weight:650}.dimension-panel .small-note{font-size:13px;line-height:1.6;margin-top:15px}.kept-dot{font-size:12px;color:#45534E}.ineligible{color:#718276}.eligible{color:var(--green);font-weight:700}
@media(max-width:1150px){.framework-layout{grid-template-columns:1fr;gap:18px}.framework-toc{position:static;flex-direction:row;flex-wrap:wrap;gap:12px 22px;padding:0 0 20px;border-bottom:1px solid var(--line);font-size:14px}.framework-toc p{flex-basis:100%;margin:0}.dimensions-layout{grid-template-columns:120px 18px minmax(0,1fr)}}
@media(max-width:900px){.model-desktop{display:none}.model-mobile{display:block;max-width:390px;margin-inline:auto}.visual-svg text{font-size:16px;letter-spacing:-.1px}.visual-svg .main-label{font-size:23px;letter-spacing:-.8px}.visual-svg .plane-label{font-size:19px}.visual-svg .label{font-size:18px}.visual-svg .small{font-size:16px}.visual-svg .version{font-size:35px}.visual-svg .gate-label{font-size:17px}.visual-svg .band{stroke-width:7}.model-figure figcaption{font-size:16px}.dimensions-layout{grid-template-columns:1fr;gap:20px;padding:25px 0}.claim-origin{display:flex;align-items:center;justify-content:center;gap:25px;font-size:16px}.claim-origin p{margin:0}.claim-html{width:85px;height:105px;padding:12px}.claim-version{font-size:40px}.dimension-branch{width:calc(100% - 60px);height:15px;border-left:1px solid #81998A;border-right:1px solid #81998A;border-bottom:0;justify-self:center}.dimension-branch:before{right:50%;top:-22px;width:0;height:22px;border-left:1px solid #81998A}.dimension-panels{grid-template-columns:1fr 1fr}.dimension-panel h3{font-size:25px}.framework-sections .principles-list{font-size:18px}}
@media(max-width:600px){.framework-header .page-title{font-size:47px}.framework-header .page-deck{font-size:18px}.visual-heading h2{font-size:39px}.visual-section{padding-bottom:40px}.visual-section+.visual-section{padding-top:42px}.visual-heading>p,.figure-explanation,.boundary-rules p,.framework-note p,.framework-sections #attribution{font-size:17px}.boundary-rules{grid-template-columns:1fr;gap:8px}.dimension-panels{grid-template-columns:1fr}.dimension-panel{padding:25px}.dimension-panel h3{font-size:28px}.dimension-panel table{font-size:17px}.dimension-panel .micro{font-size:13px}.dimension-panel caption{font-size:13px}.dimension-panel .small-note{font-size:14px}.foundation-links{gap:15px 25px;font-size:15px}.model-figure{margin-bottom:22px}.case-still figcaption{font-size:16px}.framework-toc{gap:12px 20px}.framework-layout{gap:10px}}

.framework-source{margin:24px 0}.framework-source h3{font-size:20px;line-height:1.4;margin:0 0 8px}.framework-source .doc-meta{font-size:14px;margin:0 0 16px}
