/* CreditBharosa — Premium Homepage Canary V2 (homepage only).
   Layered after style.css and premium.css. Brand tokens unchanged.
   Motifs: product window (live CB tool), ledger stage, number card, decision path. */

/* ── HERO: bright canvas; a light ledger stage frames a live product window ───
   Final pass: the large dark panel is gone. Paper/white dominate; navy is used
   only on the product window's own chrome (title bar) as a controlled contrast. */
.hv2{position:relative;padding:56px 0 80px;border-bottom:1px solid var(--line);overflow:hidden}
.hv2-grid{display:grid;gap:40px;align-items:center}
.hv2 h1.tagline-lg{font-size:clamp(34px,4.2vw,58px);max-width:15ch;letter-spacing:-.04em;line-height:1.02}
.hv2 .lede{margin-top:24px;max-width:36ch;font-size:clamp(17px,1.45vw,19.5px);color:var(--muted)}
.hv2 .ctas{margin-top:32px;gap:12px}
.hv2 .ctas .btn{padding:15px 26px;font-size:16px}
.hv2 .assure-list{margin-top:28px}
.hv2-stage{position:relative;isolation:isolate}
.hv2-stage:before{content:"";position:absolute;z-index:-1;background-color:#16294A;
  background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:32px 32px;background-position:-1px -1px}
.stage-formula{position:absolute;margin:0;font-size:14px;font-weight:500;color:#C9D2E0;letter-spacing:.01em}
.stage-formula span{color:#8FD9C0;font-weight:700}
.pw{max-width:560px;margin-left:auto}
@media(min-width:900px){
  .hv2{padding:80px 0 88px}
  .hv2-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:48px}
  .hv2 .wrap{position:relative}
  .hv2-stage{padding:0 0 48px}
  /* the ledger stage bleeds from behind the window to the right edge of the screen */
  .hv2-stage:before{top:-36px;bottom:0;left:22%;right:calc(-1 * max(22px, (100vw - 1156px) / 2));border-radius:28px 0 0 28px}
  .stage-formula{bottom:14px;right:0}
}
@media(min-width:900px) and (max-width:1099px){
  .hv2 h1.tagline-lg{font-size:40px}
  .hv2 .ctas .btn{padding:13px 18px;font-size:15px}
  .hv2 .assure-list{gap:6px 14px}
}

/* product window */
.pw{position:relative;background:var(--white);border-radius:20px;overflow:hidden;border:1px solid var(--line);
  box-shadow:0 1px 2px rgba(12,27,51,.06),0 28px 56px -32px rgba(12,27,51,.40)}
.pw-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 24px;background:var(--navy)}
.pw-title{font-size:15px;font-weight:700;color:var(--white);letter-spacing:-.01em}
.pw-tag{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:#8FD9C0;
  background:rgba(255,255,255,.08);border-radius:999px;padding:5px 10px 5px 8px;white-space:nowrap}
.pw-in{padding:22px 24px 20px;display:grid;gap:18px}
.pw-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}
.pw-row label{font-size:14px;font-weight:500;color:var(--muted)}
.pw-row output{font-size:20px;font-weight:700;color:var(--ink);letter-spacing:-.02em}
.pw input[type=range]{--p:15%;-webkit-appearance:none;appearance:none;width:100%;height:6px;margin:6px 0;border-radius:999px;
  background:linear-gradient(90deg,var(--navy) var(--p),var(--line) var(--p));outline:none;cursor:pointer}
.pw input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:var(--white);
  border:2px solid var(--navy);box-shadow:0 1px 3px rgba(12,27,51,.25)}
.pw input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--white);border:2px solid var(--navy)}
.pw input[type=range]:focus-visible{outline:2.5px solid var(--green);outline-offset:6px}
.pw input[type=range]:disabled{cursor:default}
.pw-seg{display:inline-flex;gap:2px;padding:4px;background:var(--paper-2);border-radius:999px;justify-self:start}
.pw-seg button{font:inherit;font-size:14px;font-weight:600;border:0;background:transparent;color:var(--muted);
  padding:8px 16px;border-radius:999px;cursor:pointer;transition:background-color var(--ease),color var(--ease)}
