/* Full-width homepage hero; desktop artwork is an uncropped workflow, with its
   duplicate logo/headline outside the viewport. Original bitmap is untouched. */
.th-home-hero{padding:32px 0 24px;border-bottom:1px solid var(--border);container-type:inline-size}
.th-home-hero button:focus-visible,.th-home-hero a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.th-hero-heading{text-align:center;padding:9px 0 3px}
.th-hero-heading .iv-eyebrow{justify-content:center;font-size:12px;letter-spacing:1.8px;color:var(--accent);margin:0 0 16px}
.th-hero-heading h1{font-family:var(--iv-display);font-size:clamp(32px,4vw,58px);font-weight:400;line-height:1.12;letter-spacing:-1.6px;margin:0}
.th-hero-heading h1 em{font-style:normal;color:var(--accent)}
.th-hero-subtitle{max-width:68ch;margin:15px auto 2.5px;font-size:17px;line-height:1.65;color:var(--muted);text-wrap:balance}
.th-river{margin:5px 0 2px}
.th-river-art{display:block;width:100%;height:auto;aspect-ratio:1536/612;overflow:hidden}
.th-input-packet,.th-stream-packet{fill:color-mix(in srgb,var(--bg) 16%,#707d74);stroke:color-mix(in srgb,var(--bg) 25%,#59685f);stroke-width:.65}
.th-first-station circle{fill:var(--accent);stroke:var(--bg);stroke-width:3.5}
.th-first-station text{fill:var(--bg);font:500 27px Inter,Arial,sans-serif}
.th-review-packet{fill:var(--accent-2);stroke:var(--bg);stroke-width:1.3}
.th-stage-ring{fill:none;stroke:var(--accent);stroke-width:1.4}
.th-hero-bottom{display:flex;align-items:center;justify-content:center;gap:18px;padding:10px 0 0}
.th-hero-bottom .iv-hero-actions{justify-content:center;text-align:center}
.th-hero-bottom .iv-primary,.th-hero-bottom .iv-text-button{font-size:14px}
.th-spotlight{margin:26px 0 30px;padding:28px 30px;background:var(--card-2);border:1px solid var(--border-2);border-left:4px solid var(--accent);border-radius:12px;container-type:inline-size}
.th-spotlight-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:28px}
.th-spotlight-head .iv-eyebrow{font-size:12px;letter-spacing:1.5px;color:var(--accent);margin:0}
.th-spotlight-head>span{font-size:12px;color:var(--muted)}
.th-spotlight-intro{display:grid;grid-template-columns:minmax(145px,.65fr) minmax(0,2fr);gap:28px;align-items:start}
.th-spotlight-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;color:var(--muted)}
.th-spotlight-ticker{display:inline-block;background:var(--accent);color:var(--bg);font-size:12px;letter-spacing:.6px;font-weight:650;padding:4px 9px;border-radius:5px}
.th-spotlight-company h2{font-family:var(--iv-display);font-size:44px;line-height:1.15;font-weight:400;letter-spacing:-1px;margin:14px 0 0}
.th-spotlight-label{font-size:11px;font-weight:650;text-transform:uppercase;letter-spacing:1.2px;color:var(--accent);margin:0 0 8px}
.th-spotlight-thesis h3{font-family:var(--iv-display);font-size:clamp(25px,3.8cqw,34px);font-weight:400;line-height:1.17;letter-spacing:-.5px;margin:0 0 12px;text-wrap:balance}
.th-spotlight-thesis>p:last-child{font-size:14px;line-height:1.75;color:var(--muted);margin:0}
.th-spotlight-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:26px 0 28px;padding:22px 0;border-top:1px solid var(--border-2);border-bottom:1px solid var(--border-2)}
.th-spotlight-metrics dt{font-size:12px;color:var(--muted);margin-bottom:8px;line-height:1.5}
.th-spotlight-metrics dd{font-size:28px;font-weight:550;line-height:1.2;letter-spacing:-.7px;margin:0;font-variant-numeric:tabular-nums}
.th-spotlight-metrics dd small{font-size:15px;color:var(--muted);font-weight:400;letter-spacing:0}
.th-spotlight-metrics .th-spotlight-gap{color:var(--accent)}
.th-spotlight-metrics .th-spotlight-gap.is-negative{color:#945236}
[data-theme="dark"] .th-spotlight-metrics .th-spotlight-gap.is-negative{color:#e6ad8c}
.th-spotlight-metrics>div>span{display:block;font-size:11px;line-height:1.6;color:var(--muted);margin-top:6px}
.th-spotlight-analysis{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:30px}
.th-spotlight-analysis h3,.th-spotlight-watch h3{font-size:15px;line-height:1.4;font-weight:650;margin:0 0 18px;color:var(--text)}
.th-spotlight-drivers{display:grid;gap:17px;list-style:none;padding:0;margin:0}
.th-spotlight-drivers li{display:flex;gap:12px;align-items:flex-start}
.th-spotlight-drivers li>span{flex:0 0 25px;font:20px/1.2 var(--iv-display);color:var(--accent);padding-top:2px}
.th-spotlight-drivers h4{font-size:13px;font-weight:650;line-height:1.5;margin:0 0 4px}
.th-spotlight-drivers p{font-size:13px;line-height:1.7;color:var(--muted);margin:0}
.th-spotlight-challenge{padding-left:26px;border-left:1px solid var(--border-2)}
.th-spotlight-challenge ul{display:grid;gap:13px;list-style:none;padding:0;margin:0}
.th-spotlight-challenge li{font-size:13px;line-height:1.75;color:var(--muted)}
.th-spotlight-challenge strong{font-weight:650;color:var(--text)}
.th-spotlight-valuation{font-size:12px;line-height:1.75;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:7px;padding:12px 14px;margin:18px 0 0}
.th-spotlight-watch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 22px;border-top:1px solid var(--border-2);padding-top:23px;margin-top:28px}
.th-spotlight-watch h3{grid-column:1/-1;margin:0}
.th-spotlight-watch>div>span{display:block;font-size:10px;letter-spacing:.7px;text-transform:uppercase;color:var(--accent);margin-bottom:7px}
.th-spotlight-watch strong{font-size:13px;line-height:1.5;font-weight:650}
.th-spotlight-watch p{font-size:12px;line-height:1.7;margin:4px 0 0;color:var(--muted)}
.th-spotlight-footer{margin-top:23px;padding-top:18px;border-top:1px solid var(--border-2)}
.th-spotlight-footer>div{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 24px}
.th-spotlight-open{display:inline-flex;align-items:center;gap:18px;min-height:44px;font-size:14px;font-weight:650;color:var(--accent)}
.th-spotlight-open span{font-size:20px}
.th-spotlight-related{display:inline-flex;align-items:center;gap:10px;font-size:13px;color:var(--accent);min-height:44px}
.th-spotlight a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.th-spotlight-footer>p{font-size:11px;line-height:1.6;color:var(--muted);margin:8px 0 0}
@container(max-width:580px){.th-spotlight-intro{grid-template-columns:1fr;gap:22px}.th-spotlight-company h2{font-size:37px;margin-top:8px}.th-spotlight-metrics{grid-template-columns:1fr 1fr;gap:20px}.th-spotlight-analysis{grid-template-columns:1fr;gap:24px}.th-spotlight-challenge{border-left:0;border-top:1px solid var(--border-2);padding:22px 0 0}.th-spotlight-thesis h3{font-size:28px}}
@container(max-width:360px){.th-spotlight-head{flex-wrap:wrap;gap:8px;margin-bottom:22px}.th-spotlight-watch{grid-template-columns:1fr;gap:16px}.th-spotlight-metrics dd{font-size:26px}}
@media(max-width:1150px){.th-spotlight{padding:24px}}
@media(max-width:640px){.th-spotlight{padding:22px 20px;margin:24px 0}}

@container(max-width:1000px){.th-hero-heading h1{font-size:clamp(32px,4.8cqw,49px)}.th-hero-bottom{flex-wrap:wrap}}
@container(max-width:760px){
 .th-river-art{display:none}
 .th-hero-heading{padding-top:4px}
 .th-hero-subtitle{font-size:16px}
 .th-hero-heading h1{font-size:clamp(32px,6cqw,42px);letter-spacing:-1px}
 
}
@container(max-width:460px){
 .th-hero-heading h1{font-size:34px;line-height:1.14;letter-spacing:-1.1px}
 .th-hero-bottom .iv-hero-actions{gap:8px 15px}
}
@media(prefers-reduced-motion:reduce){.th-home-hero *{transition:none!important}}

.logo .logo-sub{font-size:9px;letter-spacing:.35px;line-height:1.3}

/* The homepage uses the screener's composite and a local column toggle. */
.iv-shortlist-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px 24px;margin:0 0 14px}
.iv-shortlist-toolbar>p{font-size:12px;color:var(--muted);margin:0;line-height:1.6}
.iv-shortlist .iv-screen-modes{flex-shrink:0;margin-left:0}
.iv-shortlist:not(.iv-all-signals) .iv-signal-col{display:none}
.iv-shortlist-scroll-hint{font-size:12px;line-height:1.6;color:var(--muted);margin:0 0 12px}
.iv-shortlist .iv-composite-cell{text-align:center}
.iv-shortlist td.iv-composite-cell{background:var(--card-2)}
.iv-score-number{font-size:15px;font-weight:650;color:var(--text)}
.iv-score-number>small{font-size:11px;font-weight:400;color:var(--muted)}
.iv-score-coverage{display:block;font-size:10px;font-weight:400;line-height:1.5;color:var(--muted);margin-top:4px}
.iv-score-missing{color:var(--muted)}
.iv-all-signals .iv-table{min-width:1510px}
.iv-all-signals .iv-table tbody th{width:270px;min-width:270px}
.iv-all-signals .iv-table thead th:first-child,.iv-all-signals .iv-table tbody th{position:sticky;left:0;z-index:1;background:var(--card);box-shadow:1px 0 0 var(--border)}
.iv-all-signals .iv-table thead th:first-child{background:var(--card-2)}
.iv-shortlist .iv-table-wrap:focus-visible,.iv-shortlist .iv-screen-modes button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:640px){.iv-shortlist-toolbar{align-items:flex-start;flex-direction:column;gap:10px}.iv-shortlist .iv-screen-modes{width:100%}.iv-shortlist .iv-screen-modes button{flex:1}.iv-all-signals .iv-table tbody th{min-width:195px;width:195px}.iv-all-signals .iv-company-name{max-width:120px}.iv-all-signals .iv-table tbody th>a{gap:9px}.iv-all-signals .iv-company-symbol{min-width:42px}}

