.module-hero{padding:74px 0 68px;background:var(--ink);color:white;border-bottom:4px solid var(--cyan)}
.module-meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px}
.module-meta span{padding:7px 10px;border:1px solid rgba(255,255,255,.2);color:#abc0bd;font:12px var(--mono);letter-spacing:.05em}
.module-meta span:first-child{border-color:var(--cyan);color:var(--cyan)}
.module-hero h1{max-width:930px;margin:0 0 24px;color:white;font-size:clamp(2.8rem,5.7vw,5.6rem);line-height:.98;letter-spacing:-.06em}
.module-hero .lead{max-width:790px;margin:0;color:#b8c8c5}
.lesson{padding:80px 0}
.lesson:nth-child(even){background:#e7eee9}
.lesson-layout{display:grid;grid-template-columns:230px minmax(0,760px);gap:80px;justify-content:center}
.lesson-index{color:#6d817d;font:12px var(--mono);letter-spacing:.12em}
.lesson-body h2{margin:0 0 26px;color:var(--ink);font-size:clamp(2rem,3.5vw,3.3rem);line-height:1.08;letter-spacing:-.045em}
.lesson-body h3{margin:38px 0 12px;color:var(--ink);font-size:1.25rem;line-height:1.25}
.lesson-body p,.lesson-body li{font-size:17px}
.lesson-body ul,.lesson-body ol{padding-left:22px}.lesson-body li{margin-bottom:11px;padding-left:5px}
.objectives{margin-top:-1px;padding:36px 0;background:#10262d;color:white;border-bottom:1px solid var(--line)}
.objectives-grid{display:grid;grid-template-columns:230px 1fr;gap:80px;max-width:1070px}
.objectives h2{margin:0;font-size:1.2rem;color:var(--cyan)}
.objectives ul{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 35px;margin:0;padding:0;list-style:none}
.objectives li{position:relative;padding-left:20px;color:#bdcbc8;font-size:15px}.objectives li:before{content:"";position:absolute;left:0;top:.68em;width:7px;height:7px;border:1px solid var(--copper);transform:rotate(45deg)}
.concept-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:34px 0}
.concept-flow div{position:relative;min-height:120px;padding:18px;border:1px solid #bfcac5;background:white}.concept-flow div:not(:last-child):after{content:"→";position:absolute;right:-13px;top:45%;z-index:2;width:24px;height:24px;display:grid;place-items:center;background:var(--cyan);color:var(--ink);font-weight:800}.concept-flow span{display:block;margin-bottom:20px;color:#70827e;font:11px var(--mono)}.concept-flow b{display:block;color:var(--ink);font-size:15px;line-height:1.25}.concept-flow small{display:block;margin-top:7px;color:#687a76;font-size:12px;line-height:1.4}
.decision-table{width:100%;border-collapse:collapse;margin:28px 0;font-size:14px}.decision-table th{text-align:left;padding:12px;border-bottom:2px solid #4d6765;color:var(--ink);font-size:13px}.decision-table td{padding:13px 12px;vertical-align:top;border-bottom:1px solid #c8d2cd}.decision-table td:first-child{font-weight:700;color:var(--ink)}
.callout{margin:34px 0;padding:24px 28px;border-left:4px solid var(--copper);background:#fff7ed}.callout strong{display:block;margin-bottom:7px;color:var(--ink)}
.evidence-grid,.pitfall-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:28px}.evidence-grid div,.pitfall-grid div{padding:20px;border:1px solid #c4ceca;background:rgba(255,255,255,.65)}.evidence-grid b,.pitfall-grid b{display:block;margin-bottom:7px;color:var(--ink);font-size:15px}.evidence-grid p,.pitfall-grid p{margin:0;font-size:14px;color:#5b6e6a}.pitfall-grid div{border-top:3px solid var(--copper)}
.worked-example{padding:28px;border:1px solid #bfcac5;background:white}.worked-example h3{margin-top:0}.worked-example .example-chain{display:flex;flex-wrap:wrap;gap:7px;margin:22px 0}.example-chain span{padding:8px 10px;background:var(--ink2);color:white;font:12px var(--mono)}
.source-list{padding:0;list-style:none}.source-list li{padding:14px 0;border-bottom:1px solid #c7d1cc}.source-list a{color:#176d73;font-weight:700;text-decoration-thickness:1px;text-underline-offset:3px}.source-list small{display:block;color:#6a7b78}
.takeaway{background:var(--ink2)!important;color:white}.takeaway .lesson-index{color:var(--cyan)}.takeaway .lesson-body h2{color:white}.takeaway .lesson-body p{color:#c0cecb;font-size:19px}.takeaway strong{color:var(--cyan)}
.module-navigation{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:4px solid var(--cyan);border-bottom:4px solid var(--cyan);background:var(--ink);box-shadow:0 -10px 30px rgba(7,19,24,.16)}.module-navigation a{position:relative;min-height:148px;padding:30px clamp(20px,3vw,44px);display:flex;flex-direction:column;justify-content:space-between;gap:24px;text-decoration:none;background:#10262d;border-right:1px solid rgba(255,255,255,.17);transition:background .18s ease,color .18s ease}.module-navigation a:nth-child(2){text-align:center;background:#0b1d23}.module-navigation a:last-child{border-right:0;text-align:right}.module-navigation span{color:var(--cyan);font:700 12px var(--mono);letter-spacing:.13em}.module-navigation a:first-child span:before{content:"←  "}.module-navigation a:nth-child(2) span:before{content:"↑  "}.module-navigation a:last-child span:after{content:"  →"}.module-navigation b{color:white;font-size:16px;line-height:1.35}.module-navigation a:hover,.module-navigation a:focus-visible{background:#17414a;outline:none}.module-navigation a:focus-visible{box-shadow:inset 0 0 0 3px var(--copper)}
@media(max-width:800px){.lesson-layout,.objectives-grid{grid-template-columns:1fr;gap:22px}.objectives ul{grid-template-columns:1fr}.concept-flow{grid-template-columns:1fr}.concept-flow div:not(:last-child):after{content:"↓";right:calc(50% - 12px);top:auto;bottom:-17px}.module-navigation a{min-height:132px;padding:24px 18px}.module-navigation b{font-size:14px}.evidence-grid,.pitfall-grid{grid-template-columns:1fr}}
@media(max-width:560px){.module-hero{padding:58px 0}.lesson{padding:60px 0}.lesson-body p,.lesson-body li{font-size:16px}.decision-table{display:block;overflow-x:auto}.worked-example{padding:20px}.module-navigation{grid-template-columns:1fr}.module-navigation a,.module-navigation a:nth-child(2),.module-navigation a:last-child{min-height:92px;padding:20px 24px;text-align:left;border-right:0;border-bottom:1px solid rgba(255,255,255,.17)}.module-navigation a:last-child{border-bottom:0}.module-navigation a:last-child span:after{content:""}.module-navigation a:last-child span:before{content:"→  "}}