.pw-seg button[aria-pressed=true]{background:var(--navy);color:var(--white)}
.pw-seg button:disabled{cursor:default}
.pw-out{padding:22px 24px 24px;background:var(--paper);border-top:1px solid var(--line)}
.pw-gauge{position:relative;height:8px;border-radius:999px;background:var(--line);margin:22px 0 14px}
.pw-gauge i{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:var(--green);transition:width 120ms linear}
.pw-gauge.over i{background:var(--amber)}
.pw-gauge b{position:absolute;left:50%;top:-6px;width:2px;height:20px;background:var(--ink);border-radius:1px}
.pw-gauge em{position:absolute;left:50%;bottom:14px;margin-left:8px;font-style:normal;font-size:12px;font-weight:600;color:var(--ink);white-space:nowrap}
.pw-foir{margin:0;font-size:15px;color:var(--muted)}
.pw-foir strong{color:var(--ink)}
.pw-lbl{margin:18px 0 2px;font-size:14px;font-weight:600;color:var(--green)}
.pw-num{margin:0;font-size:clamp(44px,5vw,60px);font-weight:700;letter-spacing:-.05em;line-height:1.05;color:var(--ink)}
.pw-why{margin:10px 0 0;font-size:15px;line-height:1.55;color:var(--ink-2);max-width:46ch}
.pw-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding:14px 24px;border-top:1px solid var(--line)}
.pw-cta{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:700;color:var(--navy);text-decoration:none}
.pw-cta:after{content:"";width:7px;height:7px;border-top:2px solid var(--green);border-right:2px solid var(--green);transform:rotate(45deg)}
.pw-cta:hover{color:var(--green)}
.pw-note{font-size:13px;color:var(--muted)}
@media(prefers-reduced-motion:reduce){.pw-gauge i,.pw-seg button{transition:none}}

/* phone + small tablet: its own composition — light ledger band behind the window's top, product in the first screen */
@media(max-width:899px){
  .hv2{padding:32px 0 0}
  .hv2 h1.tagline-lg{max-width:14ch}
  .hv2-grid{display:flex;flex-direction:column;align-items:stretch;gap:0}
  .hv2-copy{display:contents}
  .hv2-stage{order:4;margin:28px -22px 0;padding:48px 16px 0}
  .hv2-stage:before{left:0;right:0;top:0;height:64%;border-top:1px solid var(--line)}
  .stage-formula{left:22px;top:16px}
  .hv2 .pw{margin:0 auto}
  .hv2 .assure-list{order:5;margin-top:24px;padding-bottom:40px}
}
@media(max-width:560px){
  .hv2{padding-top:24px}
  .hv2 h1.tagline-lg{font-size:33px}
  .hv2 .lede{margin-top:14px;font-size:16.5px}
  .hv2 .ctas{margin-top:20px}
  .hv2 .ctas{display:grid;grid-template-columns:1fr;gap:10px}
  .hv2 .ctas .btn{padding:14px 16px;font-size:16px}
  .pw-bar{padding:14px 18px}.pw-in,.pw-out{padding-left:18px;padding-right:18px}.pw-foot{padding:14px 18px}
  .pw-tag{font-size:12px}
}
@media(max-width:380px){.pw-title{font-size:14px}.pw-tag svg{display:none}}

/* ── DECISION PATH ──────────────────────────────────────────── */
.path-sec{background:var(--white);padding:88px 0;border-bottom:1px solid var(--line)}
.path-head h2{margin-top:10px;font-size:clamp(28px,3.6vw,42px);letter-spacing:-.035em;line-height:1.1;max-width:18ch}
.path{list-style:none;margin:48px 0 0;padding:0;display:grid;gap:0;counter-reset:none}
.path li{position:relative;padding:0 0 32px 44px;border-left:2px solid var(--line);margin-left:14px}
.path li:last-child{border-left-color:transparent;padding-bottom:0}
.path-n{position:absolute;left:-19px;top:-4px;width:36px;height:36px;border-radius:50%;background:var(--navy);color:var(--white);
  display:grid;place-items:center;font-size:15px;font-weight:700}
.path li:nth-child(2) .path-n{background:var(--green)}
.path h3{font-size:20px;letter-spacing:-.02em}
.path p{margin:6px 0 12px;font-size:15.5px;line-height:1.55;color:var(--muted);max-width:32ch}
.path a{display:block;width:max-content;max-width:100%;padding:5px 0;font-size:15px;font-weight:600;color:var(--green);
  text-decoration:none;text-underline-offset:4px}
