/* =================================================================
   MPCM KOMPASS · Plattform-Stylesheet  (Variante 1 · Hanseatic Sharp)
   MPCM-Identität: scharfe 0px-Kante, Deep Fjord + Nordic Crimson,
   Raleway + Source Sans, überlappende Panels, Hairlines.
   ================================================================= */
:root{
  --fjord:#12203F; --fjord-90:#1b2c4d; --fjord-80:#2a3f5e;
  --slate:#315872; --mist:#abc4d2; --crimson:#e20046; --crimson-d:#c0033c;
  --mint:#c2eabd; --sage:#E3EDE7; --white:#fff;
  --ink:#12203F; --body:#34465c; --muted:#6c7d90; --faint:#9fb0bd;
  --line:#dde6ec; --line-soft:#eaf0f4; --bg:#fff; --bg-alt:#f5f8fa;
  --up:#1f7a4d; --up-bg:#e9f6ee; --down:#c0033c; --down-bg:#fdeaf0;
  --gold:#b8893a;          /* Institutional Akzent */
  --radius:0px;
  --maxw:1240px; --maxw-narrow:1080px;
  --ease:cubic-bezier(.16,.84,.34,1);
  --shadow:0 1px 2px rgba(18,32,63,.04),0 14px 36px -20px rgba(18,32,63,.2);
  --shadow-lg:0 2px 8px rgba(18,32,63,.06),0 40px 80px -40px rgba(18,32,63,.32);
  --head:'Raleway',system-ui,sans-serif;
  --body-f:'Source Sans 3',system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;max-width:100%;overflow-x:hidden}
body{font-family:var(--body-f);color:var(--body);background:var(--bg);line-height:1.6;font-size:16.5px;-webkit-font-smoothing:antialiased;max-width:100%;overflow-x:hidden}
h1,h2,h3,h4,h5{font-family:var(--head);color:var(--ink);font-weight:700;line-height:1.12;letter-spacing:-.015em}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 30px}
.narrow{max-width:var(--maxw-narrow);margin:0 auto;padding:0 30px}
.mono{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}
.kicker{font-family:var(--head);font-weight:700;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--crimson);display:inline-flex;align-items:center;gap:9px}
.kicker::before{content:"";width:20px;height:2px;background:var(--crimson);display:inline-block}
.kicker.slate{color:var(--slate)}.kicker.slate::before{background:var(--slate)}
.up{color:var(--up)}.down{color:var(--down)}

