.landing{--l-paper: #f8f6f1;--l-card: #fff;--l-ink: #12211f;--l-ink-2: #3f4a48;--l-muted: #5a6462;--l-rule: #e2ddd0;--l-teal: #0e6263;--l-teal-dk: #0a4a4b;--l-teal-soft: #e9efee;--l-gold: #c9a227;--l-gold-on-dark: #f0d584;--l-gold-bg: #ece5d1;--l-gold-rule: #ddd2b4;--l-pad: clamp(20px, 5vw, 72px);background:var(--l-paper);color:var(--l-ink);font-family:Inter,system-ui,-apple-system,sans-serif}.landing *{box-sizing:border-box}.landing .wrap{max-width:1400px;margin:0 auto;padding:0 var(--l-pad)}.landing a{text-decoration:none}.landing .l-hdr{border-bottom:1px solid var(--l-rule);background:var(--l-paper);position:sticky;top:0;z-index:20}.landing .l-hdr-in{max-width:1400px;margin:0 auto;padding:20px var(--l-pad);display:flex;align-items:center;justify-content:space-between;gap:20px}.landing .brand{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.landing .brand .esra,.landing .brand .hub{font-family:"Source Serif Pro",Georgia,serif;font-size:clamp(22px,3vw,32px);font-weight:700;letter-spacing:-.01em}.landing .brand .esra{color:var(--l-teal)}.landing .brand .hub{color:var(--l-ink)}.landing .l-nav{display:flex;align-items:center;gap:clamp(14px,2vw,30px);font-size:16.5px;font-weight:500;color:var(--l-ink-2)}.landing .l-nav button.linkish{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer}.landing .l-nav button.linkish:hover{color:var(--l-teal)}.landing .l-nav .cta{font-weight:700;color:#fff;background:var(--l-teal);padding:11px 22px;border-radius:8px;border:0;cursor:pointer;font-size:16.5px}.landing .l-nav .cta:hover{background:var(--l-teal-dk)}.landing .hero{max-width:1400px;margin:0 auto;padding:clamp(32px,5vw,52px) var(--l-pad) clamp(32px,4vw,46px);display:grid;grid-template-columns:1fr 300px;gap:clamp(28px,4vw,56px);align-items:start;border-bottom:1px solid var(--l-rule)}.landing .eyebrow{font-size:13.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--l-teal);background:var(--l-teal-soft);display:inline-block;padding:8px 15px;border-radius:999px;margin-bottom:22px}.landing .hero h1{font-family:"Source Serif Pro",Georgia,serif;font-size:clamp(40px,6vw,74px);font-weight:700;line-height:1.02;letter-spacing:-.025em;margin:0 0 22px}.landing .hero .lede{font-size:clamp(18px,2vw,22px);line-height:1.5;color:var(--l-ink-2);max-width:760px;margin:0 0 26px}.landing .frameworks{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}.landing .fw{font-size:14.5px;font-weight:600;color:var(--l-ink-2);background:#fff;border:1px solid var(--l-rule);padding:9px 15px;border-radius:7px}.landing .hero-cta{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.landing .btn{display:inline-block;text-align:center;font-size:17px;font-weight:700;padding:14px 26px;border-radius:8px;border:2px solid var(--l-teal);color:var(--l-teal);background:transparent;cursor:pointer;font-family:inherit}.landing .btn:hover{background:var(--l-teal-soft)}.landing .btn.solid{background:var(--l-teal);border-color:var(--l-teal);color:#fff}.landing .btn.solid:hover{background:var(--l-teal-dk)}.landing .btn.gold{background:var(--l-gold);border-color:var(--l-gold);color:#3d3007}.landing .btn.gold:hover{background:#b08e1f}.landing .cpd-panel{background:var(--l-teal);border-radius:14px;padding:26px 24px;text-align:center;color:#fff}.landing .cpd-panel .badge{width:174px;height:174px;margin:0 auto 18px;background:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;padding:14px}.landing .cpd-panel .badge img{width:100%;height:auto;display:block}.landing .cpd-panel .t{font-size:12.5px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--l-gold-on-dark);margin-bottom:9px}.landing .cpd-panel .d{font-size:16px;line-height:1.45;color:#ffffffde;margin-bottom:18px}.landing .cpd-stats{display:flex;flex-direction:column;gap:13px;padding-top:17px;border-top:1px solid rgba(255,255,255,.24)}.landing .cs{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.landing .cs .n{font-family:"Source Serif Pro",Georgia,serif;font-size:26px;font-weight:700;color:var(--l-gold-on-dark);line-height:1}.landing .cs .l{font-size:13.5px;color:#ffffffc7;text-align:right}.landing .sec{max-width:1400px;margin:0 auto;padding:clamp(32px,4vw,46px) var(--l-pad) 0}.landing .sec:last-of-type{padding-bottom:0}.landing .sec-head{display:flex;justify-content:space-between;align-items:baseline;gap:20px;flex-wrap:wrap;padding-bottom:10px;margin-bottom:22px;border-bottom:2px solid var(--l-teal)}.landing .sec-head h2{font-family:"Source Serif Pro",Georgia,serif;font-size:clamp(26px,3.4vw,34px);font-weight:700;letter-spacing:-.015em;margin:0}.landing .sec-head .note{font-size:16.5px;color:var(--l-muted)}.landing .primer{background:var(--l-gold-bg);border:1px solid var(--l-gold-rule);border-radius:12px;padding:26px 32px;display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}.landing .tagpill{display:inline-block;font-size:12.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;background:var(--l-gold);color:#3d3007;padding:6px 13px;border-radius:999px;margin-bottom:12px}.landing .primer h3{font-family:"Source Serif Pro",Georgia,serif;font-size:clamp(23px,2.6vw,28px);font-weight:700;margin:0 0 8px}.landing .primer p{font-size:17px;line-height:1.45;color:var(--l-ink-2);max-width:820px;margin:0}.landing .primer .btn{min-width:230px}.landing .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.landing .grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.landing .c{background:var(--l-card);border:1px solid var(--l-rule);border-radius:12px;padding:22px 24px;display:flex;flex-direction:column}.landing .c-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:15px}.landing .code{font-size:12.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--l-teal);background:var(--l-teal-soft);padding:6px 12px;border-radius:999px;white-space:nowrap}.landing .price{font-family:"Source Serif Pro",Georgia,serif;font-size:24px;font-weight:700;color:var(--l-ink);line-height:1;white-space:nowrap}.landing .c h3{font-family:"Source Serif Pro",Georgia,serif;font-size:23px;font-weight:700;line-height:1.22;margin:0 0 10px;min-height:56px}.landing .c p{font-size:16px;line-height:1.45;color:var(--l-ink-2);margin:0 0 14px;min-height:70px}.landing .hrs{font-size:14.5px;font-weight:600;color:var(--l-muted);padding-bottom:16px;border-bottom:1px solid var(--l-rule)}.landing .c .btn{margin-top:16px;padding:12px 20px;font-size:16.5px}.landing .bundle{margin-top:22px;background:var(--l-teal);border-radius:14px;padding:clamp(24px,3vw,32px) clamp(24px,3vw,40px);display:grid;grid-template-columns:1fr auto;gap:clamp(24px,3vw,48px);align-items:center;color:#fff}.landing .bundle h3{font-family:"Source Serif Pro",Georgia,serif;font-size:clamp(26px,3.4vw,34px);font-weight:700;margin:0 0 10px;letter-spacing:-.015em}.landing .bundle p{font-size:18px;line-height:1.45;color:#ffffffd9;max-width:760px;margin:0}.landing .bundle .right{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:14px}.landing .bundle .amt{font-family:"Source Serif Pro",Georgia,serif;font-size:clamp(38px,5vw,52px);font-weight:700;color:var(--l-gold-on-dark);line-height:1}.landing .bundle .amt s{font-size:.5em;font-weight:400;color:#ffffff8c;margin-right:12px}.landing .bundle .save{font-size:15px;font-weight:600;color:#ffffffd1}.landing .bundle .btn{min-width:250px;margin:0}.landing .bundle.compact{padding:26px clamp(24px,3vw,40px)}.landing .bundle.compact h3{font-size:clamp(24px,3vw,28px)}.landing .bundle.compact .amt{font-size:clamp(34px,4vw,44px)}.landing .locked{margin-top:20px;background:#f2efe4;border:2px dashed var(--l-gold);border-radius:14px;padding:28px clamp(24px,3vw,36px);display:grid;grid-template-columns:auto 1fr auto;gap:clamp(20px,2.5vw,32px);align-items:center}.landing .locked.unlocked{border-style:solid;border-color:var(--l-teal);background:var(--l-teal-soft)}.landing .lock-icon{width:66px;height:66px;border-radius:50%;background:var(--l-gold);display:flex;align-items:center;justify-content:center;flex-shrink:0}.landing .locked.unlocked .lock-icon{background:var(--l-teal)}.landing .lock-icon svg{width:30px;height:30px;fill:#3d3007}.landing .locked.unlocked .lock-icon svg{fill:#fff}.landing .locked .tagpill{background:var(--l-teal);color:#fff}.landing .locked h3{font-family:"Source Serif Pro",Georgia,serif;font-size:clamp(24px,3vw,29px);font-weight:700;margin:0 0 8px;letter-spacing:-.015em}.landing .locked p{font-size:17px;line-height:1.45;color:var(--l-ink-2);max-width:720px;margin:0}.landing .locked .right{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:9px}.landing .locked .free{font-family:"Source Serif Pro",Georgia,serif;font-size:38px;font-weight:700;color:var(--l-teal);line-height:1}.landing .lock-btn{display:flex;align-items:center;justify-content:center;gap:9px;font-size:15.5px;font-weight:700;padding:13px 22px;border-radius:8px;border:2px solid #c3b894;background:#e5dfc9;color:#5c5230;min-width:260px;cursor:not-allowed}.landing .lock-btn svg{width:16px;height:16px;fill:#5c5230;flex-shrink:0}.landing .lock-prog{font-size:14px;font-weight:600;color:var(--l-ink-2);text-align:right;max-width:260px}.landing .wyg{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.landing .wyg .i{background:#fff;border:1px solid var(--l-rule);border-left:5px solid var(--l-teal);border-radius:10px;padding:22px 24px}.landing .wyg .i h4{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--l-teal);margin:0 0 11px}.landing .wyg .i p{font-size:16.5px;line-height:1.45;color:var(--l-ink-2);margin:0}.landing .aud-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.landing .aud{background:#fff;border:1px solid var(--l-rule);border-radius:12px;padding:22px 24px;display:flex;gap:20px;align-items:center}.landing .play{width:62px;height:62px;border-radius:50%;background:var(--l-teal);border:0;flex-shrink:0;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.landing .play:hover{background:var(--l-teal-dk)}.landing .play svg{width:22px;height:22px;fill:#fff}.landing .play svg.ico-play{margin-left:4px}.landing .aud .meta{min-width:0}.landing .aud .meta .tag{font-size:12px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--l-muted);margin-bottom:7px}.landing .aud .meta h4{font-family:"Source Serif Pro",Georgia,serif;font-size:21px;font-weight:700;line-height:1.22;margin:0 0 6px}.landing .aud .meta .dur{font-size:15px;color:var(--l-muted)}.landing .inst{background:#eceadf;border:1px dashed #c9c3b0;border-radius:12px;padding:28px clamp(24px,3vw,34px);display:grid;grid-template-columns:1fr auto;gap:clamp(24px,3vw,44px);align-items:center}.landing .inst h3{font-family:"Source Serif Pro",Georgia,serif;font-size:clamp(23px,2.8vw,28px);font-weight:700;margin:0 0 9px}.landing .inst p{font-size:17px;line-height:1.45;color:var(--l-ink-2);max-width:840px;margin:0}.landing .inst .btn{min-width:220px}.landing .l-ftr{margin-top:clamp(36px,5vw,52px);padding:30px var(--l-pad);background:var(--l-ink);color:#ffffffbf;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;font-size:15px}.landing .l-ftr a{color:var(--l-gold-on-dark)}@media (max-width: 1100px){.landing .grid3,.landing .wyg{grid-template-columns:repeat(2,1fr)}.landing .cpd-panel .badge{width:148px;height:148px}}@media (max-width: 900px){.landing .hero{grid-template-columns:1fr}.landing .cpd-panel{max-width:420px}.landing .primer,.landing .inst{grid-template-columns:1fr;gap:22px}.landing .primer .btn,.landing .inst .btn{width:100%;min-width:0}.landing .bundle{grid-template-columns:1fr}.landing .bundle .right{text-align:left;align-items:stretch}.landing .bundle .btn{min-width:0;width:100%}.landing .locked{grid-template-columns:auto 1fr}.landing .locked .right{grid-column:1 / -1;text-align:left;align-items:stretch}.landing .lock-prog{text-align:left;max-width:none}.landing .lock-btn{min-width:0;width:100%}.landing .aud-grid{grid-template-columns:1fr}.landing .c h3,.landing .c p{min-height:0}}@media (max-width: 820px){.landing .grid2{grid-template-columns:1fr}.landing .l-nav .hide-sm{display:none}}@media (max-width: 560px){.landing .grid3,.landing .wyg{grid-template-columns:1fr}.landing .sec-head{border-bottom-width:1px}.landing .hero-cta .btn{width:100%}.landing .locked{grid-template-columns:1fr}.landing .lock-icon{margin-bottom:4px}.landing .aud,.landing .l-ftr{flex-direction:column;align-items:flex-start}}:root{--teal: #0e6263;--teal-deep: #0a4d4e;--gold: #c9a227;--red: #b23a48;--paper: #f8f6f1;--sand: #efebe0;--sand-2: #e2ded2;--grey: #4d4d4d;--ink: #1a1a1a;--white: #ffffff;--font-display: "Fraunces", Georgia, "Times New Roman", serif;--font-body: "Helvetica Neue", Helvetica, Arial, sans-serif;--maxw: 1080px;--radius: 10px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-body);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;line-height:1.55}h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.15}a{color:var(--teal);text-decoration:none}a:hover{color:var(--teal-deep)}.container{max-width:var(--maxw);margin:0 auto;padding:0 20px}.btn{display:inline-block;cursor:pointer;border:0;border-radius:var(--radius);font-family:var(--font-body);font-size:15px;font-weight:600;padding:12px 22px;transition:background .15s ease,color .15s ease}.btn-primary{background:var(--teal);color:var(--white)}.btn-primary:hover{background:var(--teal-deep);color:var(--white)}.btn-gold{background:var(--gold);color:var(--ink)}.btn-ghost{background:transparent;color:var(--teal);border:1px solid var(--teal)}.card{background:var(--white);border:1px solid var(--sand-2);border-radius:var(--radius);padding:22px}.muted{color:var(--grey)}.badge{display:inline-block;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:3px 10px;border-radius:999px;background:var(--sand);color:var(--teal-deep)}.badge-free{background:var(--gold);color:var(--ink)}