.path a:hover{text-decoration:underline}
.path-key{background:var(--paper);border-radius:16px}
.path-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.path-chips a{width:auto;padding:8px 14px;border:1px solid var(--line-2);border-radius:999px;background:var(--white);
  color:var(--ink);font-size:14px;text-decoration:none;transition:border-color var(--ease),color var(--ease)}
.path-chips a:hover{border-color:var(--green);color:var(--green);text-decoration:none}
@media(max-width:899px){.path-key{margin-right:-8px;padding:18px 18px 22px 44px!important;margin-bottom:28px}.path-key .path-n{top:14px}}
.path h3{font-size:22px}
@media(min-width:900px){
  .path{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start}
  .path-key{padding:40px 24px 26px!important;margin-top:-2px;border-top-color:var(--green)!important}
  .path-key .path-n{left:24px}
  .path li{margin:0;padding:36px 0 0;border-left:0;border-top:2px solid var(--line)}
  .path li:last-child{border-top-color:var(--line)}
  .path-n{left:0;top:-19px}
  .path li{padding-top:40px}
}

/* ── TOOLS: sticky intro + number card | product index ─────── */
.tools-grid{display:grid;gap:48px}
@media(min-width:1000px){.tools-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:72px;align-items:start}
  .tools-intro{position:sticky;top:96px}}
.tools-sec .quick{margin-top:0;grid-template-columns:1fr}
.tools-sec .quick .qa:nth-child(2){border-top:0}
.numcard{margin:36px 0 0;background:var(--white);border:1px solid var(--line);border-radius:16px;padding:26px 26px 22px}
.numcard-lbl{font-size:14px;font-weight:600;color:var(--muted)}
.numcard-num{margin:6px 0 16px;font-size:clamp(40px,4.4vw,52px);font-weight:700;letter-spacing:-.05em;line-height:1.05;color:var(--amber)}
.numcard .split-bar{margin-top:0}
.numcard .split-legend{font-size:13px;color:var(--muted)}
.numcard-why{margin:16px 0 0;padding-top:14px;border-top:1px solid var(--line);font-size:15px;line-height:1.55;color:var(--ink-2)}
.numcard-why a{color:var(--green);font-weight:600;text-underline-offset:3px}

