/* ============================================================
   TERMSHEET — DESIGN SYSTEM
   Thème : Bloomberg Terminal — encre / ambre / mono
   ============================================================ */

:root{
  --ink:#0A0D12;
  --panel:#12161D;
  --panel-2:#181D26;
  --panel-3:#1E2430;
  --line:#262C36;
  --line-strong:#3A4150;

  --amber:#FFB000;
  --amber-dim:#7A5800;
  --amber-bg:#221A07;

  --glacier:#5EC8F2;
  --glacier-bg:#0E2530;

  --up:#3DDC84;
  --up-bg:#0D2B1C;
  --down:#FF5C5C;
  --down-bg:#2B1414;

  --text:#E8E6E1;
  --text-dim:#9298A2;
  --text-faint:#5A616C;

  --font-mono:'IBM Plex Mono', monospace;
  --font-sans:'IBM Plex Sans', sans-serif;

  --radius:4px;
  --container:1280px;
}

*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; }
body{
  background:var(--ink);
  color:var(--text);
  font-family:var(--font-sans);
  line-height:1.65;
  font-size:16px;
}
h1,h2,h3,h4{ font-family:var(--font-mono); font-weight:600; line-height:1.3; margin:0 0 .6em; }
p{ margin:0 0 1em; color:var(--text); }
a{ color:inherit; text-decoration:none; }
.container{ max-width:var(--container); margin:0 auto; padding:0 48px; }
.muted{ color:var(--text-dim); }
.small{ font-size:13px; }
code, .mono{ font-family:var(--font-mono); }

/* ---------- TOPBAR / NAV ---------- */
.topbar{ border-bottom:1px solid var(--line); position:sticky; top:0; background:rgba(10,13,18,.92); backdrop-filter:blur(6px); z-index:50; }
.nav{ display:flex; align-items:center; justify-content:space-between; padding:18px 48px; }
.brand{ display:flex; align-items:center; gap:8px; font-family:var(--font-mono); font-weight:600; font-size:17px; }
.brand .prompt{ color:var(--amber); }
.nav-links{ display:flex; gap:32px; list-style:none; padding:0; margin:0; font-size:14px; color:var(--text-dim); }
.nav-links a:hover{ color:var(--amber); }
.nav-links .active{ color:var(--amber); }
.nav-right{ display:flex; align-items:center; gap:16px; }

/* Language toggle */
.lang-toggle{
  font-family:var(--font-mono); font-size:12px; color:var(--text-dim);
  border:1px solid var(--line); border-radius:var(--radius);
  display:flex; overflow:hidden; cursor:pointer; user-select:none;
}
.lang-toggle span{ padding:6px 12px; }
.lang-toggle span.active{ background:var(--amber); color:var(--ink); }

.btn{ font-family:var(--font-mono); font-size:13px; padding:9px 18px; border-radius:var(--radius); display:inline-block; cursor:pointer; border:1px solid transparent; }
.btn-primary{ background:var(--amber); color:var(--ink); }
.btn-primary:hover{ background:#ffc233; }
.btn-secondary{ border:1px solid var(--amber); color:var(--amber); }
.btn-secondary:hover{ background:var(--amber); color:var(--ink); }
.btn-ghost{ border:1px solid var(--line); color:var(--text); }
.btn-ghost:hover{ border-color:var(--text-dim); }

/* ---------- HERO ---------- */
.hero{ padding:72px 0 56px; border-bottom:1px solid var(--line); }
.eyebrow{ font-family:var(--font-mono); font-size:12px; color:var(--glacier); letter-spacing:1px; display:inline-block; margin-bottom:16px; }
.hero h1{ font-size:36px; margin-bottom:18px; }
.hero-note{ color:var(--text-dim); font-size:16px; max-width:760px; }

/* Pills */
.pill-row{ display:flex; gap:10px; flex-wrap:wrap; margin:20px 0; }
.pill{ font-family:var(--font-mono); font-size:12px; border:1px solid var(--line); color:var(--text-dim); padding:5px 12px; border-radius:20px; }
.pill.amber{ border-color:var(--amber-dim); color:var(--amber); }
.pill.glacier{ border-color:var(--glacier); color:var(--glacier); }
.pill.up{ border-color:var(--up); color:var(--up); }
.pill.down{ border-color:var(--down); color:var(--down); }

/* ---------- GRIDS ---------- */
.grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.grid-3{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:20px; }
.grid-4{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }

/* ---------- CARDS ---------- */
.card{ background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); padding:24px; }
.highlight-card{ background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); padding:18px; }
.dash-label{ font-family:var(--font-mono); font-size:11px; color:var(--text-dim); letter-spacing:.5px; text-transform:uppercase; margin-bottom:8px; }
.summary-number{ font-family:var(--font-mono); font-size:26px; font-weight:600; }
.legend-note{ font-family:var(--font-mono); font-size:12px; color:var(--text-faint); margin-top:8px; }