/* ---------- Utility bar ---------- */
.utilbar{background:var(--fjord);color:var(--mist);font-size:12.5px}
.utilbar .row{display:flex;align-items:center;justify-content:space-between;height:38px;max-width:var(--maxw);margin:0 auto;padding:0 30px}
.utilbar .l{display:flex;gap:20px;align-items:center}
.utilbar .live-now{display:inline-flex;align-items:center;gap:7px;color:#fff;font-family:var(--head);font-weight:700;font-size:11.5px;letter-spacing:.04em}
.utilbar .live-now .pulse{width:7px;height:7px;border-radius:50%;background:var(--crimson);box-shadow:0 0 0 0 rgba(226,0,70,.6);animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(226,0,70,.55)}70%{box-shadow:0 0 0 7px rgba(226,0,70,0)}100%{box-shadow:0 0 0 0 rgba(226,0,70,0)}}
.utilbar a{color:var(--mist)}.utilbar a:hover{color:#fff}
.utilbar .r{display:flex;gap:18px;align-items:center}

/* ---------- Header / main nav ---------- */
.masthead{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);box-shadow:0 1px 0 rgba(255,255,255,.8),0 10px 26px -24px rgba(18,32,63,.42)}
.masthead .row{display:flex;align-items:center;gap:18px;height:72px;max-width:var(--maxw);margin:0 auto;padding:0 30px}
.brand{display:flex;align-items:center;gap:12px;flex:none}
.brand .logo{position:relative;width:34px;height:34px;flex:none}
.brand .logo .sq-red{position:absolute;top:-4px;left:-4px;width:16px;height:16px;background:var(--crimson)}
.brand .logo .sq-navy{position:absolute;inset:0;background:var(--fjord);display:grid;place-items:center}
.brand .logo svg{width:20px;height:20px}
.brand .nm{font-family:var(--head);font-weight:800;font-size:16px;color:var(--ink);letter-spacing:.01em;line-height:1.05}
.brand .nm small{display:block;font-weight:600;font-size:8px;letter-spacing:.04em;color:var(--slate);margin-top:2px;white-space:nowrap}
.mainnav{display:flex;gap:2px;align-items:center;justify-content:center;margin-left:0;min-width:0;flex:1 1 auto;background:var(--bg-alt);border:1px solid var(--line);padding:3px}
.mainnav a{font-family:var(--head);font-weight:700;font-size:13px;color:var(--slate);position:relative;flex:none;padding:8px 7px;min-height:34px;display:inline-flex;align-items:center;white-space:nowrap;transition:background .18s var(--ease),color .18s var(--ease),box-shadow .18s var(--ease)}
.mainnav a:hover{background:#fff;color:var(--fjord);box-shadow:inset 0 -2px 0 rgba(49,88,114,.18)}
.mainnav a.on{background:#fff;color:var(--fjord);box-shadow:0 1px 2px rgba(18,32,63,.05),inset 0 -2px 0 var(--crimson)}
.mainnav a.on::after{content:none}
.nav-more{display:none;position:relative;min-width:0}
.nav-more__button{width:100%;min-height:34px;border:0;background:transparent;color:var(--slate);font-family:var(--head);font-weight:700;font-size:13px;padding:8px 7px;display:flex;align-items:center;justify-content:center;gap:5px;cursor:pointer}
.nav-more__button:hover,.nav-more.is-open .nav-more__button{background:#fff;color:var(--fjord);box-shadow:inset 0 -2px 0 rgba(49,88,114,.18)}
.nav-more.is-current .nav-more__button{background:#fff;color:var(--fjord);box-shadow:inset 0 -2px 0 var(--crimson)}
.nav-more__menu{display:none;position:absolute;right:0;top:calc(100% + 6px);z-index:80;width:max-content;min-width:180px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-lg);padding:5px}
.nav-more.is-open .nav-more__menu{display:grid;gap:2px}
.nav-more__menu a{display:flex;min-height:36px;padding:8px 10px;color:var(--slate);font-size:12.5px;white-space:nowrap}
.nav-more__menu a:hover{background:var(--bg-alt);color:var(--fjord);box-shadow:none}
.nav-right{margin-left:auto;display:flex;gap:10px;align-items:center;flex:none;padding-left:2px}
.searchpill{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;padding:8px 12px;color:var(--muted);font-size:13.5px;cursor:text;min-width:160px;box-shadow:inset 3px 0 0 var(--line-soft)}
.searchpill:hover{border-color:var(--mist);color:var(--slate)}
.login{font-family:var(--head);font-weight:700;font-size:13px;color:var(--slate);padding:8px 0}
.login:hover{color:var(--fjord)}
.auth-plan{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--bg-alt);color:var(--slate);font-family:var(--head);font-weight:700;font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:6px 9px}
.auth-plan .dot{color:var(--faint);width:6px;height:6px}
.auth-user{display:flex;align-items:center;min-width:34px;min-height:34px}
.auth-account{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;color:var(--fjord);font-family:var(--head);font-weight:700;font-size:12px;max-width:190px;min-width:0;overflow:hidden;padding:7px 9px;cursor:pointer}
.auth-account span{color:var(--crimson);font-size:11px;text-transform:uppercase;letter-spacing:.06em;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.auth-account:hover{background:var(--bg-alt)}
html[data-auth="signed-in"] .auth-plan{background:var(--up-bg);border-color:#c9e4d4;color:var(--up)}
html[data-auth="signed-in"] .auth-plan .dot{color:var(--up)}
html[data-auth="signed-in"] .searchpill{display:none}
.masthead .row:has(.auth-account) .searchpill{display:none}
html[data-backend="missing-config"] .auth-plan,
html[data-backend="unavailable"] .auth-plan{background:var(--down-bg);border-color:#f6bdcd;color:var(--down)}
.auth-notice{position:fixed;right:20px;bottom:20px;z-index:120;max-width:360px;background:var(--fjord);color:#fff;border-left:4px solid var(--crimson);box-shadow:var(--shadow-lg);padding:13px 16px;font-family:var(--head);font-size:13px;font-weight:700;line-height:1.35}
.auth-notice[data-tone="warn"]{border-left-color:var(--gold)}
.auth-modal{position:fixed;inset:0;z-index:140;display:grid;place-items:center;padding:24px}
.auth-modal__backdrop{position:absolute;inset:0;background:rgba(10,19,34,.62);backdrop-filter:blur(4px)}
.auth-modal__panel{position:relative;z-index:1;width:min(100%,460px);min-height:360px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-lg);padding:18px}
.auth-modal__mount{display:grid;place-items:center;min-height:320px}
.auth-modal__close{position:absolute;right:10px;top:10px;z-index:2;width:34px;height:34px;border:1px solid var(--line);background:#fff;color:var(--slate);font-size:24px;line-height:1;cursor:pointer}
.auth-modal__close:hover{background:var(--bg-alt);color:var(--fjord)}
.auth-flow{width:100%;display:grid;gap:16px}
.auth-flow__head{display:grid;gap:10px}
.auth-flow__head h1{font-size:28px;letter-spacing:-.02em}
.auth-flow__google{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--line);background:#fff;color:var(--fjord);font-family:var(--head);font-weight:800;font-size:14px;padding:12px 14px;cursor:pointer}
.auth-flow__google span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#fff;border:1px solid var(--line);color:#4285f4;font-weight:800;font-size:14px;line-height:1}
.auth-flow__google:hover{border-color:var(--slate);background:var(--bg-alt)}
.auth-flow__google:disabled{cursor:wait;opacity:.72}
.auth-flow__divider{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.auth-flow__divider::before,.auth-flow__divider::after{content:"";height:1px;background:var(--line);flex:1}
.auth-flow__field{display:grid;gap:6px;font-family:var(--head);font-weight:700;font-size:12px;color:var(--slate)}
.auth-flow__field input{width:100%;border:1px solid var(--line);background:#fff;color:var(--ink);font:600 16px var(--body-f);padding:12px 13px;outline:none}
.auth-flow__field input:focus{border-color:var(--slate);box-shadow:0 0 0 3px rgba(49,88,114,.12)}
.auth-flow__captcha{display:grid;place-items:center;min-height:1px}
.auth-flow__switch{border:0;background:transparent;color:var(--crimson);font-family:var(--head);font-weight:700;font-size:13px;cursor:pointer;justify-self:center}
.auth-flow__msg{min-height:22px;color:var(--muted);font-size:13.5px;line-height:1.35;text-align:center}

/* ---------- Buttons ---------- */
.btn{font-family:var(--head);font-weight:700;font-size:14px;letter-spacing:.01em;padding:12px 22px;border:1px solid transparent;cursor:pointer;transition:all .18s var(--ease);display:inline-flex;align-items:center;gap:9px;border-radius:var(--radius);white-space:nowrap}
.btn-primary{background:var(--crimson);color:#fff}.btn-primary:hover{background:var(--crimson-d);transform:translateY(-1px)}
.btn-dark{background:var(--fjord);color:#fff}.btn-dark:hover{background:var(--fjord-90)}
.btn-ghost{background:#fff;color:var(--fjord);border-color:var(--fjord)}.btn-ghost:hover{background:var(--fjord);color:#fff}
.btn-quiet{background:var(--bg-alt);color:var(--slate);border-color:var(--line)}.btn-quiet:hover{background:var(--sage)}
.btn-gold{background:var(--fjord);color:#fff;border:1px solid var(--gold)}.btn-gold:hover{background:#0d1830}
.btn-sm{padding:9px 16px;font-size:13px}.btn-lg{padding:15px 28px;font-size:15px}
.btn-block{width:100%;justify-content:center}

/* ---------- Badges / pills ---------- */
.pill{display:inline-flex;align-items:center;gap:6px;font-family:var(--head);font-weight:700;font-size:11.5px;letter-spacing:.03em;padding:5px 10px;border-radius:var(--radius)}
.pill-buy{background:var(--up-bg);color:var(--up)}
.pill-hold{background:var(--sage);color:var(--slate)}
.pill-sell{background:var(--down-bg);color:var(--down)}
.pill-new{background:var(--fjord);color:#fff}
.pill-live{background:var(--crimson);color:#fff}
.pill-free{background:var(--bg-alt);color:var(--slate);border:1px solid var(--line)}
.pill-plus{background:#eaf2ee;color:var(--up);border:1px solid #c9e4d4}
.pill-pro{background:#e9eef4;color:var(--fjord);border:1px solid var(--mist)}
.dot{width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}
.dot-live{width:7px;height:7px;border-radius:50%;background:#fff;animation:blink 1.4s infinite}
@keyframes blink{50%{opacity:.35}}
.lock-tag{display:inline-flex;align-items:center;gap:6px;font-family:var(--head);font-weight:700;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--gold)}

/* ---------- Sections ---------- */
section{padding:56px 0}
.alt{background:var(--bg-alt)}
.dark{background:var(--fjord);color:var(--mist)}
.dark h1,.dark h2,.dark h3,.dark h4{color:#fff}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px}
.sec-head .l{max-width:62ch}
.sec-head h2{font-size:clamp(24px,3vw,32px);font-weight:800;margin:12px 0 0;letter-spacing:-.02em}
.sec-head p{color:var(--body);font-size:17px;margin-top:10px}
.sec-head .more{font-family:var(--head);font-weight:700;font-size:13.5px;color:var(--crimson);display:inline-flex;gap:7px;white-space:nowrap}
.divide{border-top:1px solid var(--line)}

/* ---------- Author / person ---------- */
.avatar{position:relative;flex:none;background:var(--fjord);color:#fff;font-family:var(--head);font-weight:700;display:grid;place-items:center;letter-spacing:.02em}
.avatar.s{width:34px;height:34px;font-size:12px}
.avatar.m{width:46px;height:46px;font-size:15px}
.avatar.l{width:64px;height:64px;font-size:20px}
.avatar.xl{width:92px;height:92px;font-size:28px}
.avatar.star::after{content:"";position:absolute;top:-4px;left:-4px;width:14px;height:14px;background:var(--crimson);z-index:2}
.avatar.gold{background:linear-gradient(145deg,#1b2c4d,#12203F);border:1px solid var(--gold)}
/* real analyst photo avatars (extracted from Coverage List) — set background-image inline */
.avatar.photo{background-color:var(--mist);background-size:cover;background-position:center 14%;background-repeat:no-repeat;color:transparent}
.byline{display:flex;align-items:center;gap:11px}
.byline .meta .nm{font-family:var(--head);font-weight:700;font-size:14px;color:var(--ink);line-height:1.15}
.byline .meta .ro{font-size:12.5px;color:var(--muted)}
.byline .meta .nm .verified{color:var(--crimson);font-size:12px;margin-left:4px}

/* ---------- Cards: article / analysis ---------- */
.grid{display:grid;gap:22px}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
.g2{grid-template-columns:repeat(2,1fr)}
.card{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;transition:.2s var(--ease)}
.card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.card .thumb{position:relative;aspect-ratio:16/9;overflow:hidden}
.card .thumb .grad{position:absolute;inset:0}
.t-navy{background:linear-gradient(125deg,#0f1c38,#315872)}
.t-slate{background:linear-gradient(125deg,#315872,#7c9bb0)}
.t-wave{background:radial-gradient(120% 120% at 85% 5%,#dce7ee,#9fb4c4 55%,#315872);}
.t-wave::after{content:"";position:absolute;inset:0;background:repeating-radial-gradient(circle at 110% -10%,transparent 0 20px,rgba(255,255,255,.12) 20px 22px)}
.t-deep{background:linear-gradient(125deg,#0a1322,#23405e)}
.t-leaf{background:linear-gradient(125deg,#15402a,#3f7d55)}
.card .thumb .tag{position:absolute;top:0;left:0;z-index:3;background:var(--crimson);color:#fff;font-family:var(--head);font-weight:700;font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:5px 10px}
.card .thumb .tag.slate{background:var(--fjord)}
.card .thumb .dur{position:absolute;bottom:8px;right:8px;z-index:3;background:rgba(18,32,63,.82);color:#fff;font-family:var(--head);font-weight:600;font-size:11px;padding:3px 7px;font-variant-numeric:tabular-nums}
.card .thumb .lock{position:absolute;top:8px;right:8px;z-index:3;width:26px;height:26px;background:rgba(255,255,255,.92);display:grid;place-items:center;color:var(--gold)}
.card .thumb .play{position:absolute;inset:0;display:grid;place-items:center;color:#fff;z-index:2}
.card .body{padding:16px 18px;flex:1;display:flex;flex-direction:column}
.card .ticker-row{display:flex;align-items:center;gap:8px;margin-bottom:9px}
.tickerlogo{display:inline-flex;width:24px;height:24px;background:var(--fjord);color:#fff;font-family:var(--head);font-weight:800;font-size:9.5px;align-items:center;justify-content:center;flex:none}
.card h4{font-family:var(--head);font-weight:700;font-size:16.5px;color:var(--ink);line-height:1.22}
.card .ex{font-size:13.5px;color:var(--muted);margin-top:7px}
.card .foot{margin-top:auto;padding-top:13px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.card .foot .when{font-size:12px;color:var(--faint)}

/* ---------- Video feature (big) ---------- */
.vfeature{display:block;position:relative;aspect-ratio:16/9;overflow:hidden;border:1px solid var(--line)}
.vfeature .play-lg{position:absolute;left:32px;bottom:32px;z-index:4;display:flex;align-items:center;gap:14px}
.vfeature .play-lg .circ{width:60px;height:60px;background:var(--crimson);display:grid;place-items:center;color:#fff;flex:none}
.vfeature .ov{position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(10,19,34,.05) 30%,rgba(10,19,34,.86))}
.vfeature .cap{position:absolute;left:32px;right:32px;bottom:108px;z-index:3;color:#fff}
.vfeature .cap h3{color:#fff;font-size:clamp(20px,2.6vw,30px);font-weight:800;letter-spacing:-.02em;max-width:24ch}
.vfeature .cap .sub{color:rgba(255,255,255,.82);font-size:15px;margin-top:8px}
.vfeature .toptag{position:absolute;top:0;left:0;z-index:3;display:flex}
.vfeature .toptag span{font-family:var(--head);font-weight:700;font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:7px 13px;color:#fff}

/* ---------- Paywall / lock ---------- */
.locked{position:relative;border:1px solid var(--line);overflow:hidden}
.locked .blur{filter:blur(6px);opacity:.5;pointer-events:none;user-select:none;padding:24px}
.locked .gate{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;background:linear-gradient(180deg,rgba(255,255,255,.5),rgba(255,255,255,.97) 55%)}
.locked .gate .ic{width:46px;height:46px;background:var(--fjord);color:#fff;display:grid;place-items:center;margin-bottom:14px}
.locked .gate h4{font-size:20px;margin-bottom:7px}
.locked .gate p{font-size:14px;color:var(--muted);max-width:42ch;margin-bottom:16px}
.locked .gate .tiernote{font-size:12px;color:var(--gold);font-family:var(--head);font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:14px}
.meter{display:flex;align-items:center;gap:12px;background:var(--sage);border-left:3px solid var(--crimson);padding:12px 16px;font-size:13.5px;color:var(--ink)}
.meter b{font-family:var(--head)}
.meter .bar{flex:1;height:6px;background:#fff;position:relative;max-width:160px}
.meter .bar i{position:absolute;left:0;top:0;bottom:0;background:var(--crimson)}

/* ---------- Live schedule ---------- */
.liverow{display:flex;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--line-soft)}
.liverow:last-child{border:0}
.liverow .time{font-family:var(--head);font-weight:800;font-size:15px;color:var(--fjord);width:62px;flex:none;font-variant-numeric:tabular-nums}
.liverow .time small{display:block;font-weight:600;font-size:10px;color:var(--muted);letter-spacing:.06em}
.liverow .info{flex:1}
.liverow .info .ti{font-family:var(--head);font-weight:700;font-size:15.5px;color:var(--ink)}
.liverow .info .ho{font-size:12.5px;color:var(--muted);margin-top:2px}
.liverow .stt{flex:none}

/* ---------- Stat tiles ---------- */
.stat{border:1px solid var(--line);padding:16px 18px;background:#fff}
.stat .k{font-size:12px;color:var(--muted)}
.stat .v{font-family:var(--head);font-weight:800;font-size:24px;color:var(--fjord);font-variant-numeric:tabular-nums;margin-top:5px}
.stat .d{font-size:12.5px;font-weight:700;margin-top:3px;font-variant-numeric:tabular-nums}

/* ---------- Tables ---------- */
table.tbl{width:100%;border-collapse:collapse;font-size:14.5px}
.tbl th{font-family:var(--head);font-weight:700;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-align:left;padding:11px 12px;border-bottom:1px solid var(--line)}
.tbl td{padding:12px;border-bottom:1px solid var(--line-soft);color:var(--body);font-variant-numeric:tabular-nums}
.tbl tr:hover td{background:var(--bg-alt)}
.tbl td.name{font-weight:600;color:var(--ink);font-variant-numeric:normal}

/* ---------- Pricing / Tier cards ---------- */
.toggle{display:inline-flex;border:1px solid var(--line);background:#fff;margin:0 auto;border-radius:var(--radius)}
.toggle button{font-family:var(--head);font-weight:700;font-size:13.5px;padding:10px 20px;background:none;border:0;cursor:pointer;color:var(--muted)}
.toggle button.on{background:var(--fjord);color:#fff}
.toggle .save{color:var(--up);font-weight:700;margin-left:6px;font-size:12px}
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);background:#fff}
.tier{padding:30px 24px;border-right:1px solid var(--line);display:flex;flex-direction:column;position:relative}
.tier:last-child{border-right:0}
.tier.featured{background:var(--fjord);color:var(--mist);margin-top:-1px;margin-bottom:-1px;box-shadow:var(--shadow-lg);z-index:2}
.tier.featured h3,.tier.featured .price .amt{color:#fff}
.tier .badge-top{position:absolute;top:0;left:0;right:0;background:var(--crimson);color:#fff;font-family:var(--head);font-weight:700;font-size:11px;letter-spacing:.1em;text-transform:uppercase;text-align:center;padding:6px}
.tier.featured{padding-top:46px}
.tier .tname{font-family:var(--head);font-weight:800;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--crimson)}
.tier.featured .tname{color:var(--mint)}
.tier.gold .tname{color:var(--gold)}
.tier h3{font-size:22px;margin:10px 0 4px}
.tier .who{font-size:13px;color:var(--muted);min-height:38px}
.tier.featured .who{color:var(--mist)}
.tier .price{margin:18px 0 4px;display:flex;align-items:baseline;gap:4px}
.tier .price .amt{font-family:var(--head);font-weight:800;font-size:40px;color:var(--fjord);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.tier .price .per{font-size:13px;color:var(--muted)}
.tier.featured .price .per{color:var(--mist)}
.tier .billed{font-size:12px;color:var(--faint);min-height:18px}
.tier .cta{margin:20px 0 18px}
.tier ul{list-style:none;display:flex;flex-direction:column;gap:11px;font-size:13.5px}
.tier li{display:flex;gap:9px;align-items:flex-start;line-height:1.4}
.tier li .ck{color:var(--up);flex:none;font-weight:700}
.tier.featured li .ck{color:var(--mint)}
.tier.gold li .ck{color:var(--gold)}
.tier li .x2{color:var(--faint);flex:none}
.tier li.muted{color:var(--faint)}
.tier .anchor-note{font-size:11.5px;color:var(--muted);margin-top:14px;font-style:italic}
.tier.featured .anchor-note{color:var(--mist)}

/* feature matrix */
.matrix{width:100%;border-collapse:collapse;font-size:14px;border:1px solid var(--line);background:#fff}
.matrix th{font-family:var(--head);padding:14px 16px;border-bottom:1px solid var(--line);text-align:center;font-size:13px}
.matrix th:first-child{text-align:left;width:34%}
.matrix th .pr{font-weight:800;font-size:15px;color:var(--ink)}
.matrix th .pr small{display:block;font-weight:600;font-size:11px;color:var(--muted)}
.matrix td{padding:12px 16px;border-bottom:1px solid var(--line-soft);text-align:center;color:var(--body)}
.matrix td:first-child{text-align:left;font-weight:600;color:var(--ink);font-size:13.5px}
.matrix tr:hover td{background:var(--bg-alt)}
.matrix .ck{color:var(--up);font-weight:800}.matrix .no{color:var(--faint)}
.matrix .grp td{background:var(--fjord);color:#fff;font-family:var(--head);font-weight:700;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;text-align:left}
.matrix .grp:hover td{background:var(--fjord)}

/* funnel diagram */
.funnel{display:flex;flex-direction:column;gap:3px;max-width:560px;margin:0 auto}
.funnel .step{display:flex;align-items:center;gap:16px;padding:16px 22px;color:#fff;position:relative}
.funnel .step .lab{flex:1}
.funnel .step .lab b{font-family:var(--head);font-weight:800;font-size:16px;display:block}
.funnel .step .lab span{font-size:12.5px;opacity:.82}
.funnel .step .pct{font-family:var(--head);font-weight:800;font-size:20px;font-variant-numeric:tabular-nums}
.funnel .s1{background:#6c7d90;width:100%}
.funnel .s2{background:#315872;width:86%}
.funnel .s3{background:#1b3a55;width:60%}
.funnel .s4{background:#12203F;width:34%}
.funnel .s5{background:var(--crimson);width:16%}

/* mechanics cards */
.mech{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line)}
.mech .m{padding:24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.mech .m:nth-child(3n){border-right:0}
.mech .m .no{font-family:var(--head);font-weight:800;font-size:13px;color:var(--crimson)}
.mech .m h4{font-size:16px;margin:8px 0 7px}
.mech .m p{font-size:13.5px;color:var(--muted)}

/* ---------- Footer ---------- */
.site-foot{background:var(--fjord);color:var(--mist);padding:52px 0 32px;position:relative;overflow:hidden}
.site-foot .wrap{position:relative;z-index:2}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:36px;padding-bottom:30px;border-bottom:1px solid rgba(255,255,255,.12)}
.foot-brand .nm{font-family:var(--head);font-weight:800;color:#fff;font-size:17px;letter-spacing:.01em}
.foot-brand .nm small{display:block;font-weight:600;font-size:9px;letter-spacing:.28em;color:var(--mist);margin-top:2px}
.foot-brand p{font-size:13.5px;margin-top:14px;max-width:36ch}
.site-foot h5{color:#fff;font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px}
.site-foot ul{list-style:none}.site-foot li{font-size:13.5px;margin-bottom:8px}
.site-foot a:hover{color:#fff}
.foot-bottom{display:flex;justify-content:space-between;padding-top:20px;font-size:12px;flex-wrap:wrap;gap:10px;color:var(--mist)}
.foot-tri{position:absolute;right:-40px;bottom:-60px;width:300px;opacity:.05;color:#fff}
.disclaimer-strip{background:#0d1830;color:var(--mist);font-size:11.5px;padding:14px 0;line-height:1.6}

@media(max-width:1040px){
  .g4{grid-template-columns:repeat(2,1fr)}
  .tiers{grid-template-columns:1fr 1fr}.tier{border-bottom:1px solid var(--line)}
  .mech{grid-template-columns:1fr 1fr}
}
@media(max-width:1320px){
  .searchpill{display:none}
  .nav-right{gap:10px}
  .auth-account{max-width:150px}
}
@media(max-width:1120px){
  .masthead .row{gap:18px}
  .mainnav a{font-size:12.5px;padding-left:8px;padding-right:8px}
  .auth-plan{display:none}
}
@media(max-width:820px){
  .searchpill{display:none}
  .g3,.g4,.g2{grid-template-columns:1fr}
  .tiers,.mech{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
  .sec-head{flex-direction:column;align-items:flex-start}
  .matrix{font-size:12px}.matrix th,.matrix td{padding:9px 8px}
}

/* ============================================================
   COMPLIANCE-KOMPONENTEN
   Inhalte = Finanzanalyse / Anlageempfehlung (Art. 20 MAR),
   ausdrücklich KEINE Anlageberatung. Hinweise, MAR-Offenlegung,
   Risiko, Rating-Methodik.
   ============================================================ */
/* kleiner Marker neben Ratings/Kurszielen */
.cflag{display:inline-flex;align-items:center;gap:6px;font-family:var(--head);font-weight:700;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--slate);border:1px solid var(--line);padding:4px 9px;white-space:nowrap}
.cflag svg{width:12px;height:12px;flex:none}
.cflag a{color:var(--crimson)}
/* Risiko-Hinweis */
.risk-note{border:1px solid var(--line);border-left:3px solid var(--crimson);background:#fff;padding:15px 18px}
.risk-note .h{font-family:var(--head);font-weight:700;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--crimson);display:flex;align-items:center;gap:8px;margin-bottom:7px}
.risk-note p{font-size:13px;color:var(--body);line-height:1.55}
/* MAR-Offenlegungsbox */
.mar-box{border:1px solid var(--line);background:var(--bg-alt)}
.mar-box .mh{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 18px;background:var(--fjord);color:#fff}
.mar-box .mh .t{font-family:var(--head);font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.mar-box .mh .ba{font-size:11.5px;color:var(--mist)}
.mar-box .mg{display:grid;grid-template-columns:repeat(2,1fr)}
.mar-box .mi{padding:13px 18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.mar-box .mi:nth-child(2n){border-right:0}
.mar-box .mi .k{font-family:var(--head);font-weight:700;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.mar-box .mi .v{font-size:13.5px;color:var(--ink);margin-top:3px;line-height:1.45}
.mar-box .mfoot{padding:12px 18px;font-size:11.5px;color:var(--muted);line-height:1.55}
/* Rating-Methodik-Legende */
.rating-legend{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:#fff}
.rating-legend .rl{padding:14px 16px;border-right:1px solid var(--line)}
.rating-legend .rl:last-child{border-right:0}
.rating-legend .rl .lab{font-family:var(--head);font-weight:700;font-size:12px;display:flex;align-items:center;gap:7px}
.rating-legend .rl .lab.buy{color:var(--up)}.rating-legend .rl .lab.hold{color:var(--slate)}.rating-legend .rl .lab.sell{color:var(--down)}
.rating-legend .rl p{font-size:12.5px;color:var(--muted);margin-top:6px;line-height:1.5}
/* legal long-form */
.legal-prose h3{font-family:var(--head);font-weight:800;font-size:18px;color:var(--ink);margin:26px 0 10px}
.legal-prose h3:first-child{margin-top:0}
.legal-prose p{font-size:14.5px;color:var(--body);line-height:1.7;margin-bottom:12px}
.legal-prose ul{margin:0 0 14px 0;padding-left:20px}
.legal-prose li{font-size:14px;color:var(--body);line-height:1.6;margin-bottom:7px}
.legal-prose .b{font-weight:700;color:var(--ink)}
.legal-toc{border:1px solid var(--line);background:var(--bg-alt);padding:18px 20px;position:sticky;top:88px}
.legal-toc h4{font-family:var(--head);font-weight:700;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--slate);margin-bottom:12px}
.legal-toc a{display:block;font-size:13.5px;color:var(--body);padding:6px 0;border-bottom:1px solid var(--line-soft)}
.legal-toc a:last-child{border:0}.legal-toc a:hover{color:var(--crimson)}
@media(max-width:820px){.mar-box .mg,.rating-legend{grid-template-columns:1fr}.mar-box .mi{border-right:0}.rating-legend .rl{border-right:0;border-bottom:1px solid var(--line)}}

/* ---------- Responsive hardening across product pages ---------- */
@media(max-width:1040px){
  .masthead .row{
    height:auto;
    min-height:62px;
    flex-wrap:wrap;
    gap:10px 16px;
    padding:10px 24px 8px;
  }
  .mainnav{
    order:3;
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    justify-content:stretch;
    width:100%;
    margin:0;
    padding:3px;
    gap:2px;
    overflow:visible;
    border-top:1px solid var(--line-soft);
  }
  .mainnav a{
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:0;
    min-height:38px;
    padding:8px 7px;
    border-left:0;
    color:var(--slate);
    font-size:12px;
    line-height:1.15;
    text-align:center;
    white-space:normal;
    overflow-wrap:anywhere;
  }
  .mainnav a.on{background:#fff;color:var(--fjord);box-shadow:inset 0 -2px 0 var(--crimson)}
  .nav-right{gap:10px}
  .searchpill{display:none}
  .auth-plan{display:none}
  .utilbar .row{height:auto;min-height:34px;gap:12px;padding:8px 24px}
  .utilbar .l,.utilbar .r{gap:12px;flex-wrap:wrap}
  .wrap,.narrow{padding-left:24px;padding-right:24px}
  section{padding:44px 0}
  .matrix{
    display:block;
    max-width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    white-space:nowrap;
  }
  .matrix th,.matrix td{min-width:92px}
  .matrix th:first-child,.matrix td:first-child{min-width:180px;white-space:normal}
  .chart-card,.chartbox,.main,.article{min-width:0;max-width:100%}
  .chart-top,.chart-head,.meter,.authorbio,.co-head,.co-id,.liverow,.nudge{min-width:0}
  .toggle,.range,.ctype{flex-wrap:wrap}
  .meter{flex-wrap:wrap}
  .meter .bar{order:3;flex-basis:100%;max-width:none}
  .kf-grid{grid-template-columns:repeat(2,1fr)}
  .kf-grid .cell:nth-child(3n){border-right:1px solid var(--line)}
  .kf-grid .cell:nth-child(2n){border-right:0}
  .cstats{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:620px){
  body{font-size:16px}
  .wrap,.narrow{padding-left:18px;padding-right:18px}
  section{padding:34px 0}
  .masthead .row{padding:10px 18px 8px;gap:9px 12px}
  .brand{gap:10px;min-width:0}
  .brand .logo{width:31px;height:31px}
  .brand .nm{font-size:14px}
  .brand .nm small{font-size:7px;letter-spacing:.02em}
  .nav-right{gap:8px}
  .nav-right .login{display:none}
  .nav-right .btn-sm{padding:8px 11px;font-size:12px}
  .auth-account{max-width:38px;width:38px;overflow:hidden;padding:7px;justify-content:center}
  .auth-account span{display:none}
  .mainnav{grid-template-columns:repeat(4,minmax(0,1fr));padding:3px;margin-top:1px}
  .mainnav > a:nth-of-type(n+4){display:none}
  .mainnav.has-secondary-current > a[href="video-live.html"]{display:none}
  .mainnav.has-secondary-current > a.on{display:flex}
  .mainnav > a[href="video-live.html"]{font-size:0}
  .mainnav > a[href="video-live.html"]::before{content:"Video";font-size:12px}
  .mainnav a{min-height:40px;padding:8px 6px;font-size:12px}
  .nav-more{display:block}
  .nav-more__button{min-height:40px;padding:8px 6px;font-size:12px}
  .utilbar .row{padding-left:18px;padding-right:18px}
  .utilbar .r{display:none}
  .sec-head{margin-bottom:20px}
  .sec-head h2{font-size:24px}
  .sec-head p{font-size:15.5px}
  .btn{white-space:normal;justify-content:center;text-align:center}
  .btn-lg{padding:13px 18px}
  .lead-vis .cap,.vfeature .cap,.stage .cap{left:18px;right:18px;bottom:18px}
  .lead-vis .cap .tk{align-items:flex-start;flex-direction:column}
  .lead-meta,.authorline,.co-head,.authorbio{align-items:flex-start}
  .co-id{align-items:flex-start}
  .co-px{text-align:left;width:100%}
  .chartbox{padding:12px}
  #chart,#lwchart{height:320px!important}
  .cstats,.kf-grid,.mar-box .mg,.rating-legend{grid-template-columns:1fr!important}
  .kf-grid .cell,.kf-grid .cell:nth-child(2n),.kf-grid .cell:nth-child(3n){border-right:0}
  .locked .gate{padding:22px 18px}
  .locked .gate .btn{width:100%}
  .foot-grid{grid-template-columns:1fr}
  .site-foot{padding:40px 0 28px}
  .foot-tri{display:none}
  .auth-modal{padding:16px}
  .auth-modal__panel{padding:16px}
  .auth-page__panel{width:auto;margin:0 18px;padding:22px}
}

@media(max-width:360px){
  .brand .nm{font-size:13.5px}
  .brand .nm small{display:none}
  .mainnav{grid-template-columns:repeat(4,minmax(0,1fr))}
  .mainnav a,.nav-more__button{min-height:38px;font-size:11.5px;padding-left:4px;padding-right:4px}
  .mainnav > a[href="video-live.html"]::before{font-size:11.5px}
  .nav-right .btn-sm{padding-left:9px;padding-right:9px}
}

@media(max-width:420px){
  .brand .nm{max-width:148px}
  .nav-right .btn-sm{padding-left:9px;padding-right:9px}
  .mainnav a{font-size:11.5px}
  .pill{white-space:normal}
  .liverow{align-items:flex-start}
  .liverow .stt{margin-left:auto}
  .indices{flex-direction:column}
  .indices .ix{border-right:0;border-bottom:1px solid var(--line-soft)}
  .indices .ix:last-child{border-bottom:0}
}
