/* TradingBoost: Nigredo (black), Albedo (silver), Citrinitas (gold), Rubedo (red). */
:root {
  --gold: #D4AF37;
  --silver: #C0C0C0;
  --red: #E0443E;
  --emerald: #50C878;
  --dark: #0A0A0A;
  --dark-light: #1A1A1A;
  --text-light: #E8E8E8;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--dark);color:var(--text-light);font-family:Inter,Arial,sans-serif;line-height:1.65}
a{color:inherit}
button,input{font:inherit}
a,button{touch-action:manipulation}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:5px}
.wrap{max-width:1180px;margin:auto;padding:0 28px}
.skip{position:absolute;top:-100px}
.skip:focus{top:10px;z-index:5;background:var(--dark);padding:12px}
header{border-bottom:1px solid #ffffff15;background:var(--dark);position:sticky;top:0;z-index:3}
.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:88px}
.brand{text-decoration:none;font-weight:800;font-size:21px;letter-spacing:-.8px}
.brand b{display:inline-grid;place-items:center;background:var(--gold);color:var(--dark);width:32px;height:32px;border-radius:8px;margin-right:9px;font-size:19px}
.navlinks{display:flex;gap:27px;align-items:center}
.navlinks a{text-decoration:none;font-size:14px;color:#c7c3bc}
.navlinks a:hover,.navlinks a[aria-current=page]{color:var(--gold)}
.navlinks .navcta{border:1px solid #ffffff30;padding:9px 15px;border-radius:5px;color:var(--text-light)}
.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:700;color:var(--gold)}
.hero{padding:84px 0 62px;display:grid;grid-template-columns:1.15fr 1fr;gap:65px;align-items:center}
h1{font-size:clamp(40px,5.2vw,68px);line-height:1.08;letter-spacing:-2.8px;margin:22px 0}
h1 em{font-style:normal;color:var(--gold)}
h2{font-size:clamp(28px,3vw,40px);letter-spacing:-1.3px;line-height:1.2;margin:12px 0 20px}
h3{line-height:1.35;font-size:21px;letter-spacing:-.5px}
.muted,.intro{color:#b5afa5}
.intro{font-size:17px;max-width:590px}
.actions{display:flex;flex-wrap:wrap;gap:14px;margin:28px 0 18px}
.btn{display:inline-block;background:var(--gold);color:var(--dark);text-decoration:none;font-weight:700;padding:13px 21px;border-radius:5px;border:1px solid transparent;cursor:pointer}
.btn.secondary{background:transparent;border-color:#ffffff30;color:var(--text-light)}
.small{font-size:12px;color:#aaa399}
.board{background:var(--dark-light);border:1px solid #ffffff18;border-radius:12px;padding:28px;box-shadow:0 25px 70px #0003;transform:rotate(1deg)}
.boardtop{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #ffffff15;padding-bottom:17px;font-size:12px;color:#c7c3bc}
.dot{color:var(--gold)}
.board h3{font-size:25px;margin:25px 0 6px}
.check{display:flex;align-items:flex-start;gap:12px;padding:14px 0;border-bottom:1px solid #ffffff0d;font-size:14px;cursor:pointer}
.check input{accent-color:var(--gold);width:18px;height:18px;flex-shrink:0;margin-top:3px}
.check:has(input:checked){color:var(--gold)}
.boardfoot{margin-top:21px;border-left:2px solid var(--gold);padding-left:14px;font-size:13px;color:#c7c0b4}
.strip{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #ffffff18;border-bottom:1px solid #ffffff18;padding:22px 0;font-size:13px;color:#bcb5a9}
.strip span:first-child{color:var(--gold)}
.section{padding:78px 0}
.sectionhead{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:32px}
.sectionhead p{max-width:380px;color:#b5afa5;font-size:14px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{border:1px solid #ffffff19;border-radius:8px;padding:27px;background:#151515}
.number{font-family:monospace;font-size:12px;color:var(--gold);letter-spacing:2px}
.card p{font-size:14px;color:#b5afa5}
.card a{font-size:14px;color:var(--gold);text-underline-offset:5px}
.tag{display:inline-block;font-size:11px;background:#d4af3716;border:1px solid #d4af3730;color:var(--gold);border-radius:4px;padding:4px 9px}
.principle{background:linear-gradient(135deg, #1A1A1A, #0A0A0A);border:1px solid #d4af3745;color:var(--text-light);border-radius:9px;padding:46px;display:grid;grid-template-columns:1fr 1fr;gap:60px}
.principle .eyebrow{color:#f0d783}
.principle p{color:#e3d9cd}
.steps{list-style:none;padding:0;margin:0;counter-reset:steps}
.steps li{border-bottom:1px solid #d4af3730;padding:17px 0;counter-increment:steps}
.steps li:before{content:'0' counter(steps);font:12px monospace;margin-right:18px;opacity:.6}
.steps strong{display:inline}
.steps span{display:block;margin-left:36px;font-size:13px;color:#e6d4bb}
.offer{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.offer .card{padding:35px}
.offer h3{font-size:28px}
.offer ul{padding-left:20px;color:#b5afa5;font-size:14px}
.faq{max-width:800px}
details{border-bottom:1px solid #ffffff20;padding:19px 0}
summary{cursor:pointer;font-weight:600}
details p{color:#b5afa5;font-size:14px}
.contact{padding:45px;border:1px solid #ffffff20;border-radius:8px;display:flex;justify-content:space-between;gap:30px;align-items:center;margin-bottom:65px}
.contact h2{font-size:30px;margin-top:0}
.contact p{margin-bottom:0;color:#b5afa5}
footer{border-top:1px solid #ffffff18;padding:32px 0}
.footerline{display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#b5afa5}
.footerline a{margin-left:18px}
.risk{font-size:11px;color:#a49d93;max-width:950px;margin-top:25px}
.pagehero{max-width:800px;padding:65px 0 25px}
.pagehero h1{font-size:clamp(38px,5vw,58px)}
.lesson{max-width:850px;padding:30px;border:1px solid #ffffff20;border-radius:8px;margin:22px 0;background:#151515;scroll-margin-top:105px}
.lesson h2{font-size:27px}
.lesson p,.lesson li{color:#c7c3bc}
.exercise{border-left:3px solid var(--gold);padding:12px 20px;background:#d4af3709;margin:22px 0}
.exercise strong{color:var(--gold)}
.lessonlinks{display:flex;flex-wrap:wrap;gap:12px;margin:25px 0}
.lessonlinks a{padding:8px 12px;border:1px solid #ffffff25;border-radius:4px;font-size:13px;text-decoration:none}
.progress{display:block;width:100%;accent-color:var(--gold);height:7px;margin-top:18px}
.journalexample{border:1px solid #ffffff18;border-radius:6px;margin:20px 0;overflow:auto}
table{border-collapse:collapse;width:100%;min-width:440px;text-align:left;font-size:13px}
th,td{padding:14px;border-bottom:1px solid #ffffff15}
th{color:var(--gold);font-weight:500}
.textlink{color:var(--gold);text-underline-offset:5px}
@media(max-width:850px){.hero{grid-template-columns:1fr;gap:30px;padding-top:42px}
.board{transform:none}
.nav{flex-wrap:wrap;gap:10px;padding:15px 0}
.navlinks{flex-wrap:wrap;gap:15px}
.navlinks a{font-size:12px}
.grid{grid-template-columns:1fr}
.principle{grid-template-columns:1fr;gap:18px;padding:28px}
.sectionhead{display:block}
.strip{flex-wrap:wrap}
.offer{grid-template-columns:1fr}
.section{padding:48px 0}
.contact{display:block;padding:28px}
.footerline{flex-direction:column}
.footerline a{margin:0 16px 0 0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
}

/* Brand accents shared by the learning pages. */
.brand { color: var(--gold); }

.brand b, .btn:not(.secondary) {
  background: linear-gradient(135deg, #f0d783, var(--gold), #cd7f32);
}

.board { border-color: #d4af3738; border-top: 3px solid var(--gold); }

.card, .lesson { border-color: #d4af3726; }

.tag { background: #d4af3716; border-color: #d4af3745; }

.principle h2, .principle a { color: #f5dda0; }

.principle .steps span { color: #e6d4bb; }

.btn:hover { filter: brightness(1.08); }

.btn.secondary:hover, .lessonlinks a:hover { border-color: var(--gold); background: #d4af370d; }

.contact { background: linear-gradient(120deg, #1a1a1a, #0a0a0a); border-color: #d4af3738; }

/* Silver supports reading; red marks discipline and the fourth stage. */
.muted, .intro, .sectionhead p, .card p, .offer ul,
details p, .contact p, .footerline, .lesson p, .lesson li,
.boardtop, .boardfoot, .strip, .navlinks a {
  color: var(--silver);
}
.btn.secondary, .navlinks .navcta, .lessonlinks a {
  color: var(--silver);
  border-color: #c0c0c059;
}
.board { border-top-color: var(--silver); }
.principle { border-color: #e0443e66; border-top: 3px solid var(--red); }
.principle .eyebrow { color: var(--red); }
.principle p, .principle .steps span { color: var(--silver); }
.steps li:last-child::before { color: var(--red); opacity: 1; }
.lesson#bilan { border-top: 3px solid var(--red); }
.lesson#bilan .number { color: var(--red); }
.lesson#bilan .exercise { border-left-color: var(--red); }
.contact { border-top: 2px solid var(--red); }

/* Emerald is reserved for progress and completed actions. */
.check input, .progress { accent-color: var(--emerald); }
.check:has(input:checked) { color: var(--emerald); }
.lesson:has([data-lesson]:checked) {
  border-left: 3px solid var(--emerald);
}
.board:has([data-routine]:checked) [data-routine-status] {
  color: var(--emerald);
}

/* Formation catalogue and product page. */
.product-pack { transform: none; border-top-color: var(--gold); }
.product-pack h2 { font-size: clamp(36px, 4vw, 52px); }
.pack-list { padding-left: 20px; color: var(--silver); }
.pack-list li { padding: 5px 0; }
.excerpt-exercise { margin: 0; }
.module-list { list-style: none; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 32px; }
.module-list li { display: flex; align-items: baseline; gap: 18px; padding: 18px 0; border-bottom: 1px solid #c0c0c029; }
.module-list li:nth-child(5n) .number { color: var(--red); }
.formation-price { font-size: 40px !important; color: var(--gold) !important; line-height: 1.3; font-weight: 700; }
.formation-price span { display: block; font-size: 13px; font-weight: 400; color: var(--silver); margin-top: 7px; }
.purchase-panel { border-top: 3px solid var(--gold); scroll-margin-top: 110px; }
.purchase-panel .btn { font-size: 14px; color: var(--dark); }
.purchase-panel .btn .small { color: inherit; }
.access-panel { width: min(100%, 550px); }
.access-panel form { display: grid; gap: 12px; margin: 20px 0; }
.access-panel input:not([type=hidden]) { width: 100%; padding: 13px; color: var(--text-light); background: var(--dark-light); border: 1px solid var(--silver); border-radius: 5px; letter-spacing: 6px; }
.access-panel .btn { justify-self: start; }
.catalogue-feature { display: grid; grid-template-columns: 1.4fr 1fr; gap: 40px; padding: 35px; }
.catalogue-feature .btn { color: var(--dark); }
.catalogue-feature .btn.secondary { color: var(--silver); }
.catalogue-note { border-left: 2px solid var(--red); padding: 15px 25px; align-self: center; }
.catalogue-note h3 { font-size: 28px; color: var(--silver); }
@media (max-width: 850px) {
  .module-list, .catalogue-feature { grid-template-columns: 1fr; }
  .catalogue-feature { padding: 25px; gap: 20px; }
  .catalogue-note { padding: 10px 20px; }
}