.formula-card{ background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); padding:22px; margin-bottom:16px; }
.formula-card h3{ font-size:15px; margin-bottom:12px; color:var(--text); }
.equation{ overflow-x:auto; padding:6px 0; }
.equation mjx-container{ color:var(--text) !important; }

.mini-card{ background:var(--panel-2); border:1px solid var(--line); border-radius:var(--radius); padding:16px; }

.assumption-list{ display:flex; flex-direction:column; gap:14px; margin:24px 0; }
.assumption-item{ display:flex; gap:14px; align-items:flex-start; padding:14px 16px; background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); }
.assumption-icon{ font-family:var(--font-mono); color:var(--amber); font-size:13px; padding-top:2px; }
.assumption-text{ font-size:14.5px; color:var(--text-dim); }
.assumption-text strong{ color:var(--text); font-weight:500; }

/* Interview callout — tie-in vers la banque de questions */
.interview-callout{
  border-left:3px solid var(--amber); background:var(--amber-bg);
  border-radius:0 var(--radius) var(--radius) 0; padding:18px 22px; margin:28px 0;
}
.interview-callout .label{ font-family:var(--font-mono); font-size:11px; color:var(--amber); letter-spacing:.5px; text-transform:uppercase; margin-bottom:10px; display:block; }
.interview-callout .q{ font-size:15px; color:var(--text); margin-bottom:6px; font-weight:500; }
.interview-callout .meta{ font-family:var(--font-mono); font-size:12px; color:var(--text-faint); }

/* Plot box */
.plot-box{ background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); padding:12px; min-height:340px; margin:20px 0; }
.plot-box.short{ min-height:220px; }
.plot-controls{ display:flex; gap:20px; flex-wrap:wrap; margin:16px 0; align-items:center; }
.plot-controls label{ font-family:var(--font-mono); font-size:12px; color:var(--text-dim); display:flex; flex-direction:column; gap:6px; }
.plot-controls input[type="range"]{ width:160px; accent-color:var(--amber); }
.plot-controls .val{ color:var(--amber); }

/* ---------- SECTIONS ---------- */
.section-block{ padding:64px 0; border-bottom:1px solid var(--line); }
.section-block h2{ font-size:24px; margin-bottom:10px; }
.section-note{ color:var(--text-dim); max-width:720px; margin-bottom:28px; }

/* ---------- COURSE TOC / SIDEBAR ---------- */
.course-layout{ display:grid; grid-template-columns:220px 1fr; gap:48px; }
.toc{ position:sticky; top:90px; align-self:start; font-family:var(--font-mono); font-size:13px; }
.toc a{ display:block; padding:6px 0; color:var(--text-faint); border-left:2px solid transparent; padding-left:12px; }
.toc a:hover, .toc a.active{ color:var(--amber); border-left-color:var(--amber); }

/* ---------- NAV USER CHIP + DROPDOWN ---------- */
.nav-chip{
  display:flex; align-items:center; gap:9px;
  padding:5px 12px 5px 6px;
  border:1px solid var(--line); border-radius:var(--radius);
  cursor:pointer; position:relative; user-select:none;
  font-family:var(--font-mono); font-size:13px;
  transition:border-color .15s, background .15s;
}
.nav-chip:hover, .nav-chip.open{ border-color:var(--amber-dim); background:var(--amber-bg); }

.nav-avatar{
  width:26px; height:26px; border-radius:50%;
  background:var(--amber-bg); border:1px solid var(--amber-dim);
  color:var(--amber); font-size:10px; font-weight:600;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
  font-family:var(--font-mono);
}
.nav-chip-name{ color:var(--text); font-size:13px; }
.nav-tier{
  font-family:var(--font-mono); font-size:10px; letter-spacing:.6px;
  border:1px solid; padding:1px 6px; border-radius:2px;
}
.nav-caret{ color:var(--text-faint); transition:transform .2s; flex-shrink:0; }
.nav-chip.open .nav-caret{ transform:rotate(180deg); }

.nav-drop{
  position:absolute; top:calc(100% + 8px); right:0;
  min-width:220px; background:var(--panel-2);
  border:1px solid var(--line-strong); border-radius:var(--radius);
  padding:6px; display:none; z-index:200;
  box-shadow:0 12px 32px rgba(0,0,0,.5);
}
.nav-drop.open{ display:block; }

