/* Framework guides: scoped to the new pages and their How We Work cards. */
.framework-hero .button { margin-top:.7rem; }
.framework-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; margin:0; padding:0; list-style:none; }
.framework-stage { position:relative; min-width:0; padding:1.75rem; border:1px solid var(--slate-700); border-radius:var(--radius-md); background:var(--ink-800); }
.framework-letter { display:grid; place-items:center; width:3.3rem; height:3.3rem; margin-bottom:1.6rem; border-radius:.8rem; background:var(--lime); color:var(--ink-950); font-size:1.7rem; font-weight:850; }
.framework-stage-index { position:absolute; right:1.75rem; top:1.5rem; color:var(--slate-300); font-size:.8rem; letter-spacing:.1em; }
.framework-stage h3 { font-size:1.3rem; margin:0 0 .75rem; }
.framework-stage .framework-question { color:var(--white); font-weight:700; line-height:1.5; }
.framework-stage > p { font-size:.96rem; }
.framework-output { padding-top:1rem; margin:1.35rem 0 0; border-top:1px solid var(--slate-700); }
.framework-output strong { display:block; color:var(--lime); font-size:.76rem; text-transform:uppercase; letter-spacing:.09em; margin-bottom:.4rem; }
.framework-grid-addie { grid-template-columns:repeat(6,minmax(0,1fr)); }
.framework-grid-addie .framework-stage { grid-column:span 2; }
.framework-grid-addie .framework-stage:nth-last-child(-n+2) { grid-column:span 3; }
.framework-note { display:grid; grid-template-columns:minmax(10rem,.7fr) minmax(0,2fr); align-items:start; gap:1.5rem; margin-top:1.5rem; padding:1.5rem 1.75rem; border-left:4px solid var(--lime); border-radius:0 var(--radius-sm) var(--radius-sm) 0; background:var(--ink-950); }
.framework-note > strong { font-size:1.25rem; line-height:1.4; color:var(--lime); }
.framework-note p { margin:0; }
.framework-variant { margin-top:2rem; max-width:65rem; }
.framework-variant h3 { font-size:1.2rem; }
.framework-variant p { margin-bottom:0; }
.framework-example { display:grid; gap:0; list-style:none; padding:0; margin:0; max-width:62rem; }
.framework-example li { display:grid; grid-template-columns:3.5rem minmax(0,1fr); gap:1.5rem; padding:1.7rem 0; border-top:1px solid var(--slate-700); }
.framework-example li > span { color:var(--lime); font-size:1.9rem; font-weight:850; line-height:1.3; }
.framework-example h3 { margin:0 0 .5rem; font-size:1.25rem; }
.framework-example p { margin:0; }
.framework-takeaway { margin-top:2rem; padding:1.75rem; border:1px solid var(--slate-700); border-radius:var(--radius-md); background:var(--ink-800); }
.framework-takeaway h3 { font-size:1.25rem; color:var(--lime); }
.framework-takeaway p { margin-bottom:0; max-width:75ch; }
.framework-links { padding-left:1.3rem; }
.framework-links li + li { margin-top:.7rem; }
.framework-reading { padding-block:2.5rem; }
.framework-reading h2 { font-size:1.25rem; }
.framework-source-note { font-size:.88rem; margin-bottom:0; }
.framework-discovery-card { padding:0; overflow:hidden; }
.framework-discovery-card img { width:100%; height:auto; aspect-ratio:3/2; object-fit:contain; background:var(--ink-900); }
.framework-discovery-card > div { padding:1.75rem; }
.framework-discovery-card h3 a { text-decoration:none; }
.framework-discovery-card h3 a:hover { text-decoration:underline; }
.framework-discovery .framework-discovery-card { min-height:0; }
@media(max-width:1000px) {
 .framework-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .framework-grid-addie .framework-stage,.framework-grid-addie .framework-stage:nth-last-child(-n+2) { grid-column:auto; }
 .framework-grid-addie .framework-stage:last-child { grid-column:1/-1; }
}
@media(max-width:640px) {
 .framework-grid { grid-template-columns:1fr; }
 .framework-stage { padding:1.5rem; }
 .framework-stage-index { right:1.5rem; }
 .framework-note { grid-template-columns:1fr; gap:.7rem; padding:1.3rem; }
 .framework-example li { grid-template-columns:2.5rem minmax(0,1fr); gap:1rem; }
 .framework-discovery { grid-template-columns:1fr; }
 .framework-discovery-card > div { padding:1.4rem; }
}