/* ── NAVY FEATURE BAND: intents ─────────────────────────────── */
.sec-navy{background:var(--navy-2);border-bottom:0}
.sec-navy .sec-head .sub{color:#C9D2E0}
.sec-navy .sec-head h2{color:var(--white)}
.sec-navy .eyebrow{color:#8FD9C0}
.sec-navy .route{border-color:transparent}

/* ── DIRECTORY: editorial split ─────────────────────────────── */
.gws-sec .sec-head h2{max-width:none}
.gws .gw{border-top:1px solid var(--line-2);padding:28px 0 36px}
.gw-main{display:grid!important;grid-template-columns:48px minmax(0,1fr);column-gap:16px}
.gw-main h3,.gw-main p{grid-column:2}
.gw-ic{grid-row:1 / span 2;width:48px;height:48px;border-radius:14px;background:var(--white);border:1px solid var(--line);
  display:grid;place-items:center;color:var(--navy);transition:color var(--ease),border-color var(--ease)}
.gw-main:hover .gw-ic{color:var(--green);border-color:var(--green-line)}
.gws .gw h3{font-size:20px}
.gws .gw-sub{flex-direction:row;flex-wrap:wrap;gap:8px;margin:16px 0 0 64px}
.gws .gw-sub a{padding:7px 13px;border:1px solid var(--line-2);border-radius:999px;background:var(--white);font-size:13.5px;color:var(--ink)}
.gws .gw-sub a:hover{border-color:var(--green);color:var(--green);text-decoration:none}

/* ── MARKETS TODAY: TradingView Tickers widget, presented as a small market board ──
   One panel after the directory: a header, three tinted cards and a footer. The figures themselves are drawn
   by TradingView's widget, which is sealed: a page can set its colours and typeface, its direction and its
   row size, and nothing else. It cannot be read, re-ordered or restyled inside. So the board is built in two
   layers that share one geometry:
     1. .mkt-cards  this site's own layer: the three card surfaces, an icon and a short caption each.
     2. tv-tickers  TradingView's layer on top, transparent, enlarged as a whole with a transform so the
                    figures read at dashboard size. Nothing in it is hidden, cropped or covered.
   The geometry comes from the widget's own fixed sizes (measured 5 October 2026):
     stacked rows   the widget is 312px tall: three rows on a 96.67px pitch (text between 14px and 86px of
                    each) and 22px of attribution. Rows are as wide as the widget.
     one row        each item is 195px wide on a 211px pitch, text inset 13px, 74px tall, plus 30px of
                    attribution = 104px. Under about 640px of its own width the widget turns into a
                    two-item carousel, so it is always given 660px here and scaled to fit.
   If TradingView changes those sizes the tints would sit slightly off; no figure can be hidden by that.
   Height is reserved in both layouts so the page does not move when the widget loads. */
.mkt{margin-top:40px;padding:22px 16px 0;border:1px solid #E1E7F0;border-radius:20px;
  background:linear-gradient(180deg,#F5F8FC 0,#FFFFFF 150px);
  box-shadow:0 1px 2px rgba(12,27,51,.04),0 14px 34px -26px rgba(12,27,51,.22);overflow:hidden;
  color-scheme:light;
  /* TradingView's documented tokens. Names are quiet, figures are the darkest text, movement keeps the
     site's green and red. The widget's own frame and row rules are off: the cards are the frame. */
  --tv-widget-font-family:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --tv-widget-background-color:transparent;
  --tv-widget-text-color:#5A6579;--tv-widget-text-secondary-color:#5A6579;--tv-widget-text-tertiary-color:#5A6579;
  --tv-widget-price-text-color:#0C1B33;
  --tv-widget-positive-color:#0E7A5F;--tv-widget-negative-color:#B3261E;
  --tv-widget-border-color:transparent;--tv-widget-attribution-border-color:transparent;
  --tv-widget-accent-color:#0E7A5F;--tv-widget-link-color:#0E7A5F;
  --tv-widget-data-status-eod-color:#5A6579;
  --tv-widget-hover-background-color:rgba(12,27,51,.035)}
.mkt-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px 16px;padding:0 4px}
.mkt h3{font-size:20px;font-weight:700;line-height:26px;letter-spacing:-.015em;color:var(--ink)}
.mkt-sub{margin-top:2px;font-size:14px;line-height:20px;color:var(--muted)}
.mkt-live{display:inline-flex;align-items:center;gap:8px;margin:2px 0 0;padding:5px 12px 5px 10px;border:1px solid var(--line);border-radius:999px;
  background:var(--white);font-size:12.5px;font-weight:600;line-height:18px;color:var(--ink-2);white-space:nowrap}
.mkt-dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px var(--green-bg)}

/* the board: stacked cards by default */
.mkt-board{--s:1.25;position:relative;margin-top:16px;display:flow-root}
.mkt-cards{position:absolute;top:0;left:0;right:0;margin:0;padding:0;list-style:none;display:grid;pointer-events:none}
.mkt-card{position:relative;height:calc(96.67px*var(--s))}
.mkt-card::before{content:"";position:absolute;inset:calc(5px*var(--s)) 0 calc(.5px*var(--s));border:1px solid var(--c-line);border-radius:16px;background:var(--c-bg)}
.mkt-card--idx{--c-bg:#F3F7FD;--c-line:#DCE6F6;--c-chip:#E3ECFB;--c-ic:#2D5FB3}
.mkt-card--gold{--c-bg:#FCF8EF;--c-line:#F0E5CD;--c-chip:#F6EBD3;--c-ic:#946325}
.mkt-card--fx{--c-bg:#F0F8F4;--c-line:#D6EBE0;--c-chip:#DDF0E7;--c-ic:#0E7A5F}
.mkt-tag{position:absolute;right:14px;top:50%;transform:translateY(-42%);display:grid;justify-items:end;gap:6px}
.mkt-ic{width:28px;height:28px;border-radius:9px;background:var(--c-chip);color:var(--c-ic);display:grid;place-items:center}
.mkt-cap{font-size:12px;font-weight:500;line-height:16px;color:var(--muted);white-space:nowrap}
.mkt tv-tickers{display:block;position:relative;width:calc(100%/var(--s));height:312px;
  transform:scale(var(--s));transform-origin:0 0;margin-bottom:calc(312px*(var(--s) - 1))}
.mkt-ph{display:flex;align-items:center;justify-content:center;height:100%;padding:0 13px;font-size:13px;text-align:center;color:var(--muted)}
/* until the widget has loaded (or if it cannot), show only the message, not empty cards or a status pill */
.mkt:has(tv-tickers:not(:defined)) .mkt-cards,.mkt:has(tv-tickers:not(:defined)) .mkt-live{visibility:hidden}

/* the disclosure: a quiet footer under TradingView's own attribution line */
.mkt-note{margin:10px -16px 0;padding:11px 20px 13px;border-top:1px solid #E8ECF3;background:rgba(245,248,252,.7);
  font-size:11.5px;line-height:1.55;color:var(--muted)}

/* very narrow phones: a slightly smaller enlargement so the caption clears the widget's unit label */
@media(max-width:345px){.mkt-board{--s:1.1}}
@media(min-width:420px){
  .mkt{max-width:460px;padding-left:20px;padding-right:20px}
  .mkt-note{margin-left:-20px;margin-right:-20px;padding-left:24px;padding-right:24px}
}
/* three cards in one row. The same width is used by the script that sets the widget's direction. */
@media(min-width:880px){
  .mkt{max-width:none;padding:26px 28px 0}
  .mkt-head{padding:0}
  .mkt h3{font-size:24px;line-height:30px}
  .mkt-sub{font-size:15px;line-height:22px}
  .mkt-board{--s:1.15;width:calc(660px*var(--s));margin:20px auto 0}
  .mkt-cards{right:auto;grid-template-columns:repeat(3,calc(199px*var(--s)));column-gap:calc(12px*var(--s))}
  .mkt-card{height:calc(30px + 80px*var(--s))}
  .mkt-card::before{inset:0;border-radius:18px}
  .mkt-tag{position:relative;right:auto;top:auto;transform:none;display:flex;align-items:center;justify-items:start;gap:9px;
    padding:12px 0 0 calc(13px*var(--s))}
  .mkt tv-tickers{width:660px;height:104px;margin-top:30px;margin-bottom:calc(104px*(var(--s) - 1))}
  .mkt-note{margin:12px -28px 0;padding:12px 28px 14px;text-align:center}
}
@media(min-width:1040px){.mkt-board{--s:1.4}}
@media(min-width:1240px){.mkt-board{--s:1.6}}

/* ── FAQ: editorial split ───────────────────────────────────── */
.faq-sec{background:var(--white)}
@media(min-width:1000px){
  .faq-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);column-gap:72px;align-items:start}
  .faq-grid .sec-head{grid-column:1;grid-row:1}
  .faq-grid .faq{margin-top:0;grid-column:2;grid-row:1 / span 2}
  .faq-grid{grid-template-rows:auto 1fr}
  .faq-grid .faq-foot{grid-column:1;grid-row:2;align-self:start;margin-top:20px;max-width:28ch}
}

/* legibility: intent graphics text >= 12.5px rendered */
.route-fig .f-sm{font-size:14px}.route-fig .f-lbl{font-size:14.5px}

/* questions: editorial treatment */
.faq-sec .faq{border-top:1.5px solid var(--navy)}
.faq-sec .faq summary{padding:26px 44px 26px 0;font-size:clamp(18px,1.7vw,21px);font-weight:600;letter-spacing:-.015em;position:relative}
.faq-sec .faq summary:after{position:absolute;right:0;top:50%;margin-top:-16px;width:32px;height:32px;border:1px solid var(--line-2);
  border-radius:50%;display:grid;place-items:center;line-height:1;font-size:20px}
.faq-sec .faq .ans{padding:0 44px 28px 0;font-size:17px;line-height:1.7;color:var(--ink-2);max-width:62ch}
@media(max-width:999px){.faq-sec .faq-foot{margin-top:24px}}

/* closing CTA: bright action moment on the homepage (footer keeps #0C1B33) */
.finale{background:var(--paper-2);color:var(--ink);border-top:1px solid var(--line)}
.finale h2{color:var(--ink)}
.finale p{color:var(--muted)}
.finale p a{color:var(--ink)}
.finale .btn-green{background:var(--navy);color:var(--white)}
.finale .btn-green:hover{background:var(--navy-2)}
.finale .btn-ghost{color:var(--ink);border-color:var(--line-2)}
.finale .btn-ghost:hover{border-color:var(--ink);background:var(--white)}
