:root{--ink:#14202b;--muted:#566472;--bg:#f7f8fa;--card:#fff;--line:#dfe4ea;--brand:#0f2a44;--accent:#f5b83d;--link:#0b5cad;--ok:#1d7a46;--warn:#fff5db;--warnline:#e6c46a;--radius:12px;
--starter:#3b82c4;--trader:#7a5bc7;--pro:#c2410c}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg)}
a{color:var(--link)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
h1,h2,h3{line-height:1.25}h1{font-size:clamp(1.7rem,4vw,2.5rem)}h2{font-size:1.45rem;margin-top:2.2rem}
.container{max-width:1120px;margin:0 auto;padding:0 20px}.narrow{max-width:760px}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:99}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.preview-banner{background:var(--accent);color:#1b1300;text-align:center;padding:8px 16px;font-size:.92rem}
.site-header{background:var(--brand);color:#fff}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:62px;gap:16px}
.brand{color:#fff;text-decoration:none;font-weight:700;font-size:1.1rem}.brand span{font-weight:400;opacity:.85}.logo{color:var(--accent)}
.site-header nav ul{list-style:none;display:flex;gap:4px;margin:0;padding:0;flex-wrap:wrap}
.site-header nav a{color:#fff;text-decoration:none;padding:8px 10px;border-radius:8px;display:block}
.site-header nav a:hover,.site-header nav a[aria-current]{background:rgba(255,255,255,.14)}
.nav-toggle{display:none;background:none;border:1px solid rgba(255,255,255,.5);color:#fff;border-radius:8px;padding:6px 12px;font:inherit}
@media(max-width:820px){.nav-toggle{display:block}.site-header nav{display:none;position:absolute;top:100px;left:0;right:0;background:var(--brand);padding:8px 20px;z-index:20}
.site-header nav.open{display:block}.site-header nav ul{flex-direction:column}.header-inner{position:relative}}
.hero{background:linear-gradient(135deg,#0f2a44,#1c4a73);color:#fff;padding:56px 0 48px}.hero .lead{max-width:720px;font-size:1.2rem;opacity:.95}
.hero .small{color:#d9e4ef}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;color:var(--accent);margin:0}
.lead{font-size:1.12rem;color:var(--muted)}.hero .lead{color:#fff}.small{font-size:.86rem;color:var(--muted)}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0 10px}
.btn{display:inline-block;background:var(--accent);color:#1b1300;border:2px solid var(--accent);border-radius:10px;padding:10px 18px;font:600 1rem/1.3 inherit;font-family:inherit;text-decoration:none;cursor:pointer}
.btn:hover{filter:brightness(.95)}.btn-secondary{background:#fff;color:var(--brand);border-color:var(--brand)}.hero .btn-secondary{background:transparent;color:#fff;border-color:#fff}
.btn-link{background:none;border-color:transparent;color:var(--link);text-decoration:underline;font-weight:500}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px}
.notice{background:#eef4fb;border:1px solid #c6d9ee;border-radius:var(--radius);padding:14px 16px;margin:18px 0}
.notice-risk{background:var(--warn);border-color:var(--warnline)}.callout{background:var(--warn);border-left:4px solid var(--warnline);padding:10px 14px;border-radius:6px;margin:14px 0}
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:18px 0}.tiers.two{grid-template-columns:repeat(2,1fr)}
@media(max-width:860px){.tiers,.tiers.two{grid-template-columns:1fr}}
.tier{display:flex;flex-direction:column}.tier .btn{margin-top:auto}.tier.highlight{border:2px solid var(--brand);box-shadow:0 6px 24px rgba(15,42,68,.12)}
.price{margin:.2rem 0}.price span{font-size:1.9rem;font-weight:800}
.checks{padding-left:0;list-style:none}.checks li{padding-left:1.5em;position:relative;margin:.3em 0}.checks li:before{content:"✓";position:absolute;left:0;color:var(--ok);font-weight:700}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}@media(max-width:900px){.grid4{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.grid4{grid-template-columns:1fr}}
.plain{list-style:none;padding:0}.step{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--brand);color:#fff;font-weight:700}
.inline-list{display:flex;flex-wrap:wrap;gap:8px 20px;padding-left:1.2em}
.faq details{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 16px;margin:8px 0}.faq summary{cursor:pointer;font-weight:600}
.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%;background:#fff}.table th,.table td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
.compare td{text-align:center;font-weight:700}.compare td.yes{color:var(--ok)}.compare td.no{color:#a0aab4}.table caption{text-align:left;font-weight:600;padding:6px 0}
.badge{display:inline-block;font-size:.72rem;font-weight:700;padding:2px 8px;border-radius:99px;background:#e8edf3;color:var(--brand);margin:0 0 4px;vertical-align:middle}
.badge-starter{background:#e3effa;color:#1d5a91}.badge-trader{background:#eee8fa;color:#5a3ea6}.badge-pro{background:#fdeadf;color:#9a3412}.badge-free{background:#e2f4ea;color:var(--ok)}
.modules{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media(max-width:760px){.modules{grid-template-columns:1fr}}
.module-link{display:flex;flex-direction:column;gap:4px;text-decoration:none;color:var(--ink)}.module-link:hover{border-color:var(--brand)}
.form .form-row{margin:12px 0}.form label{display:block;font-weight:600;margin-bottom:4px}.form input[type=email],.form input:not([type]),.form select{width:100%;padding:10px;border:1px solid #b8c2cc;border-radius:8px;font:inherit}
.form .check{display:flex;gap:10px;align-items:flex-start}.form .check label{font-weight:400}.form .check input{margin-top:5px;width:18px;height:18px;flex:none}
.hp{position:absolute;left:-9999px}.form-status{font-weight:600}.form-status.err{color:#b42318}.form-status.ok{color:var(--ok)}
.opt{display:flex;gap:8px;align-items:flex-start;margin:6px 0}.opt label{font-weight:400}
.portal{display:grid;grid-template-columns:320px 1fr;gap:28px;padding-top:24px;padding-bottom:40px}@media(max-width:900px){.portal{grid-template-columns:1fr}.portal-side{order:2}}
.portal-side .card{margin-bottom:12px;padding:14px}.portal-side select{width:100%;padding:6px;font:inherit}
.modlist{list-style:none;padding:0;margin:0}.modlist>li{border-bottom:1px solid var(--line)}.modlist summary{cursor:pointer;padding:8px 2px;font-weight:600;font-size:.93rem}
.modlist ul{list-style:none;padding:0 0 8px 8px;margin:0}.modlist ul a{display:flex;gap:6px;padding:4px 6px;border-radius:6px;text-decoration:none;font-size:.92rem;color:var(--ink)}
.modlist ul a[aria-current]{background:#e3effa;font-weight:600}.mnum{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--brand);color:#fff;font-size:.75rem}
.lock{display:none}.locked .lock{display:inline}.locked .lock:before{content:"🔒"}.done{display:none}.completed .done{display:inline}.completed .done:before{content:"✓";color:var(--ok);font-weight:700}
.lesson{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px 28px}@media(max-width:560px){.lesson{padding:18px}}
.lesson h1{margin-top:0}.crumbs{font-size:.88rem;color:var(--muted)}.sources{border-top:1px solid var(--line);margin-top:24px;font-size:.92rem}
.pager{display:flex;justify-content:space-between;gap:12px;margin:20px 0;flex-wrap:wrap}.small-disclaimer{font-size:.8rem;color:var(--muted);margin-top:14px}
.lock-note{background:#f3effc;border-color:#d4c7f2}
.q{border:1px solid var(--line);border-radius:10px;margin:12px 0;padding:12px 16px}.q legend{font-weight:600;padding:0 4px}.q.right{border-color:var(--ok);background:#f0faf4}.q.wrong{border-color:#e5a29b;background:#fdf3f2}
.points-widget .pts{font-size:1.1rem;font-weight:700;margin:2px 0}.bar{height:8px;background:#e8edf3;border-radius:99px;overflow:hidden}.bar span{display:block;height:100%;width:0;background:var(--accent)}
.site-footer{background:#0b1f33;color:#d5dee8;padding:28px 0;margin-top:48px}.site-footer a{color:#fff}.site-footer .small{color:#aab7c5}
.disclaimer{font-size:.9rem;border:1px solid rgba(255,255,255,.2);border-radius:10px;padding:12px}
.footer-links{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px}
.legal h2{font-size:1.15rem}.risk-list li{margin:8px 0}
.modal-backdrop{position:fixed;inset:0;background:rgba(10,20,30,.55);display:grid;place-items:center;z-index:100;padding:16px}
.modal{background:#fff;border-radius:14px;max-width:560px;width:100%;max-height:90vh;overflow:auto;padding:24px;position:relative}
.modal h2{margin-top:0}.modal .close{position:absolute;right:12px;top:10px;background:none;border:0;font-size:1.5rem;cursor:pointer;line-height:1}
.modal .actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.modal .actions .btn{flex:1 1 200px;text-align:center}
.bump{display:flex;gap:10px;border:1px dashed #b8c2cc;border-radius:10px;padding:10px;margin:8px 0}.bump input{margin-top:5px}
body.admin{background:#fff}
/* Molly course-page additions 2026-10-27 */
.trust-line{margin:.5rem 0 0;font-size:.95rem}
.thankyou-offer{margin-top:1.25rem}
.sister-brand{margin-top:.5rem}
