/* ============================================================
   INDIAN FM INSIGHTS — v2 "Desk" design layer
   Dense editorial finance layout in the gold + silver identity.
   Loads AFTER each page's own stylesheet, so it re-themes them.
   ============================================================ */

:root{
  --bg:#0a0906; --bg-soft:#0e0c08; --surface:#14110a; --surface-2:#1a1610;
  --line:rgba(255,255,255,.08); --line-strong:rgba(255,255,255,.16);
  --text:#eef1f6; --text-soft:#c6cbd5; --muted:#a9b1bd; --faint:#828a96;
  --gold:#f0c24b; --gold-2:#e8a90d; --gold-soft:rgba(240,194,75,.12);
  --silver:#c6cdd8; --silver-soft:rgba(198,205,216,.12);
  --green:#3ddc97; --red:#f87171; --amber:#f0b445;
  --display:"Fraunces",Georgia,serif; --body:"Inter",system-ui,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --r:12px; --r-lg:18px; --wrap:1260px;
}

/* ---------- shell ---------- */
.ifm-wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
body{background:var(--bg);color:var(--text)}
a{color:inherit}

/* tighter global rhythm so pages read dense, not airy */
.wrap{max-width:var(--wrap)!important;padding:0 20px!important}
main{padding-top:0}

/* ---------- top utility bar ---------- */
.ifm-topbar{background:#070604;border-bottom:1px solid var(--line);font-size:12.5px;color:var(--muted)}
.ifm-topbar .ifm-wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:34px;flex-wrap:wrap}
.ifm-topbar .ifm-tb-l{display:flex;align-items:center;gap:10px}
.ifm-dot{width:7px;height:7px;border-radius:50%;background:var(--faint);display:inline-block}
.ifm-dot.open{background:var(--green);box-shadow:0 0 8px var(--green)}
.ifm-dot.closed{background:var(--red)}
.ifm-topbar a{color:var(--silver);text-decoration:none}
.ifm-topbar a:hover{color:var(--gold)}
.ifm-tb-r{display:flex;gap:16px;flex-wrap:wrap}