.nav-drop-header{
  display:flex; align-items:center; gap:12px;
  padding:10px 12px 12px;
}
.nav-drop-avatar{
  width:36px; height:36px; border-radius:50%;
  background:var(--amber-bg); border:1px solid var(--amber-dim);
  color:var(--amber); font-size:13px; font-weight:600;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
  font-family:var(--font-mono);
}
.nav-drop-name{ font-family:var(--font-mono); font-size:13px; color:var(--text); }
.nav-drop-email{ font-size:11px; color:var(--text-faint); margin-top:2px; }

.nav-drop-sep{ border-top:1px solid var(--line); margin:4px 0; }

.nav-drop-item{
  display:flex; align-items:center; gap:10px;
  padding:9px 12px; border-radius:3px;
  font-family:var(--font-mono); font-size:12px; color:var(--text-dim);
  cursor:pointer; width:100%; text-align:left;
  background:none; border:none; text-decoration:none;
  transition:background .1s, color .1s;
}
.nav-drop-item:hover{ background:var(--panel-3); color:var(--text); }
.nav-drop-item span{ font-size:13px; color:var(--amber); width:16px; flex-shrink:0; }
.nav-drop-upgrade{ color:var(--amber) !important; }
.nav-drop-upgrade span{ color:var(--amber) !important; }
.nav-drop-danger{ color:var(--down) !important; }
.nav-drop-danger:hover{ background:var(--down-bg) !important; }
.nav-drop-danger span{ color:var(--down) !important; }

/* ---------- FOOTER ---------- */
footer{ padding:40px 48px; text-align:center; color:var(--text-faint); font-family:var(--font-mono); font-size:13px; border-top:1px solid var(--line); }

/* ---------- COURSE INDEX CARDS (learning hub) ---------- */
.course-card{ background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); padding:24px; transition:border-color .15s; }
.course-card:hover{ border-color:var(--amber-dim); }
.course-tag{ font-family:var(--font-mono); font-size:11px; color:var(--glacier); border:1px solid var(--glacier); display:inline-block; padding:3px 8px; border-radius:2px; margin-bottom:16px; letter-spacing:.5px; }
.course-card h3{ font-size:17px; font-weight:500; margin-bottom:10px; }
.course-card p{ font-size:14px; color:var(--text-dim); margin-bottom:18px; }
.course-meta{ display:flex; justify-content:space-between; font-family:var(--font-mono); font-size:12px; color:var(--text-dim); border-top:1px solid var(--line); padding-top:14px; }

/* ---------- RESPONSIVE ---------- */
@media (max-width:980px){
  .grid-2,.grid-3,.grid-4{ grid-template-columns:1fr; }
  .course-layout{ grid-template-columns:1fr; }
  .toc{ display:none; }
  .nav-links{ display:none; }
}
@media (max-width:600px){
  .nav, .container{ padding-left:20px; padding-right:20px; }
  .hero h1{ font-size:28px; }
}

/* ---------- ACCESSIBILITY ---------- */
:focus-visible{ outline:2px solid var(--amber); outline-offset:2px; }
@media (prefers-reduced-motion: reduce){ *{ animation-duration:0.001ms !important; transition-duration:0.001ms !important; } }

/* ---------- KEY INSIGHT BLOCK ---------- */
.key-insight{
  background:var(--glacier-bg); border:1px solid rgba(94,200,242,.35);
  border-radius:var(--radius); padding:18px 22px; margin:24px 0;
}
.key-insight .insight-label{
  font-family:var(--font-mono); font-size:11px; color:var(--glacier);
  letter-spacing:.5px; text-transform:uppercase; margin-bottom:8px; display:block;
}
.key-insight p{ font-size:14.5px; color:var(--text-dim); margin:0; }
.key-insight p strong{ color:var(--text); }

/* ---------- WORKED EXAMPLE BOX ---------- */
.example-box{
  background:var(--panel-3); border:1px solid var(--line);
  border-radius:var(--radius); padding:24px; margin:20px 0;
}
.example-box h4{
  font-family:var(--font-mono); font-size:14px; color:var(--amber);
  margin:0 0 16px;
}
.step-list{ display:flex; flex-direction:column; gap:12px; }
.step-item{ display:flex; gap:14px; align-items:flex-start; }
.step-badge{
  font-family:var(--font-mono); font-size:11px; color:var(--ink);
  background:var(--glacier); padding:3px 8px; border-radius:3px;
  min-width:32px; text-align:center; margin-top:3px; flex-shrink:0;
}
.step-content{ font-size:14px; color:var(--text-dim); line-height:1.7; }
.step-content strong{ color:var(--text); }
.step-content .eq{ font-family:var(--font-mono); color:var(--amber); font-size:13px; display:block; margin:4px 0; }