.th-mobile-river-art{display:none;width:100%;max-width:460px;height:auto;aspect-ratio:340/512.13;margin:8px auto 6px;overflow:hidden}
.th-mobile-fibres{stroke:var(--accent)}
.th-mobile-center{stroke:var(--bg);stroke-width:1.2;opacity:.85}
.th-mobile-source-caption{fill:var(--muted);font:500 12px Inter,Arial,sans-serif}
.th-mobile-station>circle{fill:var(--accent);stroke:var(--bg);stroke-width:2.5}
.th-mobile-station>.th-mobile-number-badge{fill:var(--bg);stroke:var(--accent);stroke-width:.8}
.th-mobile-number{fill:var(--accent);font:600 10px Inter,Arial,sans-serif}
.th-mobile-node-icon{fill:none;stroke:var(--bg);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.th-mobile-step-title{fill:var(--text);font:600 17px Inter,Arial,sans-serif;letter-spacing:-.35px}
.th-mobile-step-detail{fill:var(--muted);font:400 12px Inter,Arial,sans-serif;letter-spacing:-.1px}
.th-mobile-review-label{fill:var(--accent);font:500 12px Inter,Arial,sans-serif}
.th-mobile-orbits{stroke:var(--accent);stroke-width:.55;stroke-dasharray:1.4 4;opacity:.2}
.th-mobile-connections{stroke:var(--accent);stroke-width:.8;opacity:.38}
.th-mobile-connections circle{fill:var(--accent);stroke:none}
.th-mobile-thesis-paper{fill:none;stroke:var(--accent);stroke-width:1.3;stroke-linejoin:round;stroke-linecap:round}
.th-mobile-thesis-paper .th-mobile-paper{fill:var(--card);stroke:var(--border-2)}
.th-mobile-paper-chart{stroke-width:4.4;opacity:.65}
.th-mobile-thesis-title{fill:var(--accent);font:400 25px var(--iv-display);letter-spacing:-.7px}
.th-mobile-current-arrow{stroke:var(--accent);stroke-width:1.3;fill:none;stroke-linecap:round;stroke-linejoin:round;opacity:.7}
@container(max-width:760px){.th-river-art{display:none}.th-mobile-river-art{display:block}.th-river{margin:4px 0 0}}





/* Compact NVIDIA case spacing; preserve typography and content. */
.th-spotlight{padding-top:16px;padding-bottom:16px}
.th-spotlight-head{margin-bottom:16px}
.th-spotlight-metrics{margin-top:16px;margin-bottom:16px;padding-top:14px;padding-bottom:14px}
.th-spotlight-analysis h3{margin-bottom:12px}
.th-spotlight-drivers{gap:13px}
.th-spotlight-watch{margin-top:18px;padding-top:16px}
.th-spotlight-footer{margin-top:16px;padding-top:12px}
.iv-shortlist .iv-table thead th:first-child{text-align:left}
.iv-shortlist .iv-table .iv-composite-cell{min-width:120px;text-align:center}

.th-watch-detail rect{fill:var(--bg)}
.th-watch-detail text{fill:var(--text);font:400 16px Inter,Arial,sans-serif;letter-spacing:-.3px}

.th-spotlight .th-spotlight-head{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;margin-bottom:16px}
.th-spotlight-nav{display:flex;gap:6px}
.th-spotlight-nav button,.th-quote-choice{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--border-2);border-radius:8px;background:var(--card);color:var(--accent);cursor:pointer;padding:0}
.th-spotlight-nav button:hover,.th-quote-choice:hover{background:var(--bg-2);border-color:var(--accent)}
.th-spotlight-nav button:focus-visible,.th-quote-choice:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.th-spotlight-nav button:disabled{opacity:.4;cursor:default}
.th-investor-quote{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:24px;margin:0;padding:20px 16px;border-bottom:1px solid var(--border);text-align:center}
.th-investor-quote blockquote{margin:0;font-family:var(--iv-display);font-size:22px;line-height:1.4;color:var(--text)}
.th-investor-quote figcaption{margin-top:8px;font-size:12px;color:var(--muted)}
.th-investor-quote figcaption a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.th-quote-choice{width:36px;height:36px;border-color:transparent;border-radius:50%;font-size:19px;background:transparent}
@container(max-width:550px){.th-spotlight .th-spotlight-head{grid-template-columns:minmax(0,1fr) auto;gap:8px}.th-spotlight-date{grid-row:2;grid-column:1/-1}.th-spotlight-nav{grid-row:1;grid-column:2}}
@media(max-width:640px){.th-investor-quote{padding:18px 0;column-gap:8px}.th-investor-quote blockquote{font-size:19px}.th-quote-choice{width:44px;height:44px}}


