.macro-hero{background:radial-gradient(circle at 78% 24%,rgba(208,160,73,.18),transparent 28%),linear-gradient(135deg,#132b38 0%,#1b4653 64%,#72572c 100%);color:#fff;padding:78px 0 74px}
.macro-hero-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.55fr);gap:64px;align-items:end}
.macro-kicker{display:block;color:#a9c4c9;font-size:13px;font-weight:800;letter-spacing:3px;margin-bottom:18px}
.macro-hero h1{color:#fff;font-size:clamp(38px,5vw,62px);line-height:1.18;max-width:850px}
.macro-hero h1 em{display:block;color:#e2bb67;font-style:normal}
.macro-hero p{max-width:790px;color:#ccdcdf;font-size:18px;line-height:1.9;margin:22px 0 0}
.macro-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.macro-ghost{border-color:rgba(255,255,255,.35);color:#fff;background:rgba(255,255,255,.04)}
.macro-stats{display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(255,255,255,.2);border-radius:16px;background:rgba(255,255,255,.06);overflow:hidden}.macro-stats div{padding:24px;border-right:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14)}.macro-stats div:nth-child(2n){border-right:0}.macro-stats div:nth-last-child(-n+2){border-bottom:0}.macro-stats strong{display:block;color:#e5bd69;font:900 34px var(--serif)}.macro-stats span{display:block;color:#bdd0d3;font-size:12.5px;margin-top:4px}
.macro-map{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.macro-map article{border:1px solid var(--line);border-top:5px solid #356b72;border-radius:13px;padding:24px;background:#fff}.macro-map span{color:#aa7d2e;font:900 13px var(--serif);letter-spacing:1px}.macro-map h3{font-size:21px;margin:8px 0}.macro-map p{font-size:14.5px;color:var(--muted);margin:0}
.macro-catalogue-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.macro-progress{border:1px solid #d8c79f;border-radius:999px;background:#fffaf0;color:#8a6727;font-weight:800;font-size:13px;padding:10px 17px;margin-bottom:28px;white-space:nowrap}
.macro-group{margin:0 0 38px}.macro-group>header{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid #d7dfe0;padding:0 0 14px;margin-bottom:18px}.macro-group>header span{display:block;color:#7c8b8d;font-size:11px;font-weight:800;letter-spacing:1.5px}.macro-group>header h2{font-size:26px;margin-top:3px;color:#244a53}.macro-group>header strong{color:#a2782b;font-size:13px}
.macro-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.macro-card{display:flex;flex-direction:column;min-height:300px;border:1px solid #dce3e4;border-radius:14px;background:#fff;padding:23px;transition:.18s}.macro-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(18,49,57,.12);border-color:transparent}.macro-card.done{border-color:#78a894;background:#f7fbf9}.macro-card-top{display:flex;justify-content:space-between;gap:10px;color:#6e8185;font-size:10.5px;font-weight:800;letter-spacing:.6px}.macro-card-top b{color:#a1782c;font-weight:800;letter-spacing:0}.macro-card h3{font-size:21px;line-height:1.5;color:#214953;margin:15px 0 9px}.macro-card p{color:#5f7175;font-size:13.5px;line-height:1.8;margin:0 0 14px;flex:1}.macro-card em{display:block;border-top:1px solid #e7ebec;padding-top:12px;color:#7d8b8e;font-size:12px;font-style:normal}.macro-card>strong{display:block;color:#2d666c;font-size:13px;margin-top:13px}.macro-source{border-left:5px solid #b18a43;border-radius:0 10px 10px 0;background:#fff8e9;color:#73664d;font-size:12.5px;line-height:1.85;padding:16px 20px}
.lh-lesson.macro{--brand:#24525a;--accent:#a7792b}.lh-lesson.macro .lh-hero{background:radial-gradient(circle at 82% 30%,rgba(216,170,78,.18),transparent 24%),linear-gradient(135deg,#142e3a,#235661 66%,#775929)}.lh-lesson.macro .lh-example-sec{background:linear-gradient(135deg,#17353e,#285d63)}.lh-lesson.macro .lh-traps{background:#193941}
@media(max-width:980px){.macro-hero-grid{grid-template-columns:1fr}.macro-grid,.macro-map{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.macro-hero{padding:54px 0}.macro-grid,.macro-map{grid-template-columns:1fr}.macro-catalogue-head{display:block}.macro-stats{grid-template-columns:1fr 1fr}.macro-card{min-height:0}}