/* ---------- DATA TABLE ---------- */
.data-table{
  width:100%; border-collapse:collapse; font-family:var(--font-mono);
  font-size:13px; margin:16px 0;
}
.data-table th{
  color:var(--text-dim); font-weight:500; padding:8px 14px;
  border-bottom:2px solid var(--line-strong); text-align:left;
}
.data-table td{
  padding:8px 14px; border-bottom:1px solid var(--line); color:var(--text);
}
.data-table tr:last-child td{ border-bottom:none; }
.data-table .c-amber{ color:var(--amber); }
.data-table .c-glacier{ color:var(--glacier); }
.data-table .c-up{ color:var(--up); }
.data-table .c-down{ color:var(--down); }
.data-table .c-dim{ color:var(--text-dim); }

/* ---------- EXPANDABLE INTERVIEW ANSWERS ---------- */
.interview-callout details{ margin-top:12px; }
.interview-callout summary{
  font-family:var(--font-mono); font-size:12px; color:var(--up);
  cursor:pointer; list-style:none; padding:6px 0; user-select:none;
}
.interview-callout summary::-webkit-details-marker{ display:none; }
.interview-callout summary::before{ content:"[+] voir la réponse structurée"; }
.interview-callout details[open] summary::before{ content:"[−] masquer la réponse"; }
.interview-callout .answer{
  background:var(--up-bg); border-left:2px solid var(--up);
  border-radius:0 var(--radius) var(--radius) 0; padding:14px 18px;
  margin-top:8px; font-size:14px; color:var(--text-dim); line-height:1.75;
}
.interview-callout .answer strong{ color:var(--text); }
.interview-callout .answer ol, .interview-callout .answer ul{
  margin:8px 0 0 0; padding-left:20px; color:var(--text-dim);
}
.interview-callout .answer li{ margin-bottom:6px; }

/* ---------- COMPARISON TABLE ---------- */
.compare-table{
  width:100%; border-collapse:collapse; font-size:14px; margin:20px 0;
}
.compare-table th{
  font-family:var(--font-mono); font-size:12px; letter-spacing:.5px;
  text-transform:uppercase; padding:10px 16px; background:var(--panel-2);
  border:1px solid var(--line); color:var(--text-dim);
}
.compare-table td{
  padding:10px 16px; border:1px solid var(--line); vertical-align:top;
  font-size:14px; color:var(--text-dim); line-height:1.6;
}
.compare-table td:first-child{ color:var(--text); font-family:var(--font-mono); font-size:13px; }
.compare-table .yes{ color:var(--up); }
.compare-table .no{ color:var(--down); }

/* ---------- PROOF BLOCK ---------- */
.proof-block{
  border:1px solid var(--line-strong); border-radius:var(--radius);
  padding:20px 24px; margin:20px 0; background:var(--panel-2);
}
.proof-block h4{
  font-family:var(--font-mono); font-size:13px; color:var(--text-dim);
  margin:0 0 14px; text-transform:uppercase; letter-spacing:.5px;
}

/* ---------- TREE VISUALIZATION ---------- */
.tree-svg-box{
  background:var(--panel); border:1px solid var(--line);
  border-radius:var(--radius); padding:16px; margin:20px 0;
  overflow-x:auto;
}
.tree-svg-box svg text{ font-family:'IBM Plex Mono', monospace; }

/* ---------- SECTION TAG ---------- */
.section-tag{
  font-family:var(--font-mono); font-size:11px; border:1px solid var(--line);
  color:var(--text-faint); padding:3px 8px; border-radius:2px;
  display:inline-block; margin-bottom:14px; letter-spacing:.5px; text-transform:uppercase;
}

/* ---------- PREMIUM COURSE HELPERS ---------- */
.premium-strip{
  display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:24px 0 8px;
}
.premium-metric{
  background:linear-gradient(180deg, rgba(94,200,242,.07), rgba(18,22,29,.92));
  border:1px solid var(--line); border-radius:var(--radius); padding:18px;
}
.premium-metric strong{
  display:block; font-family:var(--font-mono); font-size:14px; color:var(--text);
  margin-bottom:8px;
}
.premium-metric p{ margin:0; font-size:14px; color:var(--text-dim); }