/* ---------- masthead ---------- */
.ifm-header{background:linear-gradient(180deg,#0c0a07,#0a0906);border-bottom:1px solid var(--line-strong);position:sticky;top:0;z-index:90;backdrop-filter:blur(10px)}
.ifm-header .ifm-wrap{display:flex;align-items:center;gap:22px;min-height:62px}
.ifm-brand{display:flex;align-items:center;gap:11px;text-decoration:none;flex-shrink:0}
.ifm-brand img{width:36px;height:36px;border-radius:10px}
.ifm-brand b{display:block;font-family:var(--display);font-size:18px;font-weight:600;letter-spacing:.02em;line-height:1.1;color:#fff}
.ifm-brand small{color:var(--faint);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase}
.ifm-nav{display:flex;align-items:center;gap:2px;flex:1;flex-wrap:wrap}
.ifm-nav a{padding:9px 12px;font-size:14px;font-weight:500;color:var(--text-soft);text-decoration:none;border-radius:8px;white-space:nowrap}
.ifm-nav a:hover{color:#fff;background:rgba(255,255,255,.05)}
.ifm-nav a.on{color:var(--gold)}
.ifm-cta{background:var(--gold)!important;color:#1a1300!important;font-weight:700;padding:9px 16px!important;border-radius:999px!important}
.ifm-burger{display:none;background:none;border:1px solid var(--line-strong);color:var(--text);border-radius:8px;padding:8px 10px;cursor:pointer}

/* ---------- market ticker strip ---------- */
.ifm-ticker{background:#060504;border-bottom:1px solid var(--line);overflow:hidden}
.ifm-ticker .ifm-wrap{display:flex;align-items:stretch;gap:0;overflow-x:auto;scrollbar-width:none}
.ifm-ticker .ifm-wrap::-webkit-scrollbar{display:none}
.ifm-tk{display:flex;flex-direction:column;justify-content:center;padding:9px 18px;border-right:1px solid var(--line);min-width:132px;flex-shrink:0}
.ifm-tk .k{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);white-space:nowrap}
.ifm-tk .v{font-family:var(--mono);font-size:15px;font-weight:600;color:#fff;margin-top:2px}
.ifm-tk .c{font-size:11.5px;font-family:var(--mono);margin-top:1px}
.ifm-up{color:var(--green)} .ifm-down{color:var(--red)} .ifm-flat{color:var(--muted)}
.ifm-tk-meta{margin-left:auto;display:flex;align-items:center;padding:0 18px;font-size:11px;color:var(--faint);white-space:nowrap;flex-shrink:0}

/* ---------- generic dense blocks ---------- */
.ifm-sec{margin:34px 0}
.ifm-sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line-strong);padding-bottom:9px;margin-bottom:16px}
.ifm-sec-head h2{font-family:var(--display);font-size:21px;font-weight:600;letter-spacing:.01em;margin:0}
.ifm-sec-head .more{font-size:13px;color:var(--gold);text-decoration:none;white-space:nowrap}
.ifm-kicker{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:700}

.ifm-grid{display:grid;gap:14px}
.ifm-g2{grid-template-columns:repeat(2,1fr)}
.ifm-g3{grid-template-columns:repeat(3,1fr)}
.ifm-g4{grid-template-columns:repeat(4,1fr)}
.ifm-split{display:grid;grid-template-columns:1.55fr 1fr;gap:26px;align-items:start}

.ifm-card{background:linear-gradient(180deg,var(--surface-2),var(--surface));border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;text-decoration:none;display:block;transition:border-color .15s,transform .15s}
.ifm-card:hover{border-color:var(--line-strong);transform:translateY(-2px)}
.ifm-card h3{font-family:var(--display);font-size:17px;font-weight:600;margin:0 0 7px;line-height:1.35;color:#fff}
.ifm-card p{margin:0;font-size:13.5px;color:var(--muted);line-height:1.6}
.ifm-card .ifm-tag{margin-bottom:9px}

.ifm-tag{display:inline-block;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--gold);background:var(--gold-soft);border:1px solid rgba(240,194,75,.28);padding:3px 9px;border-radius:999px}

/* lead story */
.ifm-lead{background:linear-gradient(180deg,#1c1810,#12100a);border:1px solid var(--line-strong);border-radius:var(--r-lg);padding:26px}
.ifm-lead h1{font-family:var(--display);font-size:31px;line-height:1.2;font-weight:600;margin:12px 0 12px;color:#fff}
.ifm-lead .dek{font-size:15.5px;color:var(--text-soft);line-height:1.65;margin:0 0 16px}
.ifm-lead .ifm-lead-meta{font-size:12px;color:var(--faint);display:flex;gap:14px;flex-wrap:wrap}

/* ---------- data tables ---------- */
.ifm-table{width:100%;border-collapse:collapse;font-size:13.5px}
.ifm-table caption{caption-side:top;text-align:left;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);padding-bottom:8px}
.ifm-table th{text-align:left;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);font-weight:600;padding:8px 10px;border-bottom:1px solid var(--line-strong);white-space:nowrap}
.ifm-table td{padding:9px 10px;border-bottom:1px solid var(--line);color:var(--text-soft)}
.ifm-table td.n{font-family:var(--mono);text-align:right;color:#fff}
.ifm-table tr:hover td{background:rgba(255,255,255,.02)}
.ifm-table .nm{color:#fff;font-weight:500}

/* ---------- news list rows ---------- */
.ifm-rows{display:flex;flex-direction:column}
.ifm-row{display:flex;gap:14px;padding:13px 0;border-bottom:1px solid var(--line);text-decoration:none;align-items:baseline}
.ifm-row:hover .ifm-row-h{color:var(--gold)}
.ifm-row time{font-family:var(--mono);font-size:11px;color:var(--faint);white-space:nowrap;min-width:76px}
.ifm-row-h{font-size:14.5px;color:#fff;line-height:1.45;transition:color .15s}
.ifm-row .ifm-row-t{font-size:11px;color:var(--gold);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}

/* ---------- lesson list ---------- */
.ifm-lessons{display:grid;grid-template-columns:repeat(2,1fr);gap:2px 26px}
.ifm-lesson{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);text-decoration:none;align-items:baseline}
.ifm-lesson:hover .ifm-lesson-t{color:var(--gold)}
.ifm-lesson .ifm-lesson-t{font-size:14.5px;color:var(--text-soft);line-height:1.5}
.ifm-lesson .ifm-lesson-c{font-size:10.5px;color:var(--faint);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}

/* ---------- footer ---------- */
.ifm-foot{background:#070604;border-top:1px solid var(--line-strong);margin-top:48px;padding:36px 0 22px;font-size:13.5px}
.ifm-foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:28px}
.ifm-foot h4{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#f6d478;margin:0 0 12px}
.ifm-foot ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:7px}
.ifm-foot a{color:var(--muted);text-decoration:none}
.ifm-foot a:hover{color:var(--gold)}
.ifm-foot .ifm-legal{border-top:1px solid var(--line);margin-top:28px;padding-top:18px;font-size:12px;color:var(--muted);line-height:1.75}
.ifm-foot .ifm-legal p{margin:0 0 8px}
.ifm-foot .ifm-brand b{color:#fff}

/* ---------- article / lesson body tightening ---------- */
.article-wrap{max-width:760px!important}
.prose p,.article-body p{font-size:16.5px;line-height:1.75;color:var(--text-soft)}
.prose h2,.article-body h2{font-family:var(--display);font-size:23px;margin:32px 0 12px;color:#fff}
.prose h3,.article-body h3{font-size:17.5px;margin:24px 0 9px;color:#fff}
.keyfact{background:var(--gold-soft)!important;border-left:3px solid var(--gold)!important;padding:14px 16px!important;border-radius:0 var(--r) var(--r) 0!important;font-size:14.5px}
.side-box{background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:var(--r)!important;padding:16px!important}
.faq details{border-bottom:1px solid var(--line);padding:12px 0}
.faq summary{cursor:pointer;font-weight:600;color:#fff;font-size:15px}
.faq details p{margin:9px 0 0;color:var(--text-soft);font-size:14.5px}

/* lesson TOC + related rail (added by the build) */
.ifm-toc{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;margin:0 0 26px}
.ifm-toc h4{margin:0 0 10px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.ifm-toc ol{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px}
.ifm-toc a{color:var(--text-soft);text-decoration:none;font-size:14px}
.ifm-toc a:hover{color:var(--gold)}
.ifm-rel{margin-top:34px;border-top:1px solid var(--line-strong);padding-top:20px}
.ifm-rel h3{font-family:var(--display);font-size:18px;margin:0 0 12px}

/* reading progress bar */
.ifm-prog{position:fixed;top:0;left:0;height:2px;width:0;background:linear-gradient(90deg,var(--silver),var(--gold));z-index:200;transition:width .1s linear}

/* buttons: keep the site's own, tighten density */
.btn{border-radius:999px;font-weight:600;font-size:14px}

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .ifm-g4{grid-template-columns:repeat(2,1fr)}
  .ifm-split{grid-template-columns:1fr}
  .ifm-foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:820px){
  .ifm-nav{display:none}
  .ifm-nav.open{display:flex;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;background:#0b0a07;border-bottom:1px solid var(--line-strong);padding:10px;gap:2px}
  .ifm-header .ifm-wrap{position:relative}
  .ifm-burger{display:block}
  .ifm-g3,.ifm-g2,.ifm-lessons{grid-template-columns:1fr}
  .ifm-lead h1{font-size:24px}
  .ifm-foot-grid{grid-template-columns:1fr}
  .ifm-tk{min-width:118px;padding:8px 14px}
}
