.gf2-library-intro{margin:18px auto 0;max-width:1160px;padding:42px;border-radius:24px;background:linear-gradient(125deg,#0d3045,#126f6a);color:#fff;box-shadow:0 20px 55px #0b263a25}
.gf2-library-intro .eyebrow{color:#72edc8}.gf2-library-intro h1{margin:8px 0 12px;font-size:clamp(2.4rem,5vw,4.5rem);line-height:1;color:#fff}.gf2-library-intro p:last-child{max-width:760px;font-size:1.12rem;line-height:1.65;color:#e4f5f1}
.gf2-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:1160px;margin:24px auto;padding:0 0 40px}
.gf2-library-card{display:grid;grid-template-columns:minmax(190px,42%) 1fr;min-height:250px;padding:0;border:1px solid #cfdee6;border-radius:22px;overflow:hidden;background:#fff;color:#102b40;text-align:left;cursor:pointer;box-shadow:0 16px 42px #16364b12;transition:transform .18s,box-shadow .18s}
.gf2-library-card:hover{transform:translateY(-3px);box-shadow:0 22px 50px #16364b20}.gf2-library-card img{width:100%;height:100%;object-fit:cover}.gf2-library-card span{display:flex;flex-direction:column;padding:28px}.gf2-library-card small{font-weight:850;letter-spacing:.08em;color:#078162}.gf2-library-card b{margin:10px 0;font-size:1.45rem;line-height:1.15;color:#0c2a3d}.gf2-library-card em{font-style:normal;line-height:1.5;color:#547083}.gf2-library-card i{margin-top:auto;padding-top:20px;font-style:normal;font-weight:850;color:#008f69}
.gf2-formula-panel{display:grid;gap:10px;margin:24px 0;padding:22px;border-radius:16px;background:#edf6fb;border-left:4px solid #218bc4}.gf2-formula-panel strong{font-size:1.35rem;color:#0c3c58}.gf2-formula-panel span{font-weight:750;color:#31576c}
.gf2-worked-book{display:grid;gap:8px;margin:24px 0;padding:24px;border-radius:16px;background:#f0fbf6;border:1px solid #b9e8d5}.gf2-worked-book p{margin:0}.gf2-worked-book strong{margin-top:8px;padding:12px;border-radius:10px;background:#d9f5e9;color:#08694f;font-size:1.15rem}
.gf2-memory-figure{margin:26px 0;padding:26px;border-radius:20px;background:linear-gradient(145deg,#f7fbfd,#e9f5f9);border:1px solid #c8dfe9;text-align:center}.gf2-memory-figure h3{margin:0 0 6px;color:#0b2c40;font-size:1.45rem}.gf2-memory-figure>p{margin:0 auto 12px;max-width:620px;color:#4d697a}.gf2-formula-triangle{display:block;width:min(100%,420px);height:auto;margin:10px auto}.gf2-formula-triangle .triangle-shell{fill:#fff;stroke:#138db5;stroke-width:8;stroke-linejoin:round}.gf2-formula-triangle.effect .triangle-shell{stroke:#0aa47a}.gf2-formula-triangle line{stroke:#173f55;stroke-width:6;stroke-linecap:round}.gf2-formula-triangle text{fill:#0b2c40;font:900 66px system-ui,sans-serif;text-anchor:middle;dominant-baseline:middle}.gf2-triangle-rules{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:8px}.gf2-triangle-rules span{padding:12px;border-radius:10px;background:#fff;color:#284c61;border:1px solid #d1e2e9}.gf2-triangle-rules b{display:block;color:#087b61;margin-bottom:3px}
.gf2-flowline{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin:26px 0;padding:22px;border-radius:16px;background:#edf8f5}.gf2-flowline span{padding:10px 14px;border-radius:10px;background:#fff;border:1px solid #b8dfd2;font-weight:850}.gf2-flowline i{font-style:normal;color:#069871;font-weight:900}
.gf2-table-wrap{margin:24px 0;overflow-x:auto;border:1px solid #cbdde6;border-radius:16px;background:#fff}.gf2-data-table{width:100%;min-width:650px;border-collapse:collapse;color:#173c52}.gf2-data-table th,.gf2-data-table td{padding:14px 16px;border-bottom:1px solid #dbe7ed;text-align:left;vertical-align:top}.gf2-data-table th{background:#0f3b52;color:#fff;font-size:.92rem;letter-spacing:.02em}.gf2-data-table tbody tr:nth-child(even){background:#f3f8fa}.gf2-data-table tbody tr:last-child td{border-bottom:0}.gf2-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0}.gf2-photo-grid.thirds{grid-template-columns:repeat(3,minmax(0,1fr))}.gf2-photo-grid.montage{grid-template-columns:repeat(3,minmax(0,1fr))}.gf2-photo-grid figure{margin:0;overflow:hidden;border:1px solid #cadde6;border-radius:16px;background:#f5fafc}.gf2-photo-grid img{display:block;width:100%;height:230px;object-fit:contain;background:#fff}.gf2-photo-grid figcaption{padding:12px 14px;color:#35566a;line-height:1.45}.gf2-book-figure.contain img{object-fit:contain;background:#fff}
.gf2-table-wrap table{width:100%;min-width:650px;border-collapse:collapse;color:#173c52}.gf2-table-wrap table th,.gf2-table-wrap table td{padding:14px 16px;border-bottom:1px solid #dbe7ed;text-align:left;vertical-align:top}.gf2-table-wrap table th{background:#0f3b52;color:#fff;font-size:.92rem;letter-spacing:.02em}.gf2-table-wrap table tbody tr:nth-child(even){background:#f3f8fa}.gf2-book-figure.narrow img{object-fit:contain;background:#fff;max-height:520px}
.gf2-source-note{margin:24px 0;padding:18px 20px;border-radius:14px;border:1px solid #9fd8ca;background:#effaf7;color:#234b45;line-height:1.55}.gf2-source-note b{color:#08785d}
.gf2-learning-paths{max-width:1160px;margin:24px auto;padding:28px;border:1px solid #cfe0e7;border-radius:24px;background:#fff;box-shadow:0 16px 42px #16364b10}.gf2-paths-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:18px}.gf2-paths-heading .eyebrow{margin:0;color:#078162}.gf2-paths-heading h2{margin:5px 0 0;color:#0b2c40}.gf2-paths-heading>p{max-width:470px;margin:0;color:#587383;line-height:1.5}.gf2-learning-path-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gf2-learning-path-grid button{display:grid;grid-template-columns:42px 1fr auto;grid-template-rows:auto auto;gap:3px 12px;align-items:center;padding:18px;border:1px solid #cfe1e7;border-radius:15px;background:#f5fafb;color:#173c52;text-align:left;cursor:pointer}.gf2-learning-path-grid button:hover{border-color:#1eb48a;background:#edfaf6}.gf2-learning-path-grid span{grid-row:1/3;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#0d3045;color:#fff;font-weight:900}.gf2-learning-path-grid b{font-size:1.02rem}.gf2-learning-path-grid small{color:#567181;line-height:1.4}.gf2-learning-path-grid i{grid-column:3;grid-row:1/3;font-style:normal;font-weight:850;color:#008f69;white-space:nowrap}
.gf2-connections{margin:30px 0;padding:24px;border-radius:18px;background:linear-gradient(135deg,#0d3045,#11645f);color:#fff}.gf2-connections>.gf2-connections-copy{}.gf2-connections .eyebrow{margin:0;color:#6ce8c3}.gf2-connections h3{margin:5px 0 6px;color:#fff;font-size:1.35rem}.gf2-connections>div>p:last-child{margin:0 0 18px;color:#dbecef;line-height:1.5}.gf2-connection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gf2-connection-card{display:flex;flex-direction:column;align-items:flex-start;min-height:132px;padding:16px;border:1px solid #ffffff30;border-radius:14px;background:#ffffff10;color:#fff;text-align:left;cursor:pointer}.gf2-connection-card:hover{background:#ffffff1d;border-color:#60dcb8}.gf2-connection-card b{font-size:1rem}.gf2-connection-card span{margin-top:5px;color:#d8e8ed;line-height:1.4}.gf2-connection-card i{margin-top:auto;padding-top:10px;color:#72edc8;font-style:normal;font-weight:900}
@media(max-width:1100px){.gf2-library-intro{margin:12px 18px}.gf2-library-grid{grid-template-columns:1fr;padding:0 18px}.gf2-library-card{min-height:220px}}
@media(max-width:760px){.gf2-photo-grid,.gf2-photo-grid.thirds,.gf2-photo-grid.montage{grid-template-columns:1fr}.gf2-photo-grid img{height:auto;max-height:300px}}
@media(max-width:1100px){.gf2-learning-paths{margin:18px}.gf2-paths-heading{align-items:start;flex-direction:column}}
@media(max-width:760px){.gf2-learning-path-grid,.gf2-connection-grid{grid-template-columns:1fr}}
@media(max-width:640px){.gf2-library-intro{padding:28px 22px}.gf2-library-card{grid-template-columns:1fr}.gf2-library-card img{height:190px}.gf2-library-card span{padding:22px}.gf2-flowline{justify-content:flex-start}.gf2-memory-figure{padding:20px 12px}.gf2-triangle-rules{grid-template-columns:1fr}.gf2-data-table th,.gf2-data-table td{padding:12px}.gf2-learning-paths{margin:12px 8px;padding:20px 14px}.gf2-learning-path-grid button{grid-template-columns:38px 1fr;padding:14px}.gf2-learning-path-grid span{width:38px;height:38px}.gf2-learning-path-grid i{grid-column:2;grid-row:3}.gf2-connections{padding:20px 14px}}