.reading-strip{
  border:1px solid var(--amber-dim); background:var(--amber-bg);
  border-radius:var(--radius); padding:16px 18px; margin:20px 0 28px;
}
.reading-strip strong{
  display:block; font-family:var(--font-mono); font-size:12px; color:var(--amber);
  text-transform:uppercase; letter-spacing:.5px; margin-bottom:8px;
}
.reading-strip p{ margin:0; font-size:14px; color:var(--text-dim); }

.checkpoint-grid{
  display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin:20px 0;
}
.checkpoint-card{
  background:var(--panel); border:1px solid var(--line); border-radius:var(--radius);
  padding:18px;
}
.checkpoint-card h3{
  font-size:14px; margin-bottom:10px; color:var(--amber);
}
.checkpoint-card ul{
  margin:0; padding-left:18px; color:var(--text-dim); font-size:14px; line-height:1.75;
}

.case-grid{
  display:grid; grid-template-columns:repeat(2,1fr); gap:18px; margin:20px 0;
}
.case-card{
  background:var(--panel-2); border:1px solid var(--line); border-radius:var(--radius);
  padding:20px;
}
.case-card h3{ font-size:15px; margin-bottom:10px; }
.case-card p{ font-size:14px; color:var(--text-dim); margin-bottom:12px; }
.case-card ul{
  margin:0; padding-left:18px; color:var(--text-dim); font-size:14px; line-height:1.75;
}

.formula-list{
  display:flex; flex-direction:column; gap:16px; margin:20px 0;
}
.formula-list .formula-card{ margin-bottom:0; }

.desk-signal{
  border-left:3px solid var(--glacier); background:var(--glacier-bg);
  border-radius:0 var(--radius) var(--radius) 0; padding:18px 20px; margin:24px 0;
}
.desk-signal strong{
  display:block; font-family:var(--font-mono); font-size:11px; letter-spacing:.5px;
  text-transform:uppercase; color:var(--glacier); margin-bottom:8px;
}
.desk-signal p{ margin:0; font-size:14px; color:var(--text-dim); }

.course-card-meta{
  display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap;
  font-family:var(--font-mono); font-size:11px; color:var(--text-faint);
  margin-top:auto; padding-top:14px; border-top:1px solid var(--line);
}

@media (max-width:980px){
  .premium-strip, .checkpoint-grid, .case-grid{ grid-template-columns:1fr; }
}


:root{
  --ink:#0A0D12;
  --panel:#12161D;
  --panel-2:#181D26;
  --panel-3:#1E2430;
  --line:#262C36;
  --line-strong:#3A4150;
  --amber:#FFB000;
  --amber-dim:#7A5800;
  --amber-bg:#221A07;
  --glacier:#5EC8F2;
  --glacier-bg:#0E2530;
  --up:#3DDC84;
  --up-bg:#0D2B1C;
  --down:#FF5C5C;
  --text:#E8E6E1;
  --text-dim:#9298A2;
  --text-faint:#5A616C;
  --mono:'IBM Plex Mono',monospace;
  --sans:'IBM Plex Sans',sans-serif;
  --r:4px;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--ink);color:var(--text);font-family:var(--sans);line-height:1.65;font-size:16px;}
a{color:inherit;text-decoration:none;}
h1,h2,h3{font-family:var(--mono);font-weight:600;line-height:1.25;}

