:root{--surface:#0d1320;--border:rgba(201,168,76,0.15);--text-muted:#8a99b8;--text-dim:#4a5568}.page-section{margin-bottom:72px}.sec-label{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:12px}.sec-title{font-family:'DM Serif Display',serif;font-size:clamp(22px, 3vw, 30px);color:var(--text);margin-bottom:12px;line-height:1.2}.sec-desc{font-size:17px;color:var(--text-muted);margin-bottom:36px;max-width:680px}.disclaimer{background:rgba(201,168,76,.06);border:1px solid rgba(201,168,76,.25);border-left:3px solid var(--gold);border-radius:6px;padding:20px 24px;margin-bottom:64px;display:flex;gap:14px;align-items:flex-start}.disclaimer-icon{font-size:18px;flex-shrink:0;margin-top:2px}.disclaimer-text{font-size:17px;color:var(--text-muted);line-height:1.6}.disclaimer-text strong{color:var(--gold);display:block;margin-bottom:4px;font-size:13px;text-transform:uppercase;letter-spacing:.5px}.prereqs{display:flex;flex-direction:column;gap:16px}.prereq-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:24px 28px;display:flex;gap:20px;align-items:flex-start;transition:border-color .2s}.prereq-card:hover{border-color:rgba(201,168,76,.35)}.prereq-num{font-family:'DM Mono',monospace;font-size:11px;color:var(--gold);background:rgba(201,168,76,.1);border:1px solid rgba(201,168,76,.2);border-radius:4px;padding:4px 8px;flex-shrink:0;margin-top:2px}.prereq-title{font-size:17px;font-weight:600;color:var(--text);margin-bottom:6px}.prereq-text{font-size:17px;color:var(--text-muted);line-height:1.6}.prereq-text strong{color:var(--text)}.concepts-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.concept-block{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:24px}.concept-block-title{font-family:'DM Mono',monospace;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--border)}.concept-list{list-style:none;display:flex;flex-direction:column;gap:14px}.concept-item{display:flex;flex-direction:column;gap:2px}.concept-name{font-size:17px;font-weight:600;color:var(--text)}.concept-desc{font-size:15px;color:var(--text-muted);line-height:1.5}.concept-note{margin-top:16px;padding-top:16px;border-top:1px solid var(--border);font-size:13px;color:var(--text-dim);font-family:'DM Mono',monospace}.concept-note a{color:var(--gold);text-decoration:none}.concept-note a:hover{text-decoration:underline}.archi-apporte{background:linear-gradient(135deg,rgba(201,168,76,.06) 0,rgba(74,127,191,.06) 100%);border:1px solid var(--border);border-radius:12px;padding:36px}.archi-apporte .sec-title{margin-bottom:8px}.archi-apporte .sec-desc{margin-bottom:24px}.apporte-list{list-style:none;display:flex;flex-direction:column;gap:12px}.apporte-item{display:flex;gap:12px;align-items:flex-start;font-size:17px;color:var(--text-muted)}.apporte-item::before{content:'→';color:var(--gold);flex-shrink:0;margin-top:1px}.apporte-item strong{color:var(--text)}.cta-section{margin-top:72px;padding-top:48px;border-top:1px solid var(--border);text-align:center}.cta-label{font-family:'DM Mono',monospace;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--text-dim);margin-bottom:12px}.cta-title{font-family:'DM Serif Display',serif;font-size:clamp(22px, 3vw, 30px);color:var(--text);margin-bottom:8px}.cta-subtitle{font-size:17px;color:var(--text-muted);margin-bottom:32px}.cta-buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.btn-primary{display:inline-flex;align-items:center;gap:8px;background:var(--gold);color:#080c14;font-weight:600;font-size:16px;padding:13px 24px;border-radius:6px;text-decoration:none;transition:opacity .2s;letter-spacing:.3px;text-transform:none}.btn-primary:hover{opacity:.88;transform:none}.btn-ghost{display:inline-flex;align-items:center;gap:8px;background:0 0;color:var(--text);font-weight:500;font-size:16px;padding:13px 24px;border-radius:6px;border:1px solid rgba(240,244,255,.2);text-decoration:none;transition:border-color .2s;text-transform:none}.btn-ghost::after{content:none}.btn-ghost:hover{border-color:rgba(240,244,255,.4);color:var(--text)}@media (max-width:600px){.concepts-grid{grid-template-columns:1fr}}@media (max-width:768px){.archi-apporte{padding:24px}}