/* A 20-second quote cycle, using the same clock as the automatic quote change. */
.th-investor-quote{position:relative;row-gap:12px}
.th-quote-actions{display:flex;align-items:center;gap:4px}
.th-quote-pause{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid transparent;border-radius:50%;background:transparent;color:var(--accent);cursor:pointer}
.th-quote-pause svg{width:16px;height:16px}
.th-quote-pause:hover{background:var(--card-2);border-color:var(--border)}
.th-quote-pause:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.th-quote-timing{grid-column:1;justify-self:center;width:min(280px,100%);height:3px;overflow:hidden;background:var(--border);border-radius:2px}
.th-quote-timing-fill{display:block;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:left center}
@media(max-width:640px){.th-quote-actions{flex-direction:column;gap:0}.th-quote-pause{width:44px;height:44px}}

/* Long company names stay inside their own spotlight column. */
.th-spotlight-company,.th-spotlight-thesis{min-width:0}.th-spotlight-company h2{font-size:clamp(27px,3.1cqw,39px);overflow-wrap:anywhere;hyphens:auto;text-wrap:balance}.th-spotlight-company h2 a{display:block;max-width:100%}.day-summary-link{color:var(--text);font-weight:600;text-decoration:underline;text-underline-offset:3px;white-space:normal;overflow-wrap:anywhere}

/* Local company logos follow the selected research case. */
.th-spotlight-company h2 a.th-spotlight-identity{display:flex;align-items:center;gap:12px}.th-spotlight-identity>span{min-width:0}.th-spotlight-identity .co-logo{display:block;float:none;flex:0 0 52px;width:52px;height:52px;box-sizing:border-box;padding:6px;margin:0;object-fit:contain;border-radius:10px;background:#fff}@container(max-width:580px){.th-spotlight-identity .co-logo{flex-basis:44px;width:44px;height:44px;padding:5px}.th-spotlight-company h2 a.th-spotlight-identity{gap:10px}}

/* The bundled Visa wordmark is white on a transparent canvas. */
.th-spotlight-identity .co-logo[src="logos/V.png"]{background:#16305b;border-color:#16305b}