/* NAV */
.topbar{border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(10,13,18,.95);backdrop-filter:blur(8px);z-index:50;}
.nav{display:flex;align-items:center;justify-content:space-between;padding:16px 48px;gap:32px;}
.brand{font-family:var(--mono);font-weight:600;font-size:17px;display:flex;align-items:center;gap:6px;white-space:nowrap;}
.brand .p{color:var(--amber);}
.nav-links{display:flex;gap:28px;list-style:none;font-size:14px;color:var(--text-dim);}
.nav-links a:hover{color:var(--amber);}
.nav-right{display:flex;align-items:center;gap:12px;flex-shrink:0;}
.btn{font-family:var(--mono);font-size:13px;padding:8px 18px;border-radius:var(--r);cursor:pointer;border:1px solid transparent;display:inline-block;}
.btn-amber{background:var(--amber);color:var(--ink);}
.btn-amber:hover{background:#ffc233;}
.btn-ghost{border-color:var(--line);color:var(--text);}
.btn-ghost:hover{border-color:var(--text-dim);}

/* TICKER */
.ticker-wrap{background:var(--panel);border-bottom:1px solid var(--line);height:30px;overflow:hidden;display:flex;align-items:center;font-family:var(--mono);font-size:12px;}
.ticker{display:inline-flex;animation:scroll 36s linear infinite;white-space:nowrap;padding-left:100%;}
.ticker span{padding:0 32px;color:var(--text-faint);display:inline-flex;gap:8px;align-items:center;}
.up{color:var(--up);}.down{color:var(--down);}.amber{color:var(--amber);}
@keyframes scroll{0%{transform:translateX(0);}100%{transform:translateX(-100%);}}

/* HERO */
.hero{padding:96px 48px 80px;max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1fr 480px;gap:72px;align-items:center;}
.hero-eyebrow{font-family:var(--mono);font-size:12px;color:var(--glacier);letter-spacing:1.5px;display:block;margin-bottom:20px;}
.hero h1{font-size:48px;letter-spacing:-.5px;margin-bottom:24px;line-height:1.1;}
.hero h1 em{color:var(--amber);font-style:normal;}
.hero-desc{font-size:17px;color:var(--text-dim);max-width:560px;line-height:1.75;margin-bottom:36px;}
.hero-desc strong{color:var(--text);}
.hero-ctas{display:flex;gap:14px;margin-bottom:40px;flex-wrap:wrap;}
.hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;}
.hero-stat{background:var(--panel);padding:14px 16px;display:flex;flex-direction:column;}
.hero-stat .num{font-family:var(--mono);font-size:22px;font-weight:600;color:var(--amber);}
.hero-stat .lbl{font-family:var(--mono);font-size:11px;color:var(--text-faint);margin-top:4px;}

/* Terminal panel */
.term-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;font-family:var(--mono);font-size:13px;}
.term-bar{background:var(--panel-2);padding:10px 14px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px;}
.dot{width:10px;height:10px;border-radius:50%;}
.dot-r{background:#FF5F56;}.dot-y{background:#FFBD2E;}.dot-g{background:#27C93F;}
.term-title{color:var(--text-faint);font-size:12px;margin-left:6px;}
.term-body{padding:20px;}
.term-row{display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-bottom:1px solid rgba(38,44,54,.6);}
.term-row:last-child{border-bottom:none;}
.term-label{color:var(--text-dim);}
.term-val{color:var(--amber);}
.term-bar-fill{height:4px;border-radius:2px;margin-top:8px;background:var(--line);}
.term-bar-fill .fill{height:100%;border-radius:2px;}
.term-section-hd{color:var(--glacier);font-size:11px;letter-spacing:1px;margin:16px 0 8px;border-bottom:1px solid var(--line);padding-bottom:6px;}

/* SECTION WRAPPER */
.section{padding:80px 48px;max-width:1280px;margin:0 auto;}
.section-sep{border-top:1px solid var(--line);}
.s-eyebrow{font-family:var(--mono);font-size:12px;color:var(--glacier);letter-spacing:1.5px;display:block;margin-bottom:14px;}
.s-title{font-size:30px;margin-bottom:14px;}
.s-desc{font-size:15px;color:var(--text-dim);max-width:680px;line-height:1.8;margin-bottom:40px;}

/* 3 PILLARS */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;}
.pillar{background:var(--panel);padding:36px 32px;position:relative;}
.pillar-num{font-family:var(--mono);font-size:11px;color:var(--text-faint);margin-bottom:20px;display:block;}
.pillar-icon{font-family:var(--mono);font-size:28px;color:var(--amber);margin-bottom:16px;display:block;}
.pillar h3{font-size:18px;margin-bottom:12px;}
.pillar p{font-size:14px;color:var(--text-dim);line-height:1.75;}
.pillar-tag{display:flex;flex-wrap:wrap;gap:6px;margin-top:20px;}
.ptag{font-family:var(--mono);font-size:11px;border:1px solid var(--line);color:var(--text-faint);padding:4px 9px;border-radius:20px;}

/* ASSET CLASSES */
.asset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.asset-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:24px;transition:border-color .2s;}
.asset-card:hover{border-color:var(--amber-dim);}
.asset-icon{font-family:var(--mono);font-size:11px;color:var(--glacier);letter-spacing:.5px;margin-bottom:12px;display:block;}
.asset-card h3{font-size:16px;margin-bottom:10px;}
.asset-topics{display:flex;flex-direction:column;gap:6px;margin-top:14px;}
.topic-line{display:flex;justify-content:space-between;align-items:center;font-size:13px;}
.topic-name{color:var(--text-dim);}
.topic-lvl{font-family:var(--mono);font-size:11px;}
.lvl-1{color:var(--up);}.lvl-2{color:var(--amber);}.lvl-3{color:var(--down);}
.asset-count{font-family:var(--mono);font-size:11px;color:var(--text-faint);margin-top:16px;padding-top:12px;border-top:1px solid var(--line);}

/* METHODOLOGY */
.method-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:0;position:relative;}
.method-step{padding:28px 24px;position:relative;background:var(--panel);border:1px solid var(--line);}
.method-step:not(:last-child){border-right:none;}
.method-step:first-child{border-radius:var(--r) 0 0 var(--r);}
.method-step:last-child{border-radius:0 var(--r) var(--r) 0;}
.method-step-num{font-family:var(--mono);font-size:11px;color:var(--text-faint);margin-bottom:12px;}
.method-step-icon{font-size:20px;margin-bottom:12px;display:block;}
.method-step h3{font-family:var(--mono);font-size:14px;margin-bottom:8px;color:var(--amber);}
.method-step p{font-size:13px;color:var(--text-dim);line-height:1.65;}
.method-arrow{position:absolute;right:-14px;top:50%;transform:translateY(-50%);z-index:2;font-family:var(--mono);color:var(--line-strong);font-size:18px;}

/* AI AGENTS */
.agents-grid{display:grid;grid-template-columns:1fr 440px;gap:48px;align-items:start;}
.agent-list{display:flex;flex-direction:column;gap:2px;}
.agent-item{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:20px 24px;display:flex;gap:18px;cursor:pointer;transition:border-color .2s;}
.agent-item:hover,.agent-item.active{border-color:var(--amber);}
.agent-item.active .agent-icon-box{background:var(--amber-bg);border-color:var(--amber-dim);}
.agent-icon-box{width:44px;height:44px;border-radius:var(--r);border:1px solid var(--line);background:var(--panel-2);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:var(--mono);font-size:16px;}
.agent-info h3{font-family:var(--mono);font-size:14px;margin-bottom:6px;}
.agent-info p{font-size:13px;color:var(--text-dim);line-height:1.6;}
.agent-demo{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;font-family:var(--mono);font-size:13px;}
.agent-demo-bar{background:var(--panel-2);border-bottom:1px solid var(--line);padding:10px 14px;display:flex;align-items:center;gap:8px;}
.agent-demo-body{padding:20px;min-height:320px;}
.msg{padding:10px 14px;border-radius:var(--r);font-size:13px;margin-bottom:10px;line-height:1.6;}
.msg-bot{background:var(--panel-2);border:1px solid var(--line);color:var(--text-dim);}
.msg-bot .who{color:var(--glacier);font-size:11px;display:block;margin-bottom:6px;letter-spacing:.5px;}
.msg-user{background:var(--amber-bg);border:1px solid var(--amber-dim);color:var(--text);}
.msg-user .who{color:var(--amber);font-size:11px;display:block;margin-bottom:6px;letter-spacing:.5px;}
.blinker{display:inline-block;width:8px;height:14px;background:var(--amber);animation:blink 1s step-end infinite;vertical-align:middle;margin-left:4px;}
@keyframes blink{50%{opacity:0;}}

/* ANALYTICS SECTION */
.analytics-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.analytics-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:24px;}
.analytics-card h3{font-family:var(--mono);font-size:14px;color:var(--text-dim);margin-bottom:20px;text-transform:uppercase;letter-spacing:.5px;}
.concept-row{display:flex;align-items:center;gap:14px;margin-bottom:12px;}
.concept-name{font-size:13px;color:var(--text);min-width:160px;}
.concept-bar-wrap{flex:1;height:6px;background:var(--line);border-radius:3px;overflow:hidden;}
.concept-bar{height:100%;border-radius:3px;transition:width 1s ease;}
.concept-pct{font-family:var(--mono);font-size:12px;color:var(--text-faint);min-width:36px;text-align:right;}
.score-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.score-box{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r);padding:14px;}
.score-num{font-family:var(--mono);font-size:24px;font-weight:600;margin-bottom:4px;}
.score-lbl{font-size:12px;color:var(--text-faint);}
.path-step{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);}
.path-step:last-child{border-bottom:none;}
.path-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;}
.path-dot.done{background:var(--up);}.path-dot.active{background:var(--amber);animation:pulse 1.5s ease-in-out infinite;}
.path-dot.next{background:var(--line);}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.4;}}
.path-title{font-size:13px;flex:1;}
.path-status{font-family:var(--mono);font-size:11px;}

/* FIRMS */
.firms-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px;}
.firm-badge{font-family:var(--mono);font-size:12px;padding:7px 16px;border:1px solid var(--line);border-radius:2px;color:var(--text-dim);transition:all .2s;}
.firm-badge:hover,.firm-badge.gs{border-color:var(--amber);color:var(--amber);}
.firm-badge.bnp{border-color:var(--glacier);color:var(--glacier);}

/* CLOSING CTA */
.cta-block{padding:96px 48px;text-align:center;position:relative;overflow:hidden;border-top:1px solid var(--line);}
.cta-block::before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:800px;height:400px;background:radial-gradient(ellipse at center,rgba(255,176,0,.06) 0%,transparent 70%);pointer-events:none;}
.cta-block h2{font-size:40px;margin-bottom:20px;}
.cta-block p{font-size:17px;color:var(--text-dim);max-width:540px;margin:0 auto 36px;line-height:1.75;}

/* FOOTER */
footer{border-top:1px solid var(--line);padding:32px 48px;display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:12px;color:var(--text-faint);}
footer a{color:var(--text-faint);}
footer a:hover{color:var(--amber);}

/* RESPONSIVE */
@media(max-width:1100px){
  .hero{grid-template-columns:1fr;gap:48px;}
  .hero-panel{display:none;}
  .method-flow{grid-template-columns:1fr 1fr;gap:2px;}
  .method-step:first-child{border-radius:var(--r) 0 0 0;}
  .method-step:last-child{border-radius:0 0 var(--r) 0;}
}
@media(max-width:800px){
  .nav{padding:14px 20px;}
  .nav-links{display:none;}
  .hero{padding:60px 20px;}
  .section{padding:60px 20px;}
  .pillars,.asset-grid,.agents-grid,.analytics-grid{grid-template-columns:1fr;}
  .method-flow{grid-template-columns:1fr;}
  .hero-stats{grid-template-columns:1fr 1fr;}
  .cta-block{padding:64px 20px;}
  footer{padding:24px 20px;flex-direction:column;gap:12px;}
}

/* ── NAV USER CHIP (auth.js inject) ── */
.nav-chip{display:flex;align-items:center;gap:9px;padding:5px 12px 5px 6px;border:1px solid var(--line);border-radius:var(--r);cursor:pointer;position:relative;user-select:none;font-family:var(--mono);font-size:13px;transition:border-color .15s,background .15s;}
.nav-chip:hover,.nav-chip.open{border-color:var(--amber-dim);background:var(--amber-bg);}
.nav-avatar{width:26px;height:26px;border-radius:50%;background:var(--amber-bg);border:1px solid var(--amber-dim);color:var(--amber);font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:var(--mono);}
.nav-chip-name{color:var(--text);font-size:13px;}
.nav-tier{font-family:var(--mono);font-size:10px;letter-spacing:.6px;border:1px solid;padding:1px 6px;border-radius:2px;}
.nav-caret{color:var(--text-faint);transition:transform .2s;flex-shrink:0;}
.nav-chip.open .nav-caret{transform:rotate(180deg);}
.nav-drop{position:absolute;top:calc(100% + 8px);right:0;min-width:220px;background:var(--panel-2);border:1px solid var(--line-strong);border-radius:var(--r);padding:6px;display:none;z-index:200;box-shadow:0 12px 32px rgba(0,0,0,.5);}
.nav-drop.open{display:block;}
.nav-drop-header{display:flex;align-items:center;gap:12px;padding:10px 12px 12px;}
.nav-drop-avatar{width:36px;height:36px;border-radius:50%;background:var(--amber-bg);border:1px solid var(--amber-dim);color:var(--amber);font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:var(--mono);}
.nav-drop-name{font-family:var(--mono);font-size:13px;color:var(--text);}
.nav-drop-email{font-size:11px;color:var(--text-faint);margin-top:2px;}
.nav-drop-sep{border-top:1px solid var(--line);margin:4px 0;}
.nav-drop-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:3px;font-family:var(--mono);font-size:12px;color:var(--text-dim);cursor:pointer;width:100%;text-align:left;background:none;border:none;text-decoration:none;transition:background .1s,color .1s;}
.nav-drop-item:hover{background:var(--panel-3);color:var(--text);}
.nav-drop-item span{font-size:13px;color:var(--amber);width:16px;flex-shrink:0;}
.nav-drop-upgrade{color:var(--amber)!important;}
.nav-drop-upgrade span{color:var(--amber)!important;}
.nav-drop-danger{color:var(--down)!important;}
.nav-drop-danger:hover{background:rgba(255,92,92,.1)!important;}
.nav-drop-danger span{color:var(--down)!important;}
