  :root{
    /* Last week's score-card palette (29 Aug). Steel gold made the dial gray. */
    --paper:#F3F1EC; --panel:#FBFAF7; --navy:#050D16; --navy-soft:#343C46;
    --gold:#7A6844; --gold-bright:#C4A86A; --line:#D3D0C8; --muted:#534F49;
    --sage:#2C5F4A; --red:#8F3E2F; --ink:#F4F0E6;
    --shadow: none;
    --serif:'Cormorant Garamond', 'Times New Roman', serif;
    --sans:'IBM Plex Sans', 'Helvetica Neue', Helvetica, sans-serif;
    --mono:'IBM Plex Mono', ui-monospace, monospace;
    --num: var(--sans);
    --page-max: 1180px;
    --nav-max: 1180px;
    /* Zone bar — private-bank rail, not a traffic light.
       Bargain = racing green, cheap = olive, fair = antique gold, expensive = oxblood.
       Legend dots and segments share these tokens. */
    --zone-bargain:#1E4A3C;
    --zone-cheap:#5A7464;
    --zone-fair:#B08948;
    --zone-expensive:#6E2F2A;
  }
  html{
    background:var(--paper);
    overflow-x:clip;
    width:100%;
    color-scheme:light;
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
  }
  @media(max-width:900px){
    html{background:var(--navy);overflow-x:hidden;}
  }
  *{box-sizing:border-box;}
  ::selection{background:var(--navy);color:var(--paper);}
  body{
    margin:0;background:var(--paper);color:var(--navy);font-family:var(--sans);line-height:1.58;
    -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
    font-variant-numeric:tabular-nums lining-nums;
    overflow-x:clip;width:100%;max-width:100%;min-height:100vh;overscroll-behavior-x:none;
  }
  /* Phone: overflow-x:clip on html/body cuts statement and price charts
     (no inner scroll on iOS). Hidden still stops page sideways drift. */
  @media(max-width:900px){
    html,body{overflow-x:hidden;}
    .wrap,.card,.stmt-grid,.stmt-grid > *,.chart-wrap,#chartContainer,
    .er-surprise,#roicChartWrap,#earningsChartWrap,#epsChartWrap,#cashflowChartWrap,#leverageChartWrap{
      min-width:0;max-width:100%;
    }
  }
  /* iMac / Retina: antialiased on warm paper washed the glyphs. Native smoothing
     keeps navy copy sharp instead of a brownish blur. */
  @media(min-width:1440px){
    body{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto;}
  }
  .wrap{max-width:var(--page-max);margin:0 auto;padding:0 28px 64px;width:100%;}
  /* iMac / large desktop: keep nav and page on the same rail so the navy bar
     doesn't float wider than the cream column. Cards and tables use the extra
     width; long About/disclaimer copy stays capped in its own max-width. */
  @media(min-width:1440px){
    :root{
      --page-max:1360px; --nav-max:1360px;
      --paper:#F5F4F0; --panel:#FCFCFA; --line:#D6D4CC; --muted:#4E4A45;
    }
    .nav-inner{padding:16px 36px;gap:20px;}
    .wrap{padding:0 36px 72px;}
    header.hero{padding:28px 36px 22px;}
    .command-grid-cols{gap:24px;}
  }
  @media(min-width:1680px){
    :root{ --page-max:1580px; --nav-max:1580px; }
    .nav-links{gap:16px;font-size:13px;}
    .ticker-search-wrap{max-width:620px;}
    .card{padding:30px 28px;}
  }
  @media(min-width:1920px){
    :root{ --page-max:1760px; --nav-max:1760px; }
    .nav-inner{padding:18px 48px;}
    .wrap{padding:0 48px 80px;}
    .command-grid-cols{gap:28px;}
    .card h2{font-size:20px;}
    .brand-word{font-size:24px;}
  }
  @media(min-width:2240px){
    :root{ --page-max:2000px; --nav-max:2000px; }
    .wrap{padding:0 56px 88px;}
    .nav-inner{padding:20px 56px;}
    .command-grid-cols{gap:32px;}
    .card{padding:34px 32px;}
  }
  @media(min-width:2560px){
    :root{ --page-max:min(2200px, calc(100vw - 120px)); --nav-max:min(2200px, calc(100vw - 120px)); }
  }
  @media (color-gamut: p3){
    :root{
      --paper:#F6F5F1; --panel:#FDFDFB; --line:#D7D5CE;
      --gold:#7A6844; --muted:#4A4742; --navy-soft:#2F3640;
    }
  }
  @media(max-width:640px){
    .wrap{padding:0 16px 48px;}
    header.hero{padding:16px 16px 14px;}
    .card{padding:20px 16px;}
    input, select, textarea{font-size:16px;}
    .hero-guru-search-row input{font-size:16px;}
    .pa-split > div{min-width:0;}
    .trigger-badge{min-width:0;}
    .price-readout .pr-val{font-size:24px;}
  }
  a{color:inherit;}
  .skip-link{
    position:absolute;left:-999px;top:8px;z-index:400;
    background:var(--navy);color:var(--paper);padding:10px 14px;
    font-size:13px;font-family:var(--sans);
  }
  .skip-link:focus{left:12px;}
  .page-jump{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 22px;}
  .page-jump a{
    font-family:var(--mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;
    color:var(--navy-soft);border:1px solid var(--line);padding:8px 12px;text-decoration:none;
    background:var(--panel);
  }
  .page-jump a:hover{border-color:var(--gold);color:var(--navy);}
  [id]{scroll-margin-top:calc(76px + env(safe-area-inset-top, 0px));}
  .desk-fold{margin-top:36px;border-top:1px solid var(--line);padding-top:18px;}
  .desk-fold > summary{cursor:pointer;list-style:none;display:block;}
  .desk-fold > summary::-webkit-details-marker{display:none;}
  .desk-fold-title{display:block;font-family:var(--serif);font-weight:600;font-size:24px;margin:0 0 6px;letter-spacing:0.01em;}
  .desk-fold-sub{display:block;font-size:13.5px;color:var(--muted);max-width:560px;}
  .desk-fold > summary .desk-fold-title::after{content:" ▾";font-size:16px;color:var(--gold);}
  .desk-fold[open] > summary .desk-fold-title::after{content:" ▴";}

  /* NAV — private-bank chrome: hairline gold, no filled gold pills */
  nav.topnav{
    position:sticky;top:0;z-index:80;background:var(--navy);
    border-top:1px solid var(--gold);border-bottom:1px solid rgba(226,214,174,0.22);
    padding-top:env(safe-area-inset-top, 0px);
    padding-left:env(safe-area-inset-left, 0px);
    padding-right:env(safe-area-inset-right, 0px);
  }
  /* Home-screen PWA / Capacitor: pad only by the real safe area. A forced 62px
     (plus WKWebView contentInset) put the Menu button in a dead tap zone on iOS. */
  html.pwa-standalone nav.topnav,
  body.pwa-standalone nav.topnav,
  html.capacitor-app nav.topnav{
    padding-top:env(safe-area-inset-top, 0px);
  }
  iframe#netlify-identity-widget{
    pointer-events:none !important;
  }
  body.netlify-identity-open iframe#netlify-identity-widget{
    pointer-events:auto !important;
  }
  #atlasPreviewBanner{display:none;position:sticky;top:0;z-index:90;background:#14181C;color:#FAF8F3;font-family:'IBM Plex Sans',sans-serif;font-size:13px;line-height:1.4;padding:10px 16px;text-align:center;}
  body.atlas-preview #atlasPreviewBanner{display:block;}
  #atlasPreviewBanner a{color:#B08A42;font-weight:600;}
  #atlasPreviewBanner strong{color:#FAF8F3;}
  .nav-inner{max-width:var(--nav-max);margin:0 auto;padding:16px 28px;display:flex;justify-content:space-between;align-items:center;gap:16px;}
  .brand{font-family:var(--serif);font-weight:500;font-size:22px;letter-spacing:0.06em;flex-shrink:0;line-height:1.15;color:var(--paper);}
  .brand em{font-style:italic;color:var(--gold-bright);font-weight:500;display:block;font-size:13px;letter-spacing:0.14em;text-transform:uppercase;font-family:var(--mono);font-style:normal;}
  .brand-kicker{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:0.16em;text-transform:uppercase;color:var(--gold-bright);margin-bottom:4px;font-weight:500;}
  /* Brand lockup — clickable mark + wordmark. Ask the desk sits with the
     other CTAs on the right and as the floating desk, not under the logo. */
  .brand-group{display:flex;flex-direction:column;align-items:flex-start;gap:6px;flex-shrink:0;}
  .brand-logo{
    display:inline-flex;align-items:center;gap:10px;
    text-decoration:none;cursor:pointer;color:var(--paper);line-height:1;
  }
  .brand-mark{
    width:36px;height:36px;flex-shrink:0;
    border:1px solid rgba(226,214,174,0.55);
    object-fit:cover;display:block;
  }
  .brand-word{
    font-family:var(--serif);font-weight:600;font-size:20px;
    letter-spacing:0.02em;color:var(--paper);white-space:nowrap;
  }
  .brand-logo:hover .brand-word{color:var(--gold-bright);}
  .brand-logo:hover .brand-mark{border-color:var(--gold-bright);}
  .footer-lockup{display:inline-flex;align-items:center;gap:10px;}
  .footer-lockup .brand-mark{width:28px;height:28px;}
  .brand-tagline{
    margin:0;
    max-width:280px;
    font-family:var(--serif);
    font-size:12px;
    font-weight:500;
    font-style:italic;
    line-height:1.35;
    color:rgba(236,241,247,0.62);
    letter-spacing:0.01em;
  }
  @media(max-width:640px){
    .brand-tagline{max-width:200px;font-size:11.5px;}
    .brand-word{font-size:16px;letter-spacing:0.01em;}
    .brand-mark{width:28px;height:28px;}
  }
  /* Floating "Ask the desk" launcher (19 Aug 2026) — fixed to the bottom-right
     corner of the viewport, independent of page routing/scroll, so it's reachable
     from anywhere on the site the same way a chat widget would be — not just from
     the top nav. Deliberately NOT inside any [data-page] section, so it isn't
     hidden/shown by showPage()'s page-active toggling; its own visibility is
     handled separately (hidden only while already on the Ask the desk page itself,
     see showPage()). */
  .ask-atlas-fab{position:fixed;bottom:22px;right:22px;z-index:150;display:inline-flex;flex-direction:column;align-items:flex-start;gap:1px;background:var(--navy);color:var(--paper);padding:12px 16px 11px;border-radius:0;border:1px solid rgba(226,214,174,0.55);font-weight:500;font-size:13px;letter-spacing:0.02em;text-transform:none;text-decoration:none;font-family:var(--sans);box-shadow:none;transition:border-color .15s ease,color .15s ease;}
  .ask-atlas-fab:hover{border-color:var(--gold-bright);color:var(--paper);}
  .ask-atlas-fab .fab-kicker{display:block;font-size:8.5px;font-weight:500;letter-spacing:0.16em;text-transform:uppercase;color:var(--gold-bright);opacity:1;}
  .ask-atlas-fab .fab-label{display:block;font-size:13px;letter-spacing:0.04em;text-transform:none;font-family:var(--serif);font-weight:500;}
  @media(max-width:640px){.ask-atlas-fab{bottom:calc(16px + env(safe-area-inset-bottom, 0px));right:max(16px, env(safe-area-inset-right, 0px));padding:10px 14px 9px;}}
  /* Sticky nav + overflowing dropdown vs a position:fixed FAB: iOS/Safari can
     composite the FAB on top even when nav z-index is higher. Hide it from body,
     not via a sibling selector that Safari ignored on the live iPhone check. */
  html.nav-open #askAtlasFab,
  body.nav-open #askAtlasFab,
  html.nav-open #pwaInstallBar,
  body.nav-open #pwaInstallBar{
    visibility:hidden !important;
    pointer-events:none !important;
    opacity:0 !important;
  }
  .portfolio-steps{margin:0 0 16px;padding-left:20px;color:var(--navy-soft);font-size:13.5px;line-height:1.55;max-width:640px;}
  .portfolio-steps li{margin:6px 0;}
  .portfolio-steps b{color:var(--navy);}
  .ibkr-help{max-width:640px;margin:0 0 18px;padding:14px 16px;border:1px solid var(--line);background:var(--panel);font-size:13.5px;line-height:1.55;color:var(--navy-soft);}
  .ibkr-help h3{margin:0 0 8px;font-size:14px;color:var(--navy);font-family:var(--sans);font-weight:700;}
  .ibkr-help ol{margin:0;padding-left:18px;}
  .ibkr-help li{margin:5px 0;}
  .ibkr-help .ok-note{margin:10px 0 0;padding:10px 12px;background:#E8F0E4;border:1px solid #2E6B34;color:#2E6B34;font-size:13.5px;line-height:1.5;}
  .ibkr-help .warn-note{margin:10px 0 0;padding:10px 12px;background:#EEF2F6;border:1px solid var(--gold);color:var(--navy);font-size:13.5px;line-height:1.5;}
  .portfolio-desk[data-state="guest"] .portfolio-connect-own,
  .portfolio-desk[data-state="guest"] .portfolio-linked,
  .portfolio-desk[data-state="guest"] #pfSpreadsheetCard{display:none;}
  .portfolio-desk[data-state="empty"] .portfolio-guest,
  .portfolio-desk[data-state="empty"] .portfolio-linked,
  .portfolio-desk[data-state="empty"] #pfSpreadsheetCard{display:none;}
  .portfolio-desk[data-state="linked"] .portfolio-guest,
  .portfolio-desk[data-state="linked"] .portfolio-connect-own{display:none;}
  .portfolio-session{font-family:var(--mono);font-size:11px;letter-spacing:0.04em;color:var(--muted);margin:0 0 14px;}
  button.linkish{background:none;border:none;padding:0;color:var(--gold);font:inherit;text-decoration:underline;cursor:pointer;}
  .legal-strip{background:#14181C;padding:9px 20px;text-align:center;border-bottom:1px solid rgba(226,214,174,0.28);}
  .legal-strip-title{margin:0 auto;max-width:920px;font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(13px,1.7vw,16px);line-height:1.45;color:var(--gold-bright);letter-spacing:0.01em;}
  @media(max-width:640px){.legal-strip{padding:8px 14px;}.legal-strip-title{font-size:12.5px;line-height:1.4;}}
  .pwa-install-bar{display:none;position:fixed;left:16px;right:16px;bottom:88px;margin:0 auto;width:min(320px,calc(100% - 32px));flex-direction:column;align-items:stretch;gap:12px;padding:20px 20px 16px;background:var(--navy);color:var(--paper);border:1px solid rgba(226,214,174,0.45);border-radius:2px;box-shadow:0 16px 48px rgba(8,20,34,0.38);text-align:center;z-index:70;}
  .pwa-install-bar.show{display:flex;}
  .pwa-install-bar .txt{font-size:13px;line-height:1.45;max-width:none;color:rgba(236,241,247,0.78);}
  .pwa-install-bar .txt b{font-family:var(--serif);font-weight:500;font-size:17px;display:block;margin-bottom:6px;color:var(--paper);letter-spacing:0.01em;}
  .pwa-install-bar .actions{display:flex;flex-direction:column;gap:8px;}
  .pwa-install-bar button{background:transparent;color:var(--paper);border:1px solid rgba(226,214,174,0.55);padding:10px 14px;font-size:10.5px;letter-spacing:0.1em;text-transform:uppercase;cursor:pointer;font-family:var(--sans);width:100%;}
  .pwa-install-bar button.primary{border-color:var(--gold-bright);color:var(--navy);background:var(--paper);}
  .pwa-install-bar button.pwa-dismiss{position:absolute;top:6px;right:8px;width:auto;border:none;background:none;padding:4px 8px;font-size:20px;line-height:1;letter-spacing:0;text-transform:none;color:rgba(236,241,247,0.55);}
  .pwa-install-bar button.pwa-dismiss:hover{color:var(--paper);}
  @media(max-width:640px){.pwa-install-bar{bottom:76px;padding:18px 18px 14px;}}
  body.pwa-standalone .pwa-install-bar,
  body.pwa-standalone .footer-install{display:none !important;}
  .footer-install{max-width:var(--page-max);margin:32px auto 0;text-align:center;}
  .footer-install a{display:inline-block;color:var(--gold-bright);text-decoration:none;}
  .footer-install a:hover{color:var(--paper);}
  .footer-install .fi-title{display:block;font-family:var(--serif);font-size:16px;font-weight:500;letter-spacing:0.02em;margin-bottom:5px;}
  .footer-install .fi-sub{display:block;font-family:var(--mono);font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:rgba(236,241,247,0.48);}
  .nav-links{display:flex;gap:12px;font-size:12px;font-weight:600;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;}
  .nav-links::-webkit-scrollbar{display:none;}

  /* APP PAGES — every top-level section carries data-page (home, screener,
     holdings, portfolio, learn, picks, about, contact, …); only the active
     one is shown. Contact is its own page so it does not leak under Watchlist. */
  [data-page]{display:none;}
  [data-page].page-active{display:block;}
  details[data-page].page-active{display:block;}
  .watchlist-back{display:inline-flex;}
  .nav-links a.active{color:var(--paper);border-bottom:1px solid var(--gold-bright);padding-bottom:3px;}
  .nav-links a{text-decoration:none;color:rgba(236,241,247,0.72);white-space:nowrap;}
  .nav-links a:hover{color:var(--paper);}
  /* Horizontal scroll-fade hints (19 Aug 2026) — safety net for the flat tab row:
     all 9 secondary tabs show at once now (no "More" grouping — every link stays
     directly visible per explicit direction), so on narrower desktop widths the
     row can still need horizontal scrolling. Previously that had zero visual
     indication (the original "Contact" cut off bug) — these two edge gradients
     appear only when JS (updateNavScrollFade) detects the row is actually
     scrollable in that direction, so most viewports never see them at all. */
  .nav-scroll-fade{position:absolute;top:0;bottom:0;width:28px;pointer-events:none;z-index:5;}
  .nav-scroll-fade{background:linear-gradient(to right, var(--navy), transparent);left:0;}
  .nav-scroll-fade.right{background:linear-gradient(to left, var(--navy), transparent);right:0;left:auto;}
  .nav-links-wrap{position:relative;min-width:0;flex:1 1 auto;}
  @media(max-width:900px), (max-height:540px) and (orientation:landscape) and (hover: none){.nav-links-wrap{flex:none;position:static;}}
  .nav-hamburger{
    display:none;background:none;border:1px solid rgba(236,241,247,0.4);border-radius:0;
    width:38px;height:34px;cursor:pointer;flex-shrink:0;padding:0;position:relative;z-index:90;
    touch-action:manipulation;-webkit-tap-highlight-color:rgba(226,214,174,0.35);pointer-events:auto;
    color:var(--paper);align-items:center;gap:8px;
  }
  .nav-hamburger *{pointer-events:none;}
  .nav-hamburger-icon{position:relative;display:block;width:18px;height:14px;flex-shrink:0;}
  .nav-hamburger-icon span{position:absolute;left:0;right:0;height:1px;background:var(--paper);border-radius:0;transition:transform .2s ease,opacity .2s ease;}
  .nav-hamburger-icon span:nth-child(1){top:1px;}
  .nav-hamburger-icon span:nth-child(2){top:7px;}
  .nav-hamburger-icon span:nth-child(3){top:13px;}
  nav.topnav.nav-open .nav-hamburger-icon span:nth-child(1){transform:translateY(6px) rotate(45deg);}
  nav.topnav.nav-open .nav-hamburger-icon span:nth-child(2){opacity:0;}
  nav.topnav.nav-open .nav-hamburger-icon span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
  .nav-hamburger-text{display:none;font-size:11px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;font-family:var(--sans);}
  /* Hidden by default (desktop tab row reuses this same #navLinksRow list) — only
     shown once the 900px rule below flips it on, inside the dropdown.
     Bug fix (23 Aug 2026, reported: "Login/Join Premium/Lunch disappeared
     entirely, not even in the dropdown") — this rule USED to sit textually AFTER
     the @media block below. Media queries don't create their own cascade layer —
     they're just conditional inclusion — so at narrow widths BOTH this
     unconditional "display:none" and the media query's "display:block" applied
     at once, tied on specificity, and whichever appears LATER in the raw
     stylesheet wins. Since this line used to come after the media block, it
     always won, and .nav-mobile-extra stayed display:none even inside the open
     dropdown — the 3 links were hidden everywhere, not moved anywhere. Moving
     this line before the media query fixes the source order so the media
     query's override (declared later) correctly wins at narrow widths. */
  .nav-mobile-extra{display:none;}
  .nav-group-label{display:none;}
  /* Compact nav: phones in portrait, AND phones in landscape (iPhone Pro Max
     landscape is ~932×430 — wider than 900px so the hamburger used to vanish
     and Desk+Chat+Login overflowed). Also hide the Ask the desk FAB / install
     toast while the menu is open — FAB is z-index 150, nav is 80, so Top Picks
     / About / Contact were untappable on iPhone. */
  @media(max-width:900px), (max-height:540px) and (orientation:landscape) and (hover: none){
    .nav-hamburger{display:inline-flex;width:auto;height:44px;padding:0 12px 0 10px;}
    .nav-hamburger-text{display:inline;}
    .nav-inner{padding:12px 16px;min-width:0;}
    .nav-links{
      display:none;position:absolute;top:100%;left:0;right:0;z-index:85;
      flex-direction:column;gap:2px;background:var(--navy);
      border-bottom:1px solid rgba(226,214,174,0.28);box-shadow:none;
      padding:6px 24px 14px;overflow-x:visible;
      max-height:calc(100vh - 88px - env(safe-area-inset-top, 0px));
      max-height:calc(100dvh - 88px - env(safe-area-inset-top, 0px));
      overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
    }
    nav.topnav.nav-open{z-index:200;}
    nav.topnav.nav-open .nav-links{display:flex;z-index:210;}
    .nav-links a{padding:11px 4px;border-top:1px solid rgba(236,241,247,0.12);font-size:14px;}
    .nav-links a:first-child{border-top:none;}
    /* Bug fix (23 Aug 2026, reported: "no menu button visible on mobile, have to
       scroll right to find it") — root cause: .nav-inner is a single flex row with
       no wrapping, and while .nav-links (the tab row) correctly collapses at this
       breakpoint, the three .nav-cta buttons (Lunch with a guru / Log in / Join
       Premium) never did — all three have flex-shrink:0 and stayed in the row at
       full size, pushing the hamburger button itself past the right edge of the
       viewport instead of just being visually cramped. Hidden here in the
       collapsed top bar; equivalent entries added to the dropdown menu below
       (.nav-mobile-extra) so Login/Join Premium/Lunch stay reachable on mobile,
       just moved into the hamburger menu instead of lost. */
    .nav-cta,
    .nav-cta.secondary,
    a.nav-cta.lunch-cta,
    a.nav-cta.ask-cta{display:none;}
    .nav-mobile-extra{display:block;}
    .nav-group-label{
      display:block;padding:14px 4px 2px;margin:0;
      font-family:var(--mono);font-size:11px;letter-spacing:0.08em;text-transform:uppercase;
      color:rgba(236,241,247,0.4);border-top:1px solid rgba(236,241,247,0.12);
    }
    .nav-links > .nav-group-label:first-child{border-top:none;padding-top:6px;}
    .nav-group-label + a{border-top:none;}
    .brand-group{min-width:0;flex:1 1 auto;overflow:hidden;}
    /* Do not clip nav/nav-inner — overflow-x:clip on a sticky bar makes iOS
       clip the absolute Menu dropdown (and can steal taps). html/body already clip. */
  }
  .nav-cta{background:transparent;color:var(--paper);padding:7px 14px;border-radius:0;border:1px solid rgba(226,214,174,0.55);font-size:10.5px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;text-decoration:none;flex-shrink:0;white-space:nowrap;transition:background .15s ease, border-color .15s ease;}
  .nav-cta.secondary{background:transparent;color:var(--paper);border:1px solid rgba(236,241,247,0.28);text-transform:none;font-weight:600;letter-spacing:0.02em;font-family:var(--serif);font-size:14px;padding:6px 12px;margin-right:6px;}
  .nav-cta.secondary:hover{border-color:var(--gold-bright);}
  .nav-cta.lunch-cta{
    display:inline-flex;flex-direction:column;align-items:flex-start;gap:0;
    background:transparent;color:var(--paper);border:1px solid rgba(226,214,174,0.55);
    padding:5px 12px 6px;margin-right:8px;text-transform:none;letter-spacing:0;
    font-family:var(--sans);line-height:1.15;box-shadow:none;
  }
  .nav-cta.lunch-cta .cta-kicker{font-size:8.5px;font-weight:500;letter-spacing:0.16em;text-transform:uppercase;color:var(--gold-bright);opacity:1;}
  .nav-cta.lunch-cta .cta-label{font-size:13px;font-weight:500;font-family:var(--serif);}
  .nav-cta.lunch-cta:hover{background:rgba(226,214,174,0.12);border-color:var(--gold-bright);color:var(--paper);}
  .nav-cta.lunch-cta.active{border-color:var(--gold-bright);color:var(--paper);}
  .nav-cta.lunch-cta.active .cta-label{color:var(--gold-bright);}
  .nav-joke{color:rgba(226,214,174,0.72) !important;font-style:italic;font-weight:400 !important;border-bottom:none;padding-bottom:2px;}
  .nav-joke:hover{color:var(--paper) !important;}
  @media(max-width:640px){.nav-cta.secondary{padding:9px 10px;font-size:11px;}.nav-cta.secondary .full-label{display:none;}.nav-cta.lunch-cta{padding:6px 10px;}.nav-cta.lunch-cta .cta-label{font-size:12px;}}
  .nav-cta:hover{background:rgba(226,214,174,0.14);border-color:var(--gold-bright);}
  .nav-cta.lunch-cta:hover{background:rgba(226,214,174,0.12);border-color:var(--gold-bright);}
  /* lunch-cta sets display:inline-flex after the 900px hide rule, so it won on
     iPhone and shoved Desk + Chat past the screen — Safari then widened the
     layout, showed a navy void, and pinch-zoom rubber-banded. Re-hide here
     with higher specificity than .nav-cta.lunch-cta. */
  @media(max-width:900px), (max-height:540px) and (orientation:landscape) and (hover: none){
    a.nav-cta,
    a.nav-cta.secondary,
    a.nav-cta.lunch-cta,
    a.nav-cta.ask-cta{display:none;}
  }

  /* NAV DROPDOWNS — groups the flat 11-link nav into a few clusters (14 Aug 2026:
     was a scrolling wall of links on both desktop and mobile). Desktop: hover/focus
     reveals a small panel. Mobile: no hover, so the menu just renders expanded
     inline under a non-clickable group label — still a flat list to tap, just
     visually grouped instead of one long undifferentiated column. */
  .nav-dropdown{position:relative;}
  .nav-dropdown-label{display:inline-flex;align-items:center;gap:3px;cursor:default;color:rgba(236,241,247,0.55);}
  .nav-dropdown-menu{
    display:none;position:absolute;top:100%;left:0;margin-top:14px;
    background:var(--panel);border:1px solid var(--line);border-radius:2px;
    box-shadow:var(--shadow);min-width:190px;padding:6px;z-index:90;
  }
  .nav-dropdown:hover .nav-dropdown-menu, .nav-dropdown:focus-within .nav-dropdown-menu{display:block;}
  .nav-dropdown-menu a{display:block;padding:9px 10px;border-radius:2px;white-space:nowrap;}
  .nav-dropdown-menu a:hover{background:rgba(20,24,28,0.045);color:var(--navy);}
  @media(max-width:900px), (max-height:540px) and (orientation:landscape) and (hover: none){
    .nav-dropdown-menu{
      display:block;position:static;border:none;box-shadow:none;padding:0 0 4px 10px;
      margin-top:0;background:none;min-width:0;
    }
    .nav-dropdown-label{padding:11px 4px 5px;border-top:1px solid rgba(236,241,247,0.12);font-size:12px;
      text-transform:uppercase;letter-spacing:0.05em;font-family:var(--mono);color:rgba(236,241,247,0.45);}
    .nav-dropdown-menu a{padding:8px 4px;border-top:none;font-size:14px;}
  }

  /* HERO */
  header.hero{padding:22px 28px 18px;border-bottom:1px solid var(--line);text-align:center;background:var(--paper);}
  h1.title{font-family:var(--serif);font-weight:500;font-size:clamp(34px,5.2vw,52px);margin:0 0 12px;letter-spacing:0.02em;line-height:1.12;}
  h1.title em{font-style:italic;color:var(--gold);font-weight:500;}
  .hero-pitch{max-width:640px;margin:0 auto 10px;font-size:clamp(18px,2.4vw,22px);color:var(--navy-soft);font-family:var(--serif);font-weight:500;line-height:1.35;letter-spacing:0.01em;}
  .hero-pitch b{color:var(--gold);font-weight:600;}
  .hero-how-copy{max-width:640px;margin:14px auto 6px;font-size:15.5px;color:var(--navy-soft);font-family:var(--serif);font-weight:500;line-height:1.5;letter-spacing:0.01em;}
  .hero-how-copy i{font-style:italic;}
  .hero-guru-strip{margin-top:6px;display:flex;flex-direction:column;align-items:stretch;gap:10px;width:100%;box-sizing:border-box;}
  .hero-guru-label{align-self:center;font-family:'IBM Plex Mono',monospace;font-size:10.5px;color:var(--gold);letter-spacing:0.08em;text-transform:uppercase;}

  /* CREDIBILITY STAT STRIP */
  .hero-stat-strip{display:flex;flex-wrap:wrap;justify-content:center;gap:0;margin:10px auto 4px;max-width:920px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
  .hero-stat{flex:1 1 33.33%;max-width:33.33%;text-align:center;padding:16px 14px;border-left:1px solid var(--line);}
  .hero-stat:first-child{border-left:none;}
  .hero-stat:nth-child(3n+1){border-left:none;}
  .hero-stat:nth-child(-n+3){border-top:none;}
  .hero-stat:nth-child(n+4){border-top:1px solid var(--line);}
  .hero-stat .n{display:block;font-family:var(--num);font-weight:600;font-size:28px;color:var(--navy);line-height:1;font-variant-numeric:tabular-nums lining-nums;letter-spacing:-0.02em;}
  .hero-stat .l{display:block;margin-top:5px;font-family:'IBM Plex Mono',monospace;font-size:9.5px;color:var(--muted);text-transform:uppercase;letter-spacing:0.04em;}
  .hero-stat .x{display:block;margin-top:6px;font-family:'IBM Plex Sans',sans-serif;font-size:11px;color:var(--navy-soft);line-height:1.4;text-transform:none;letter-spacing:0;}
  .hero-stat-intro{text-align:center;font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:0.06em;margin:26px auto 2px;}
  /* Compact variant (14 Aug 2026 pm) — same 6 stats, sized to sit right under the
     pitch without competing for space with the search box below it: smaller
     number, smaller explainer text, tighter padding, explainer clamped to 2 lines
     (still fully legible on hover/tap via title attribute as a fallback). */
  .hero-stat-strip.small{margin:10px auto 4px;max-width:920px;}
  .hero-stat-strip.small .hero-stat{padding:10px 14px;}
  .hero-stat-strip.small .hero-stat .n{font-size:19px;}
  .hero-stat-strip.small .hero-stat .l{font-size:8.5px;margin-top:3px;}
  .hero-stat-strip.small .hero-stat .x{font-size:10px;margin-top:4px;line-height:1.35;}

  /* HERO STATS TOGGLE (20 Aug 2026) — the 6-stat credibility strip is now hidden by
     default so the search box sits right under the pitch with no scroll/space cost;
     this small "How?" pill reveals/hides it on click instead. */
    .hero-stats-toggle{
    display:inline-flex;align-items:center;gap:6px;margin:8px auto 0;
    background:transparent;border:1px solid var(--line);border-radius:0;
    padding:8px 18px;font-family:'IBM Plex Mono',monospace;font-size:10.5px;
    font-weight:500;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold);
    cursor:pointer;transition:background .15s ease,border-color .15s ease;
  }
  .hero-stats-toggle:hover{border-color:var(--gold);background:rgba(180,140,40,0.07);}
  .hero-stats-toggle .hst-arrow{display:inline-block;transition:transform .2s ease;font-size:12px;line-height:1;}
  .hero-stats-toggle.open .hst-arrow{transform:rotate(180deg);}
  #heroStatsPanel{display:none;}
  #heroStatsPanel.open{display:block;animation:heroStatsIn .2s ease;}
  @keyframes heroStatsIn{from{opacity:0;transform:translateY(-4px);}to{opacity:1;transform:translateY(0);}}
  @media(max-width:560px){
    .hero-stat{flex:1 1 45%;border-left:none;border-top:1px solid var(--line);}
    .hero-stat:nth-child(-n+2){border-top:none;}
    .hero-stat:nth-child(odd){border-right:1px solid var(--line);}
  }

  /* GURU SEARCH/FILTER — lets someone type a name instead of scanning 29 avatars
     one by one (14 Aug 2026). Filters the already-rendered avatar strip client-side,
     no API call — instant. */
  .hero-guru-search-row{position:relative;max-width:340px;margin:2px auto 4px;}
  .hero-guru-search-row input{
    width:100%;padding:9px 34px 9px 13px;border:1px solid var(--line);border-radius:2px;
    background:var(--panel);color:var(--navy);font-family:'IBM Plex Sans',sans-serif;font-size:16px;
  }
  .hero-guru-search-row input:focus{outline:none;border-color:var(--gold);}
  .hero-guru-search-row input::placeholder{color:var(--muted);}
  .hero-guru-search-row button{
    position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:none;
    color:var(--muted);cursor:pointer;font-size:13px;padding:4px 6px;
  }
  .hero-guru-search-row button:hover{color:var(--navy);}
  .hero-guru-avatar.guru-filtered-out{display:none;}
  .hero-guru-avatars{
    display:flex;gap:12px;flex-wrap:wrap;justify-content:center;
    width:100%;max-width:100%;box-sizing:border-box;margin:0 auto;
    overflow:hidden;max-height:78px;padding:2px 4px 4px;
    transition:max-height .25s ease;
  }
  .hero-guru-avatars.expanded{max-height:460px;overflow-y:auto;}
  .hero-guru-avatars .hero-guru-avatar{flex:0 0 auto;}
  .hero-guru-avatars-toggle{align-self:center;margin-top:-2px;}
  @media(max-width:720px){
    .hero-guru-avatars{justify-content:center;}
  }
  .hero-guru-avatar{position:relative;display:flex;align-items:center;gap:11px;background:var(--panel);border-radius:0;padding:7px 22px 7px 7px;font-family:var(--serif);font-weight:600;color:var(--navy);cursor:pointer;border:1px solid var(--line);box-shadow:none;transition:border-color .15s ease, background .15s ease;}
  .hero-guru-avatar:hover{border-color:var(--gold);background:rgba(140,115,68,0.06);}
  .hero-guru-avatar.popped{animation:none;}
  .hero-guru-avatar.guru-selected{border-color:var(--gold);box-shadow:none;background:rgba(140,115,68,0.1);}
  .hero-guru-avatar .hero-guru-circle{position:relative;flex:0 0 auto;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;color:#fff;letter-spacing:0.04em;}
  .hero-guru-avatar .hero-guru-fullname{font-size:15px;white-space:nowrap;letter-spacing:0.01em;font-weight:600;}
  .hero-guru-power{display:none;}
  .hero-guru-pow{display:none;}
  .hero-guru-avatar.popped .hero-guru-pow{animation:none;}
  @keyframes heroAvatarIn{0%{opacity:0;transform:translateY(14px) scale(.5);}100%{opacity:1;transform:translateY(0) scale(1);}}
  @keyframes heroAvatarPop{0%{transform:scale(1);}35%{transform:scale(1.08) rotate(-4deg);}60%{transform:scale(.97) rotate(2deg);}100%{transform:scale(1) rotate(0);}}
  @keyframes heroPowText{0%{opacity:0;transform:translateX(-50%) scale(.3) rotate(-10deg);}40%{opacity:1;transform:translateX(-50%) scale(1.2) rotate(6deg);}100%{opacity:0;transform:translateX(-50%) translateY(-16px) scale(1) rotate(0);}}
  .hero-coffee-badge{align-self:center;display:inline-flex;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--line);border-radius:0;padding:8px 18px 8px 8px;box-shadow:none;cursor:pointer;margin-top:6px;transition:border-color .15s ease;}
  .hero-coffee-badge:hover{border-color:var(--gold);}
  .hero-coffee-badge .cup{width:40px;height:40px;border-radius:0;background:var(--navy);color:var(--gold-bright);display:flex;align-items:center;justify-content:center;font-size:19px;}
  .hero-coffee-badge .txt{font-family:var(--serif);font-weight:600;font-size:15px;color:var(--navy);}
  .hero-coffee-badge .txt span{display:block;font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:9.5px;color:var(--gold);letter-spacing:0.04em;text-transform:uppercase;}
  @keyframes heroCupWiggle{0%,100%{transform:rotate(-6deg);}50%{transform:rotate(6deg);}}
  .quick-ticker-row{display:flex;gap:8px;align-items:center;justify-content:center;margin:0 0 22px;font-size:12px;color:var(--muted);position:relative;z-index:1;}
  .quick-ticker-chip{background:var(--panel);border:1px solid var(--line);color:var(--navy-soft);padding:5px 12px;border-radius:2px;font-family:'IBM Plex Mono',monospace;font-size:11.5px;font-weight:600;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
  .quick-ticker-chip:hover{border-color:var(--gold);color:var(--navy);}
  .quick-ticker-chip:disabled,#tickerSearchBtn:disabled{opacity:0.55;pointer-events:none;cursor:default;}
  .method-compare{margin:22px 0;padding:18px 18px 14px;border:1px solid var(--line);background:var(--panel);text-align:left;}
  .method-compare h3{font-family:var(--serif);font-size:1.22rem;font-weight:600;margin:0 0 6px;color:var(--navy);}
  .method-compare .method-lead{margin:0 0 14px;color:var(--navy-soft);font-size:0.92rem;line-height:1.5;}
  .method-compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
  @media(max-width:720px){.method-compare-grid{grid-template-columns:1fr;}}
  .method-card{border:1px solid var(--line);background:var(--paper);padding:14px 14px 12px;}
  .method-card.pass{border-color:#2E6B34;}
  .method-card.fail{border-color:var(--line);}
  .method-card .mc-sym{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:0.72rem;letter-spacing:0.08em;color:var(--muted);text-transform:uppercase;}
  .method-card h4{font-family:var(--serif);font-size:1.12rem;font-weight:600;margin:4px 0 8px;color:var(--navy);}
  .method-card .mc-verdict{font-size:0.88rem;font-weight:600;margin:0 0 10px;line-height:1.4;}
  .method-card.pass .mc-verdict{color:#2E6B34;}
  .method-card.fail .mc-verdict{color:var(--navy);}
  .method-card dl{margin:0;display:grid;grid-template-columns:1fr auto;gap:6px 10px;font-size:0.84rem;}
  .method-card dt{color:var(--muted);}
  .method-card dd{margin:0;font-variant-numeric:tabular-nums;font-weight:600;text-align:right;color:var(--navy);}
  .method-card .mc-miss{margin:10px 0 0;font-size:0.82rem;color:var(--navy-soft);line-height:1.45;}
  .method-compare-status{margin:12px 0 0;font-size:0.78rem;color:var(--muted);line-height:1.45;}
  .method-compare-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
  details.plain-fold{margin-top:14px;border:1px solid var(--line);background:var(--panel);padding:12px 14px;}
  details.plain-fold summary{cursor:pointer;font-weight:600;font-size:0.92rem;color:var(--navy);list-style:none;}
  details.plain-fold summary::-webkit-details-marker{display:none;}
  details.plain-fold summary::after{content:' ▾';color:var(--gold);font-weight:700;}
  details.plain-fold[open] summary{margin-bottom:10px;}
  details.plain-fold p{margin:0 0 8px;font-size:0.88rem;color:var(--navy-soft);line-height:1.55;}
  details.plain-fold p:last-child{margin-bottom:0;}
  .webinar-note{margin:12px 0 14px;padding:12px 14px;border:1px dashed var(--gold);background:var(--paper);font-size:0.88rem;color:var(--navy-soft);line-height:1.55;}
  .webinar-note strong{color:var(--navy);}
  .webinar-facts{margin:10px 0 0;padding:0;list-style:none;}
  .webinar-facts li{margin:4px 0;padding-left:0;}
  .cyclical-iv-badge{display:none;margin-top:6px;font-size:10.5px;letter-spacing:0.04em;text-transform:uppercase;color:var(--navy);background:rgba(110,103,82,0.12);border:1px solid var(--gold);padding:3px 8px;font-weight:600;}
  .cyclical-iv-badge.is-on{display:inline-block;}
  #tickerSearchBtn{touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
  .roic-chart{display:flex;align-items:flex-end;gap:14px;height:140px;padding:10px 4px 0;overflow-x:auto;overflow-y:hidden;width:100%;max-width:100%;min-width:0;-webkit-overflow-scrolling:touch;}
  .roic-bar-col{flex:0 0 auto;min-width:36px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;}
  .roic-bar{width:100%;max-width:46px;background:linear-gradient(180deg,var(--gold-bright),var(--gold));border-radius:2px 4px 0 0;position:relative;min-height:2px;}
  .roic-bar.neg{background:linear-gradient(180deg,#C97B65,var(--red));}
  .roic-bar-val{font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:600;color:var(--navy);margin-bottom:4px;}
  .roic-bar-yr{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--muted);margin-top:6px;}
  .roic-verdict{font-size:12.5px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line);color:var(--navy-soft);}
  .roic-verdict b{color:var(--navy);}
  .stmt-lead{font-size:14.5px;color:var(--navy-soft);line-height:1.6;margin:0 0 16px;max-width:52em;font-family:var(--serif);font-weight:500;}
  .stmt-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:56px;}
  .stmt-grid > div{min-width:0;position:relative;z-index:1;overflow:hidden;}
  @media(min-width:900px){
    .stmt-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px 48px;}
  }
  .stmt-h{font-family:var(--serif);font-size:22px;font-weight:600;color:var(--navy);margin:0 0 10px;letter-spacing:0.01em;}
  .stmt-legend{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;color:var(--navy-soft);margin-bottom:6px;align-items:center;}
  .stmt-legend i{display:inline-block;width:14px;height:14px;margin-right:6px;vertical-align:-2px;border-radius:1px;}
  .stmt-legend .lg-rev{background:var(--navy);}
  .stmt-legend .lg-ni{background:var(--gold);}
  .stmt-legend .lg-eps{background:var(--zone-bargain);}
  .stmt-legend .lg-ocf{background:#1B2833;}
  .stmt-legend .lg-fcf{background:#6B7C6A;}
  .stmt-legend .lg-debt{background:var(--zone-expensive);}
  .stmt-legend .lg-cash{background:var(--sage);}
  .stmt-legend .lg-est{background:repeating-linear-gradient(-45deg,var(--navy) 0 3px,transparent 3px 6px);border:1px solid var(--navy);}
  .stmt-scale-note{margin:0 0 14px;font-size:12.5px;color:var(--muted);line-height:1.45;max-width:42em;}
  .stmt-chart{display:flex;align-items:stretch;gap:8px;height:auto;min-height:calc(var(--stmt-plot, 248px) + 52px);padding:8px 2px 10px;overflow-x:auto;overflow-y:hidden;border-bottom:1px solid var(--line);width:100%;max-width:100%;min-width:0;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;}
  .stmt-year-group{flex:0 0 auto;min-width:104px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;}
  .stmt-pair{display:flex;align-items:flex-end;gap:10px;width:100%;justify-content:center;height:var(--stmt-plot, 248px);}
  .stmt-bar-col{flex:1 1 0;max-width:64px;min-width:28px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;}
  .stmt-bar{width:100%;border-radius:2px 2px 0 0;min-height:4px;}
  .stmt-bar.revenue{background:var(--navy);}
  .stmt-bar.earnings{background:linear-gradient(180deg,var(--gold-bright),var(--gold));}
  .stmt-bar.eps{background:var(--zone-bargain);}
  .stmt-bar.ocf{background:#1B2833;}
  .stmt-bar.fcf{background:#6B7C6A;}
  .stmt-bar.debt{background:var(--zone-expensive);}
  .stmt-bar.cash{background:var(--sage);}
  .stmt-bar.neg{background:linear-gradient(180deg,#C97B65,var(--red));}
  .stmt-bar.empty{height:2px;background:var(--line);}
  .stmt-bar.est.revenue{background:repeating-linear-gradient(-45deg,var(--navy) 0 3px,rgba(27,42,74,0.22) 3px 6px);}
  .stmt-bar.est.earnings{background:repeating-linear-gradient(-45deg,var(--gold) 0 3px,rgba(110,103,82,0.22) 3px 6px);}
  .stmt-bar.est.eps{background:repeating-linear-gradient(-45deg,var(--zone-bargain) 0 3px,rgba(30,74,60,0.22) 3px 6px);}
  .stmt-bar.est.ocf{background:repeating-linear-gradient(-45deg,#1B2833 0 3px,rgba(27,40,51,0.22) 3px 6px);}
  .stmt-bar.est.fcf{background:repeating-linear-gradient(-45deg,#6B7C6A 0 3px,rgba(107,124,106,0.22) 3px 6px);}
  .stmt-year-group.is-est{border-left:1px dashed var(--line);padding-left:12px;margin-left:8px;}
  .stmt-year-group.is-est + .stmt-year-group.is-est{border-left:none;padding-left:0;margin-left:0;}
  .stmt-year-group.is-est .stmt-yr{color:var(--gold);}
  .stmt-pair.single{gap:0;}
  .stmt-pair.single .stmt-bar-col{max-width:72px;}
  .stmt-v{display:block;text-align:center;font-family:var(--mono);font-size:11px;font-weight:600;line-height:1.2;letter-spacing:0;white-space:normal;margin-bottom:6px;max-width:100%;overflow:visible;word-break:break-word;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto;}
  .stmt-v.revenue,.stmt-v.ocf{color:var(--navy);}
  .stmt-v.earnings{color:var(--gold);}
  .stmt-v.eps{color:var(--zone-bargain);}
  .stmt-v.fcf{color:#4E5C4D;}
  .stmt-v.debt{color:var(--zone-expensive);}
  .stmt-v.cash{color:var(--sage);}
  .stmt-v.neg{color:var(--red);}
  .stmt-yr{font-family:var(--mono);font-size:12.5px;color:var(--navy-soft);margin-top:10px;font-weight:500;-webkit-font-smoothing:auto;}
  @media(min-width:1440px){
    .stmt-h{font-size:26px;}
    .stmt-v,.stmt-yr{font-size:13.5px;}
    .stmt-bar-col{max-width:76px;min-width:36px;}
    .stmt-year-group{min-width:110px;}
    .stmt-chart{gap:14px;}
  }
  .eps-est-strip{margin-top:18px;padding:14px 16px;border:1px solid var(--line);border-top:1px solid var(--gold);background:var(--panel);}
  .eps-est-strip .k{font-family:var(--mono);font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:var(--gold);margin:0 0 10px;font-weight:500;}
  .eps-est-strip .note{font-size:12px;color:var(--navy-soft);line-height:1.5;margin:8px 0 0;}
  .eps-est-grid{display:flex;gap:18px;flex-wrap:wrap;}
  .eps-est-cell{min-width:110px;}
  .eps-est-cell .y{font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:0.06em;text-transform:uppercase;margin-bottom:4px;}
  .eps-est-cell .v{font-family:var(--num);font-size:20px;font-weight:600;color:var(--navy);font-variant-numeric:tabular-nums;}
  .eps-est-cell .s{font-size:11px;color:var(--muted);margin-top:2px;}
  .eps-est-cell.is-fwd .v{color:var(--gold);}
  .stmt-caption{font-size:12.5px;margin:10px 0 0;color:var(--navy-soft);line-height:1.55;min-height:1.2em;}
  .stmt-caption b{color:var(--navy);}
  .stmt-health-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0 0 22px;padding:16px 0;border-bottom:1px solid var(--line);}
  @media(min-width:1440px){.stmt-health-kpis{grid-template-columns:repeat(6,1fr);}}
  @media(max-width:640px){
    .stmt-health-kpis{grid-template-columns:1fr 1fr;}
    .stmt-v{font-size:10px;}
    .stmt-year-group{min-width:88px;}
    .stmt-bar-col{min-width:22px;max-width:48px;}
  }
  .stmt-kpi{min-width:0;}
  .stmt-kpi .k{font-family:var(--mono);font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;-webkit-font-smoothing:auto;}
  .stmt-kpi .v{font-family:var(--num);font-size:22px;font-weight:600;color:var(--navy);font-variant-numeric:tabular-nums;-webkit-font-smoothing:auto;}
  .stmt-kpi .s{font-size:12px;color:var(--muted);margin-top:3px;}
  @media(min-width:1440px){
    .stmt-kpi .v{font-size:28px;}
    .stmt-kpi .k{font-size:11.5px;}
  }
  .pa-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px;}
  @media(max-width:800px){.pa-kpis{grid-template-columns:1fr 1fr;}}
  .pa-kpi{border:1px solid var(--line);border-top:1px solid var(--gold);padding:12px 14px;background:var(--panel);}
  .pa-kpi .v{font-family:var(--num);font-size:22px;font-weight:600;color:var(--navy);font-variant-numeric:tabular-nums;}
  .pa-kpi .v.gold{color:var(--gold);}
  .pa-kpi .l{font-size:11.5px;color:var(--muted);margin-top:3px;}
  .pa-split{display:flex;gap:28px;flex-wrap:wrap;margin-bottom:18px;}
  .pa-split > div{flex:1;min-width:240px;}
  .pa-pie-row{display:flex;gap:28px;align-items:flex-start;flex-wrap:wrap;}
  .pa-pie{width:min(320px,86vw);height:min(320px,86vw);border-radius:50%;flex:0 0 auto;border:1px solid var(--line);background-color:var(--panel);}
  .pa-pie-legend{font-size:13px;color:var(--navy-soft);line-height:1.55;min-width:min(240px,100%);}
  .pa-pie-legend span{display:inline-block;width:12px;height:12px;margin-right:8px;border-radius:2px;vertical-align:middle;}
  .pa-gate-track{display:flex;height:14px;border-radius:2px;overflow:hidden;background:var(--line);margin:8px 0 6px;}
  .pa-gate-pass{background:var(--sage);}
  .pa-gate-miss{background:#C97B65;}
  .pa-top-row{display:flex;align-items:center;gap:10px;margin-bottom:7px;font-size:12px;}
  .pa-top-row .sym{font-family:'IBM Plex Mono',monospace;font-weight:600;width:52px;color:var(--navy);}
  .pa-top-row .bar{flex:1;height:7px;background:var(--line);border-radius:2px;overflow:hidden;}
  .pa-top-row .bar > i{display:block;height:100%;background:var(--navy);}
  .pa-top-row .pct{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--muted);width:48px;text-align:right;}
  .pa-bands{display:flex;height:12px;border-radius:2px;overflow:hidden;margin:8px 0 10px;background:var(--line);}
  .pa-bands i{display:block;height:100%;}
  .limit-banner{margin-top:10px;font-size:12px;background:rgba(110,103,82,0.14);border:1px solid var(--gold-bright);border-radius:2px;padding:9px 13px;color:var(--navy-soft);}
  .limit-banner.soft{background:transparent;border-color:var(--line);color:var(--muted);}
  .limit-banner-link{color:var(--gold);font-weight:700;text-decoration:none;margin-left:6px;}
  .screener-customize{position:relative;display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap;}
  .screener-customize-hint{font-size:11.5px;color:var(--muted);}
  .column-picker{display:none;position:absolute;top:calc(100% + 6px);left:0;z-index:20;background:var(--panel);border:1px solid var(--line);border-radius:2px;padding:12px 14px;box-shadow:var(--shadow);min-width:220px;}
  .column-picker.open{display:block;}
  .column-picker label{display:flex;align-items:center;gap:8px;font-size:12.5px;padding:4px 0;cursor:pointer;color:var(--navy-soft);}
  .column-picker input{accent-color:var(--gold);}
  .pass-dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-left:5px;vertical-align:middle;}
  .pass-dot.good{background:var(--sage);}
  .pass-dot.bad{background:var(--red);}
  .screener input.opt-metric{width:64px;}
  .score-v2-panel{margin-top:14px;padding-top:12px;border-top:1px dashed var(--line);text-align:left;}
  .score-v2-note{font-size:11px;color:var(--muted);line-height:1.5;margin-top:4px;}
  .score-explainer{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);text-align:left;}
  .score-explainer-title{font-family:'IBM Plex Mono',monospace;font-size:9.5px;color:var(--gold);letter-spacing:0.06em;text-transform:uppercase;margin-bottom:6px;}
  .score-explainer p{font-size:10.5px;color:var(--navy-soft);line-height:1.5;margin:0 0 10px;}
  .score-explainer-legend{display:grid;gap:3px;}
  .score-explainer-legend div{font-size:10px;color:var(--muted);line-height:1.4;}
  .score-explainer-legend b{color:var(--navy);font-family:'IBM Plex Mono',monospace;font-weight:600;}

  /* Merged Sick of Gurus Screener card (13 Aug 2026) — Sick of Gurus Score + Margin of Safety live as
     two compact sub-blocks inside one card instead of two separate dial cards. */
  .atlas-mini-divider{border:none;border-top:1px solid var(--line);margin:18px 0;}
  .atlas-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
  @media(max-width:560px){.atlas-mini-grid{grid-template-columns:1fr;}}
  .atlas-mini-block{text-align:center;min-width:0;}
  .atlas-mini-block .subscore-row{text-align:left;}

  /* Info buttons — short explanation on click, full detail lives in About only.
     23 Aug 2026 (2nd pass, reported: "made them bigger/bold already but they don't
     look bold") — root cause: the button's content used to be the ⓘ Unicode
     character (CIRCLED LATIN CAPITAL LETTER I). That glyph is a single pre-drawn
     shape in the font — font-weight has ~zero visual effect on it in any browser,
     so bumping font-size/font-weight in the previous pass genuinely didn't make it
     look any bolder, even though the CSS was correct. Content changed (in the HTML,
     7 occurrences) from "ⓘ" to a plain "i" — real text, so bold/italic actually
     render — and the circle is now drawn by this CSS instead (border-radius:50% on
     a fixed-size box), which also turns it into a genuinely bigger, more obviously
     tappable button shape instead of a same-size-as-body-text character sitting
     inline with a label.
     23 Aug 2026 (3rd pass, reported via screenshot: too big now, and the one next
     to "Est. Intrinsic Value" was sitting ABOVE the number — inside the small label
     line, not next to it — which grew that label's row taller than "Current price"'s
     (no button there) and knocked the two dollar figures out of alignment with each
     other. Sized down from 26px to 19px (still a real, bold, obviously-tappable
     circle — just no longer bigger than the label text it sits next to), and the
     Est. Intrinsic Value one specifically moved in the HTML below to sit right after
     its own number instead of inside the label above it — see that markup for why. */
  .info-btn{
    display:inline-flex;align-items:center;justify-content:center;
    width:19px;height:19px;flex-shrink:0;
    border:1.5px solid var(--gold);border-radius:50%;background:none;
    color:var(--gold);font-family:var(--serif);font-style:italic;font-weight:800;font-size:12px;
    line-height:1;cursor:pointer;vertical-align:middle;padding:0;
  }
  .info-btn:hover{background:var(--gold);color:#fff;}
  .info-btn-block{display:block;margin:10px auto 0;font-size:11px;font-family:'IBM Plex Mono',monospace;letter-spacing:0.02em;color:var(--muted);border:1px solid var(--line);border-radius:2px;padding:4px 12px;background:none;cursor:pointer;
    /* 23 Aug 2026 — the one spot that combines both classes (class="info-btn
       info-btn-block", the guru-card "How this is calculated" button) needs its own
       shape reset here: without this, .info-btn's fixed circle size above would
       apply on top of this rule and clip the text label down to a tiny dot. Also
       resets font-style/weight, which would otherwise leak in italic+800 from
       .info-btn and clash with this button's own monospace label font. */
    width:auto;height:auto;border-radius:2px;font-style:normal;font-weight:400;}
  .info-btn-block:hover{color:var(--navy);border-color:var(--navy);background:none;}
  .info-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.6);z-index:260;display:flex;align-items:center;justify-content:center;padding:20px;}
  .info-modal{background:var(--panel);border:1px solid var(--line);border-top:1px solid var(--gold);border-radius:0;box-shadow:none;max-width:420px;width:100%;padding:26px 26px 24px;position:relative;}
  .info-modal-close{position:absolute;top:10px;right:12px;background:none;border:none;font-size:15px;color:var(--muted);cursor:pointer;}
  .info-modal-close:hover{color:var(--navy);}
  .info-modal-title{font-family:var(--serif);font-weight:700;font-size:17px;color:var(--navy);margin-bottom:10px;padding-right:20px;}
  .info-modal-text{font-size:13px;color:var(--navy-soft);line-height:1.6;margin-bottom:14px;}
  .info-modal-link{font-size:12px;font-weight:600;color:var(--gold);text-decoration:none;}
  .info-modal-link:hover{text-decoration:underline;}
  /* Join Premium signup modal (21 Aug 2026) — reuses .info-modal-overlay/.info-modal
     shell above for visual consistency, own overlay id so it doesn't collide with
     the generic info-key modal system. */
  .premium-modal{max-width:380px;}
  .premium-modal .field-grid{display:block;margin-top:14px;}
  .premium-modal .field{margin-bottom:12px;}
  .premium-modal .field label{display:block;font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:0.03em;margin-bottom:5px;}
  .premium-modal .field input,.premium-modal .field textarea{width:100%;padding:10px 12px;border:1.5px solid var(--line);border-radius:2px;font-family:'IBM Plex Sans',sans-serif;font-size:13.5px;color:var(--navy);background:var(--paper);}
  .premium-modal .field input:focus,.premium-modal .field textarea:focus{outline:2px solid var(--gold-bright);outline-offset:1px;border-color:var(--navy);}
  .premium-modal .pf-submit-btn{width:100%;padding:12px;background:var(--navy);color:var(--paper);border:1px solid var(--navy);border-radius:0;font-weight:600;font-size:11.5px;letter-spacing:0.1em;text-transform:uppercase;cursor:pointer;font-family:var(--sans);margin-top:4px;}
  .premium-modal .pf-submit-btn:hover{background:#0e1d33;}
  .premium-modal .pf-submit-btn:disabled{opacity:0.6;cursor:default;}
  .premium-modal .pf-status{font-size:12.5px;margin-top:10px;text-align:center;}
  .premium-modal .pf-status.ok{color:var(--sage);}
  .premium-modal .pf-status.err{color:var(--red);}
  /* Custom auth modal (23 Aug 2026, requested: confirm-password field + show/hide
     toggle on Create Account) — replaces the Netlify Identity widget's own
     built-in signup/login overlay, which has no confirm-password field and no
     show/hide toggle and can't be customized (it's a fixed, closed-UI overlay
     rendered by an external script — see the JS comment above openAuthModal()
     for the full explanation). Reuses .premium-modal's field/button/status
     styling (same class applied below) — only the auth-specific bits are new. */
  .auth-modal-tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:1px solid var(--line);}
  .auth-tab-btn{flex:1;padding:10px 6px;background:none;border:none;border-bottom:2px solid transparent;font-family:'IBM Plex Sans',sans-serif;font-size:12.5px;font-weight:700;letter-spacing:0.02em;color:var(--muted);cursor:pointer;}
  .auth-tab-btn.active{color:var(--navy);border-bottom-color:var(--gold);}
  .auth-pw-wrap{position:relative;}
  .auth-pw-wrap input{padding-right:52px !important;}
  .auth-pw-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:10px;letter-spacing:0.08em;text-transform:uppercase;line-height:1;cursor:pointer;color:var(--gold);padding:4px;font-family:var(--mono);font-weight:500;}
  .auth-pw-toggle:hover{color:var(--navy);}
  .auth-pw-hint{font-size:11px;color:var(--red);margin-top:-6px;margin-bottom:10px;display:none;}
  .auth-pw-hint.show{display:block;}
  /* Honeypot field — invisible to real visitors, catches basic bots that fill every field. */
  .pf-hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden;}
  .guru13f-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px;}
  .guru13f-lead{margin:0 0 22px;}
  .guru13f-table{width:100%;}
  .guru13f-lead .screener-note{margin-top:10px;}
  @media(max-width:1000px){.guru13f-grid{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:600px){.guru13f-grid{grid-template-columns:1fr;}}
  .guru13f-card{background:var(--panel);border:1px solid var(--line);border-top:1px solid var(--gold);border-radius:0;padding:18px;box-shadow:none;}
  .guru13f-card h3{font-family:var(--serif);font-size:15px;margin:0 0 3px;}
  .guru13f-meta{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--muted);margin-bottom:10px;}
  .guru13f-row{display:flex;justify-content:space-between;font-size:12px;padding:4px 0;border-bottom:1px solid var(--line);}
  .guru13f-row .h-name{color:var(--navy-soft);}
  .guru13f-row .h-pct{color:var(--gold);font-family:'IBM Plex Mono',monospace;font-weight:600;}
  .guru-watch-table{width:100%;border-collapse:collapse;font-size:12.5px;}
  .guru-watch-table thead th{text-align:left;font-family:'IBM Plex Mono',monospace;font-size:9.5px;color:var(--muted);text-transform:uppercase;letter-spacing:0.05em;padding:6px 10px;border-bottom:2px solid var(--navy);white-space:nowrap;}
  .guru-watch-table tbody td{padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:middle;}
  .guru-watch-table tbody tr{cursor:pointer;transition:background .12s;}
  .guru-watch-table tbody tr:hover{background:rgba(20,24,28,0.045);}
  .guru-watch-table tbody tr.gw-selected{background:rgba(110,103,82,0.14);}
  .guru-watch-table .gw-emblem{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--serif);font-weight:700;font-size:10px;}
  .guru-watch-table .gw-name{font-weight:600;color:var(--navy);white-space:nowrap;}
  .guru-watch-table .gw-verdict{font-family:'IBM Plex Mono',monospace;font-weight:700;font-size:11px;white-space:nowrap;}
  .guru-watch-table .gw-verdict.buy{color:#2E7D5C;}
  .guru-watch-table .gw-verdict.watch{color:var(--gold);}
  .guru-watch-table .gw-verdict.avoid{color:#A34A32;}
  .gw-verdict.buy{color:var(--sage);} .gw-verdict.watch{color:var(--gold);} .gw-verdict.avoid{color:var(--red);}
  .guru-criteria-row{padding:7px 0;border-top:1px solid var(--line);font-size:10.5px;line-height:1.4;text-align:left;color:var(--navy-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .guru-comment-row{padding:9px 0;border-top:1px solid var(--line);font-size:12px;line-height:1.55;text-align:left;color:var(--navy-soft);}
  .guru-comment-row:first-of-type{border-top:none;padding-top:0;}
  .guru-watch-table .gw-score{font-family:'IBM Plex Mono',monospace;font-weight:600;color:var(--navy-soft);white-space:nowrap;}
  .guru-watch-table .gw-reason{color:var(--muted);max-width:340px;}
  .guru13f-err{font-size:11.5px;color:var(--muted);}

  /* SHARED SECTION HEAD */
  .sec-kicker{font-family:'IBM Plex Mono',monospace;font-size:10.5px;color:var(--gold);letter-spacing:0.1em;text-transform:uppercase;margin-bottom:8px;}
  .sec-title{font-family:var(--serif);font-weight:600;font-size:28px;margin:0 0 8px;letter-spacing:0.01em;}
  .sec-sub{font-size:13.5px;color:var(--muted);margin:0 0 22px;max-width:600px;}

  /* COMMAND CENTER */
  .command-center{padding:22px 0 8px;}
  .bar-banner{margin:0 0 22px;padding:16px 22px;border:1px solid var(--line);background:var(--paper);color:var(--navy);font-family:var(--serif);font-weight:500;font-size:17px;line-height:1.45;text-align:center;letter-spacing:0.01em;}
  .bar-banner b{font-weight:600;}
  .live-tag{display:block;font-family:var(--mono);font-size:9px;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-top:3px;}
  .command-headline{
    font-family:var(--serif);font-weight:500;text-align:center;
    font-size:clamp(20px,5.4vw,38px);letter-spacing:0.04em;color:var(--navy);
    margin:4px 0 16px;
    display:flex;align-items:center;justify-content:center;gap:12px;
    flex-wrap:wrap;white-space:normal;
  }
  .command-headline.is-idle{
    display:block;
    position:relative;
    font-weight:500;
    font-style:italic;
    font-size:clamp(18px,2.35vw,26px);
    letter-spacing:0.02em;
    line-height:1.42;
    max-width:34em;
    margin:2px auto 18px;
    padding-bottom:12px;
    white-space:normal;
    color:var(--gold);
  }
  .command-headline.is-idle::after{
    content:"";
    display:block;
    width:40px;
    height:1px;
    margin:12px auto 0;
    background:rgba(226,214,174,0.85);
  }
  .command-headline.is-pass,.command-headline.is-fail,.command-headline.is-wait{color:var(--navy);white-space:nowrap;flex-wrap:nowrap;}
  .cmd-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--gold);}
  .command-headline.is-pass .cmd-dot{background:#2E6B34;}
  .command-headline.is-fail .cmd-dot{background:#A3382B;}
  .command-headline.is-wait .cmd-dot{background:var(--navy-soft);}
  @media(max-width:420px){
    .command-headline{font-size:20px;letter-spacing:0.02em;gap:8px;}
    .command-headline.is-idle{font-size:17px;letter-spacing:0.015em;margin:4px auto 14px;padding-bottom:10px;max-width:22em;}
    .command-headline.is-pass,.command-headline.is-fail,.command-headline.is-wait{font-size:18px;white-space:normal;flex-wrap:wrap;}
    .cmd-dot{width:7px;height:7px;}
  }
  .quote-delay-note{font-family:'IBM Plex Mono',monospace;font-size:10.5px;color:var(--muted);margin:8px 0 0;letter-spacing:0.02em;}
  .about-asof{font-family:var(--mono);font-size:12px;color:var(--navy-soft);margin:0 0 8px;line-height:1.55;letter-spacing:0.01em;padding:12px 14px;border:1px solid var(--line);background:var(--panel);}
  .hero-act{position:relative;}
  .ticker-search-wrap{
    position:relative;z-index:30;isolation:isolate;
    max-width:480px;margin:0 auto 6px;width:100%;
  }
  .ticker-search-wrap.is-suggesting{z-index:80;}
  .ticker-search-row{display:flex;align-items:stretch;gap:0;width:100%;margin:0;position:relative;border:1px solid rgba(138,115,72,0.55);background:var(--panel);}
  .ticker-search-row input{flex:1 1 auto;min-width:0;padding:12px 15px;border:none;border-radius:0;font-family:var(--mono);font-size:16px;font-weight:600;color:var(--navy);background:transparent;text-transform:uppercase;appearance:none;-webkit-appearance:none;box-sizing:border-box;margin:0;}
  .ticker-search-row input::placeholder{text-transform:none;font-weight:400;color:var(--muted);}
  .ticker-search-row input:focus{outline:none;}
  .ticker-search-row button,
  #tickerSearchBtn{
    flex:0 0 auto;align-self:stretch;
    padding:12px 22px;margin:0;
    background:var(--navy);color:var(--paper);
    border:none;border-radius:0;outline:none;
    font-weight:600;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;
    cursor:pointer;font-family:var(--sans);line-height:1.2;white-space:nowrap;
    appearance:none;-webkit-appearance:none;-moz-appearance:none;
    box-sizing:border-box;background-image:none;box-shadow:none;
    height:auto;min-height:0;max-height:none;
    transition:background .15s ease;
  }
  .ticker-search-row button:hover,
  #tickerSearchBtn:hover{background:#0e1d33;}
  /* Search-as-you-type suggestions. Lives OUTSIDE the flex row so Windows/Edge
     cannot stretch the Search button to the list height, and paints above Try / steps. */
  .ticker-suggest-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#FFFEFB;border:1px solid var(--navy);border-radius:0;box-shadow:0 16px 40px rgba(5,13,22,0.16);z-index:40;max-height:min(280px, 50vh);overflow-x:hidden;overflow-y:auto;display:none;text-align:left;}
  .ticker-suggest-dropdown.open{display:block;}
  .ticker-suggest-item{padding:10px 14px;cursor:pointer;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:baseline;gap:10px;}
  .ticker-suggest-item:last-child{border-bottom:none;}
  .ticker-suggest-item:hover,.ticker-suggest-item.active{background:rgba(110,103,82,0.1);}
  .ticker-suggest-sym{font-family:'IBM Plex Mono',monospace;font-weight:700;color:var(--navy);font-size:13px;white-space:nowrap;}
  .ticker-suggest-name{font-family:'IBM Plex Sans',sans-serif;font-weight:400;color:var(--navy-soft);font-size:12.5px;text-transform:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;}
  .ticker-suggest-region{font-size:10px;color:var(--muted);text-transform:uppercase;white-space:nowrap;}
  .ticker-suggest-empty{padding:10px 14px;font-size:12.5px;color:var(--muted);text-transform:none;}
  .command-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(min(100%, 280px), 1fr));gap:16px;}
  /* Explicit 2-column split (14 Aug 2026 pm) — left is the Sick of Gurus blended verdict,
     right stacks the guru picker directly above that guru's own verdict card, so
     "choose your guru" lives beside the card it feeds instead of floating centered
     above everything. Collapses to one column (search first, then guru picker,
     then both cards) under 900px. */
  .command-grid-cols{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:stretch;}
  .command-col-left,.command-col-right{display:flex;flex-direction:column;gap:16px;min-width:0;}
  .command-col-left > .card,.command-col-right > .card{flex:1;}
  @media(max-width:900px){
    .command-grid-cols{grid-template-columns:1fr;}
  }

  /* Last week's search-result face (1 Sep CRM): navy score header + cheap/fair/expensive scale. */
  .score-report{margin:0 0 16px;border:1px solid var(--line);background:var(--panel);overflow:hidden;}
  #scoreMosCard.score-report-head{
    background:var(--navy);color:var(--ink);border:0;border-top:0;
    display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px 48px;
    padding:28px 32px 30px;margin:0;align-items:start;
  }
  #scoreMosCard.score-report-head .sr-kicker{
    margin:0 0 8px;font-family:var(--mono);font-size:11px;font-weight:500;
    letter-spacing:0.2em;text-transform:uppercase;color:var(--gold-bright);
  }
  #scoreMosCard.score-report-head h2.sr-ticker{
    margin:0;font-family:var(--serif);font-weight:600;color:#fff;
    font-size:clamp(48px, 7vw, 76px);letter-spacing:0.01em;line-height:0.95;
  }
  #scoreMosCard.score-report-head .sr-meta{
    margin:10px 0 0;font-size:14.5px;line-height:1.45;color:rgba(232,226,214,0.78);max-width:36em;
  }
  #scoreMosCard.score-report-head .sr-head-right{text-align:right;min-width:220px;}
  #scoreMosCard.score-report-head .sr-score-row{display:flex;align-items:flex-start;justify-content:flex-end;gap:8px;}
  #scoreMosCard.score-report-head .dial-wrap{width:auto;height:auto;margin:0;position:relative;}
  #scoreMosCard.score-report-head svg.dial{display:none !important;}
  #scoreMosCard.score-report-head .dial-center{position:static;display:block;}
  #scoreMosCard.score-report-head .dial-center .num{
    display:inline-flex;align-items:center;justify-content:center;
    box-sizing:content-box;
    width:1.28em;height:1.28em;padding:0;margin:0;
    aspect-ratio:1;
    border:1px solid currentColor;border-radius:50%;
    font-size:clamp(40px, 5.4vw, 62px);line-height:1;letter-spacing:-0.03em;color:#5BA86A;
    font-variant-numeric:tabular-nums lining-nums;
  }
  #scoreMosCard.score-report-head.is-miss .dial-center .num{color:#D4B36A;}
  #scoreMosCard.score-report-head .dial-center .lbl{display:none;}
  #scoreMosCard.score-report-head .sr-score-info{
    width:18px;height:18px;font-size:10px;border-color:rgba(232,226,214,0.45);color:rgba(232,226,214,0.8);margin-top:10px;
  }
  #scoreMosCard.score-report-head .sr-pass{
    margin-top:10px;font-size:15px;font-weight:600;color:#5BA86A;line-height:1.35;
  }
  #scoreMosCard.score-report-head.is-miss .sr-pass{color:#D4B36A;}
  #scoreMosCard.score-report-head .sr-mos-line{
    margin-top:6px;font-size:14px;color:#5BA86A;font-weight:500;
  }
  #scoreMosCard.score-report-head.is-miss .sr-mos-line{color:var(--gold-bright);}
  #scoreMosCard.score-report-head .sr-gate-line{
    margin-top:4px;font-size:13.5px;color:#5BA86A;
  }
  #scoreMosCard.score-report-head.is-miss .sr-gate-line{color:rgba(232,226,214,0.72);}
  /* 24 Sep 2026 — the one plain-English verdict sentence. Serif italic, same
     voice as .hero-lead, so it reads as the desk speaking in a full sentence
     rather than another data-label line stacked with sr-pass/sr-mos-line. */
  #scoreMosCard.score-report-head .sr-plain-verdict{
    margin:14px 0 0;max-width:34em;font-family:var(--serif);font-style:italic;
    font-size:19px;line-height:1.4;color:#F4F0E6;
  }
  #scoreMosCard.score-report-head .sr-disclaimer{
    margin:10px 0 0;font-family:var(--sans);font-size:11px;letter-spacing:0.02em;
    color:rgba(232,226,214,0.62);
  }
  #scoreMosCard.score-report-head .sr-head-actions{
    margin-top:16px;display:flex;flex-direction:column;align-items:flex-end;gap:10px;
  }
  .sr-action{
    appearance:none;background:transparent;color:#fff;border:1px solid rgba(255,255,255,0.55);
    font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;
    padding:9px 16px;min-width:168px;cursor:pointer;
  }
  .sr-action:hover{background:rgba(255,255,255,0.08);}
  .sr-action.is-on{border-color:var(--gold-bright);color:var(--gold-bright);}
  .sr-print-link{
    appearance:none;background:none;border:0;padding:0;color:#fff;cursor:pointer;
    font-family:var(--sans);font-size:13px;text-decoration:underline;letter-spacing:0.02em;
  }
  .sr-print-link:hover{color:var(--gold-bright);}
  #buyExitCard.score-report-body{
    margin:0;padding:28px 32px 32px;border:0;border-top:0;
  }
  .sr-flags-live{margin:18px 0 0;border-top:1px solid var(--line);padding-top:14px;}
  .sr-legacy{display:none !important;}
  .sr-scale-kicker{
    margin:0 0 10px;font-family:var(--mono);font-size:11px;font-weight:500;
    letter-spacing:0.18em;text-transform:uppercase;color:var(--muted);
  }
  .sr-price-now{
    margin:0;font-family:var(--serif);font-size:clamp(26px, 3.2vw, 34px);font-weight:600;color:var(--navy);letter-spacing:0.01em;
  }
  .sr-scale-note{margin:10px 0 18px;font-size:14.5px;line-height:1.5;color:var(--navy-soft);max-width:42em;}
  .sr-scale{position:relative;margin:8px 0 8px;}
  .sr-scale-track{
    height:14px;border-radius:999px;
    background:linear-gradient(90deg,#16382D 0%,#1E4A3C 12%,#5A7464 32%,#C4A86A 58%,#8F3E2F 88%,#6E2F2A 100%);
    box-shadow:inset 0 0 0 1px rgba(10,22,40,0.18);position:relative;
  }
  .sr-scale-pin{
    position:absolute;top:50%;left:0;width:18px;height:18px;border-radius:50%;
    background:#fff;border:2px solid var(--navy);box-shadow:0 1px 4px rgba(5,13,22,0.28);
    transform:translate(0,-50%);z-index:2;
  }
  .sr-scale-labels{
    display:flex;justify-content:space-between;gap:12px;margin-top:10px;
    font-family:var(--mono);font-size:11.5px;color:var(--navy-soft);letter-spacing:0.01em;
  }
  .sr-scale-labels span{flex:1;}
  .sr-scale-labels span:nth-child(2){text-align:center;}
  .sr-scale-labels span:nth-child(3){text-align:right;}
  .sr-metrics{
    display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:22px;
  }
  .sr-metric{
    background:#fff;border:1px solid var(--line);padding:16px 14px 14px;min-width:0;
  }
  .sr-m-k{
    font-family:var(--mono);font-size:10.5px;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted);
    display:flex;align-items:center;gap:6px;margin-bottom:8px;
  }
  .sr-m-k .info-btn{width:15px;height:15px;font-size:9px;}
  .sr-m-v{font-family:var(--num);font-size:26px;font-weight:600;color:var(--navy);letter-spacing:-0.02em;line-height:1.1;word-break:break-word;}
  .sr-m-v.is-cheap,.sr-m-v.is-high{color:var(--sage);}
  .sr-m-v.is-dear{color:var(--red);}
  .sr-m-s{margin-top:6px;font-size:12.5px;color:var(--navy-soft);line-height:1.4;}
  .sr-band-key{
    margin-top:18px;padding-top:12px;border-top:1px solid var(--line);
    font-family:var(--mono);font-size:10.5px;line-height:1.8;color:var(--muted);
  }
  .sr-band-key b{color:var(--navy-soft);}
  .sr-band-key div{margin-top:6px;font-family:var(--sans);font-size:11.5px;letter-spacing:0;text-transform:none;color:var(--navy-soft);}
  /* 24 Sep 2026 — shared collapse chrome for the "everything else" content on
     Home: red flags, the score/bar methodology, six agents, news, guru take,
     track record, chart, money flows, earnings, statement history. Closed by
     default; the <summary> line is the entire zero-click cost of each. */
  details.sr-collapse,
  details.card-collapse{
    margin-top:14px;padding-top:14px;border-top:1px solid var(--line);
  }
  details.sr-collapse:first-of-type{margin-top:0;padding-top:0;border-top:0;}
  details.sr-collapse[hidden]{display:none;}
  details.sr-collapse > summary,
  details.card-collapse > summary{
    cursor:pointer;list-style:none;font-family:var(--sans);font-weight:600;
    font-size:14px;color:var(--navy);line-height:1.4;
  }
  details.sr-collapse > summary::-webkit-details-marker,
  details.card-collapse > summary::-webkit-details-marker{display:none;}
  details.sr-collapse > summary::before,
  details.card-collapse > summary::before{
    content:'+';display:inline-block;width:1.1em;font-family:var(--mono);
    color:var(--gold);font-weight:600;
  }
  details.sr-collapse[open] > summary::before,
  details.card-collapse[open] > summary::before{content:'\2212';}
  details.sr-collapse > summary #redFlagsCount{color:var(--red);font-weight:700;}
  details.sr-collapse > *:not(summary),
  details.card-collapse > *:not(summary){margin-top:12px;}
  /* card-collapse wraps a whole existing .card — the card's own border/margin
     stays on the inner element, the <details> itself is bare so it doesn't
     double up on borders/spacing between cards on the page. */
  details.card-collapse > summary{
    padding:16px 20px;background:#fff;border:1px solid var(--line);
  }
  details.card-collapse[open] > summary{border-bottom:0;}
  details.card-collapse > .card{margin-top:0 !important;border-top:0;}
  .sr-legacy{display:none !important;}
  body.desk-has-ticker #qualifiedBargainBanner{display:none !important;}
  body.desk-has-ticker .command-headline,
  body.desk-has-ticker .hero-lead,
  body.desk-has-ticker .hero-kicker,
  body.desk-has-ticker .hero-steps{display:none;}
  body.desk-has-ticker header.hero{padding:28px 0 20px;}
  body.desk-has-ticker #askAtlasFab{display:none !important;}
  #scoreMosCard.score-report-head:hover,
  #buyExitCard.score-report-body:hover{border-color:transparent;box-shadow:none;}
  @media(max-width:760px){
    #scoreMosCard.score-report-head{
      display:grid !important;
      grid-template-columns:minmax(0,1fr) auto !important;
      padding:18px 16px 20px;gap:10px 12px;
    }
    #scoreMosCard.score-report-head .sr-head-right{text-align:right;min-width:0;}
    #scoreMosCard.score-report-head .sr-score-row{justify-content:flex-end;}
    #scoreMosCard.score-report-head .sr-head-actions{align-items:flex-end;}
    #scoreMosCard.score-report-head h2.sr-ticker{font-size:clamp(34px, 11vw, 52px);}
    #scoreMosCard.score-report-head .dial-center .num{font-size:clamp(32px, 9vw, 44px);width:1.32em;height:1.32em;}
    .sr-action{width:auto;min-width:0;padding:7px 12px;}
    .sr-print-link{align-self:flex-end;}
    .sr-flags-live{margin-left:0;margin-right:0;}
    #buyExitCard.score-report-body{padding:18px 14px 22px;}
    .sr-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;}
    .sr-metric{padding:10px 8px 9px;}
    .sr-m-k{font-size:8.5px;letter-spacing:0.08em;margin-bottom:6px;line-height:1.25;}
    .sr-m-v{font-size:15px;}
    .sr-m-s{font-size:10.5px;margin-top:4px;}
    .sr-scale-labels{font-size:10.5px;flex-wrap:nowrap;gap:6px;}
    .sr-price-now{font-size:clamp(22px, 6vw, 28px);}
  }
  @media(max-width:480px){
    .sr-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;}
    .sr-m-v{font-size:14.5px;}
  }
  .card{background:var(--panel);border:1px solid var(--line);border-top:1px solid var(--gold);border-radius:0;padding:28px 26px;margin-bottom:16px;box-shadow:none;}
  .command-grid .card{margin-bottom:0;}
  .card h2{font-family:var(--serif);font-size:18px;font-weight:600;margin:0 0 3px;letter-spacing:0.01em;}
  .card .sub{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--muted);letter-spacing:0.04em;text-transform:uppercase;margin-bottom:14px;display:block;}

  .score-card{text-align:center;padding:26px 20px;}
  .dial-wrap{position:relative;width:150px;height:150px;margin:0 auto 12px;}
  svg.dial{transform:rotate(-90deg);}
  .dial-bg{fill:none;stroke:var(--line);stroke-width:8;}
  .dial-fg{fill:none;stroke:var(--gold);stroke-width:8;stroke-linecap:butt;transition:stroke-dasharray 0.5s ease;}
  .dial-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;}
  .dial-center .num{font-size:38px;letter-spacing:-0.03em;}
  /* 22 Aug 2026 — widened from .dial-center .lbl to a general rule: MARGIN OF
     SAFETY (now in the left card, previously always in scoreMosCard next to
     Score) uses the same .lbl class but sits outside .dial-center, so it
     was rendering completely unstyled (default body text) instead of matching
     ATLASAI SCORE's small-caps monospace look — a real text inconsistency
     between the two columns, not something this reorg introduced but worth
     fixing now that it's directly relevant to "does this look symmetric." */
  .lbl{font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:0.06em;margin-top:4px;text-transform:uppercase;}
  .num{font-family:var(--num);font-weight:600;color:var(--navy);font-variant-numeric:tabular-nums lining-nums;letter-spacing:-0.02em;font-synthesis:none;line-height:1;}
  .verdict{font-family:var(--serif);font-size:14.5px;font-weight:600;margin-top:4px;}
  .verdict.buy{color:var(--sage);}
  .verdict.watch{color:var(--gold);}
  .verdict.pass{color:var(--red);}
  .verdict.avoid{color:var(--red);}
  .subscore-row{display:flex;justify-content:space-between;padding:8px 0;border-top:1px solid var(--line);font-size:11.5px;text-align:left;}
  .subscore-row .n{font-family:'IBM Plex Mono',monospace;color:var(--gold);font-weight:600;}
  .flag-out{background:rgba(163,74,50,0.12);border:1px solid rgba(163,74,50,0.4);border-radius:2px;padding:8px 10px;font-size:11px;color:var(--red);margin-top:8px;text-align:left;}
  .flag-out-link{cursor:pointer;display:block;transition:opacity .15s ease;}
  .flag-out-link:hover{opacity:0.7;text-decoration:underline;}

  .zone-bar-wrap{margin-top:2px;overflow-x:clip;}
  .zone-bar{position:relative;height:16px;margin-top:46px;}
  .zone-bar-track{display:flex;height:12px;border-radius:0;overflow:hidden;border:1px solid rgba(10,22,40,0.18);box-shadow:none;}
  .zone-seg{position:relative;}
  .zone-brightgreen{background:linear-gradient(180deg,#3A6B58 0%,#1E4A3C 58%,#16382D 100%);}
  .zone-green{background:linear-gradient(180deg,#7A9484 0%,#5A7464 58%,#456054 100%);}
  .zone-yellow{background:linear-gradient(180deg,#D8CFA0 0%,#C4B070 55%,#8A8260 100%);}
  .zone-red{background:linear-gradient(180deg,#8A3A48 0%,#7A2A3A 58%,#5A1E2C 100%);}
  .zone-marker{position:absolute;top:-4px;width:1px;height:20px;background:var(--gold-bright);border-radius:0;transition:left 0.3s ease;z-index:3;pointer-events:none;}
  .zone-marker::before{content:'';position:absolute;top:-7px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:7px solid var(--gold-bright);}
  .zone-marker::after{content:"Today's price";position:absolute;top:-34px;left:50%;transform:translateX(-50%);font-size:9px;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;color:var(--paper);background:var(--navy);padding:4px 9px;white-space:nowrap;font-family:var(--mono);border:1px solid var(--gold-bright);border-radius:0;}
  .zone-bar-caption{font-size:11.5px;color:var(--navy-soft);margin-top:10px;line-height:1.45;max-width:520px;}
  .zone-labels{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;letter-spacing:0.04em;color:var(--muted);margin-top:8px;font-variant-numeric:tabular-nums;}
  .zone-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:11.5px;color:var(--navy-soft);margin-top:6px;font-family:var(--mono);letter-spacing:0.04em;}
  .zone-legend-item{display:flex;align-items:center;gap:6px;}
  .zone-legend-dot{width:9px;height:9px;border-radius:0;display:inline-block;border:1px solid rgba(5,13,22,0.22);box-sizing:border-box;}
  .zone-legend-dot.bargain{background:var(--zone-bargain);}
  .zone-legend-dot.cheap{background:var(--zone-cheap);}
  .zone-legend-dot.fair{background:var(--zone-fair);}
  .zone-legend-dot.expensive{background:var(--zone-expensive);}
  .zone-marker-key{font-family:'IBM Plex Mono',monospace;font-size:9px;color:var(--muted);margin-top:6px;text-align:center;}
  .zone-callout{border-radius:0;padding:10px 12px;margin-top:10px;background:var(--panel);border:1px solid var(--line);transition:background .2s,border-color .2s;}
  .zone-callout-buy.zone-callout-active{background:rgba(30,74,60,0.08);border-color:rgba(30,74,60,0.45);}
  .zone-callout-exit.zone-callout-active{background:rgba(110,47,42,0.08);border-color:rgba(110,47,42,0.45);}
  .zc-title{font-family:var(--serif);font-weight:600;font-size:12.5px;color:var(--navy);margin-bottom:2px;}
  .zone-callout-buy .zc-range{color:var(--zone-bargain);} .zone-callout-exit .zc-range{color:var(--zone-expensive);}
  .zc-range{font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:600;}
  .zc-price{font-family:var(--num);font-size:20px;font-weight:600;margin:4px 0;font-variant-numeric:tabular-nums lining-nums;letter-spacing:-0.02em;}
  .zone-callout-buy .zc-price{color:var(--zone-bargain);}
  .zone-callout-exit .zc-price{color:var(--zone-expensive);}

  .trigger-badge-row{display:flex;flex-direction:column;gap:10px;margin-top:18px;}
  .trigger-badge{flex:1;min-width:180px;display:flex;align-items:flex-start;gap:12px;padding:16px 18px;border-radius:0;background:var(--panel);border:1px solid var(--line);border-left:2px solid var(--line);transition:background .2s,border-color .2s;}
  .trigger-badge-buy{border-left-color:var(--zone-bargain);}
  .trigger-badge-exit{border-left-color:var(--zone-expensive);}
  .trigger-badge-buy.zone-callout-active{background:rgba(30,74,60,0.07);border-color:rgba(30,74,60,0.4);border-left-color:var(--zone-bargain);}
  .trigger-badge-exit.zone-callout-active{background:rgba(110,47,42,0.07);border-color:rgba(110,47,42,0.4);border-left-color:var(--zone-expensive);}
  .trigger-badge-dot{width:8px;height:8px;border-radius:0;margin-top:8px;flex-shrink:0;}
  .trigger-badge-dot.buy{background:var(--zone-bargain);}
  .trigger-badge-dot.exit{background:var(--zone-expensive);}
  .trigger-badge-price{font-family:var(--num);font-size:20px;font-weight:600;line-height:1.3;font-variant-numeric:tabular-nums lining-nums;letter-spacing:-0.02em;color:var(--navy);}
  .trigger-badge-buy .trigger-badge-price{color:var(--zone-bargain);}
  .trigger-badge-exit .trigger-badge-price{color:var(--zone-expensive);}
  .trigger-badge-status{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--muted);margin-top:5px;letter-spacing:0.02em;}

  /* Score & Margin of Safety card — stacked layout matching the Screener card
     shape (17 Aug 2026), replacing the old 2-column atlas-mini-grid here. */
  .score-mos-stack{display:flex;flex-direction:column;gap:14px;}
  .score-mos-block > .num{font-size:36px;margin:6px 0 4px;}
  .score-mos-block{text-align:center;min-width:0;}
  .score-mos-block .slider-row{text-align:left;}

  .price-readout{display:flex;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:2px;overflow:hidden;}
  .price-readout-item{flex:1;background:var(--panel);padding:18px 20px;position:relative;}
  /* Base label look (monospace, uppercase, small, muted) — applies to EVERY
     .pr-lbl regardless of nesting, so both "CURRENT PRICE (V)" and "Est.
     intrinsic value" always render identically. Bug fix (23 Aug 2026, 4th pass,
     reported: Est. Intrinsic Value's label lost its bold-monospace-uppercase
     look and looked like plain text) — the 3rd-pass fix below narrowed this rule
     to `.price-readout-item > .pr-lbl` (direct child only) so it could carry a
     min-height without also applying that height to the nested label inside
     .pr-lbl-row — but that same narrowing accidentally excluded the NESTED
     label from the whole rule, including the parts that were never meant to
     change (font/case/color). Split back into two rules: this one keeps the
     shared look on every .pr-lbl, the next one adds min-height only where it's
     actually needed. */
  .price-readout .pr-lbl{display:block;font-family:'IBM Plex Mono',monospace;font-weight:700;font-size:10.5px;line-height:14px;color:var(--muted);text-transform:uppercase;letter-spacing:0.04em;margin-bottom:5px;}
  /* 23 Aug 2026 (3rd pass, reported: Est. Intrinsic Value's number still sits one
     line lower than Current Price's — because "EST. INTRINSIC VALUE" + the info
     button wraps to 2 lines on narrower screens/viewports while "CURRENT PRICE
     (V)" fits on 1, so the two label areas end up different heights depending on
     viewport width) — both label areas now reserve the SAME fixed height
     (min-height:28px, room for up to 2 lines of this 10.5px label) regardless of
     whether their own text actually wraps or not. That's a floor, not a fixed
     crop: if a label only needs 1 line, the extra space just sits empty below it
     — but the number that follows always starts at the same offset either way,
     on mobile AND desktop, without depending on guessing the exact width where
     wrapping does or doesn't kick in. Scoped to the direct-child case only
     (Current Price's plain label) — the .pr-lbl-row case gets its own min-height
     on the row itself, just below, so the nested label inside it isn't also
     forced to reserve height on top of its row already doing so. */
  .price-readout-item > .pr-lbl{min-height:28px;box-sizing:border-box;}
  /* 23 Aug 2026 — for the one price-readout-item whose label sits next to an
     info-btn (Est. Intrinsic Value): a real flex row instead of absolute
     positioning. Absolute positioning ignored how long the label text was and
     just sat at a fixed corner offset, so on narrower screens (or a longer label)
     it landed on top of the last letters of "VALUE" instead of past them.
     Flexbox naturally keeps the button clear of the text — pr-lbl and the button
     share the row and never overlap, at any width. Hugs the label with a small
     gap (not space-between/pinned-far-right) to match the same "label, tiny gap,
     icon" pattern already used everywhere else on this page (e.g. "Sick of Gurus
     Screener ⓘ" right after its own heading) — consistent placement, not a new
     visual pattern just for this one spot. min-height:28px matches the plain
     label's reserved height above (same reasoning, same number) so both columns'
     numbers start at the same offset whether or not this row's own text wraps. */
  .pr-lbl-row{display:flex;align-items:flex-start;gap:6px;margin-bottom:5px;min-height:28px;box-sizing:border-box;}
  /* Slightly smaller than the default .info-btn here specifically — this label is
     10.5px, much smaller than the h2 headings the default 19px size was tuned for,
     so a smaller badge keeps this row's height close to Current Price's label row
     (no button there), instead of visibly taller and nudging the two dollar
     figures out of alignment again. */
  .pr-lbl-row .info-btn{width:15px;height:15px;font-size:9.5px;border-width:1.2px;flex-shrink:0;margin-top:1px;}
  .pr-lbl-row .pr-lbl{margin-bottom:0;min-height:0;}
  .price-readout .pr-val{font-family:var(--num);font-size:30px;font-weight:600;color:var(--navy);font-variant-numeric:tabular-nums lining-nums;letter-spacing:-0.02em;line-height:1.15;font-synthesis:none;}
  .iv-face-conf{
    display:inline-block;margin:6px 0 0;padding:3px 8px;
    font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:0.06em;
    text-transform:uppercase;border:1px solid var(--line);color:var(--navy-soft);
  }
  .iv-face-conf.is-high{border-color:var(--zone-bargain);color:var(--zone-bargain);}
  .iv-face-conf.is-mod{border-color:var(--gold);color:var(--navy);}
  .iv-face-conf.is-wide,.iv-face-conf.is-lim{border-color:var(--muted);color:var(--muted);}

  .trigger-row{margin-top:12px;}
  .trigger-row .lbl-row{display:flex;justify-content:space-between;font-size:11.5px;margin-bottom:4px;}
  .trigger-row .lbl-row b{color:var(--navy);}
  .trigger-row .lbl-row span.val{font-family:'IBM Plex Mono',monospace;font-weight:700;}
  .trigger-row input[type=range]{width:100%;}
  #buyTrigger{accent-color:var(--zone-bargain);}
  #exitTrigger{accent-color:var(--zone-expensive);}
  .zone-trigger{position:absolute;top:-1px;width:1px;height:14px;border-radius:0;z-index:2;}
  .zone-trigger-buy{background:var(--zone-bargain);}
  .zone-trigger-exit{background:var(--zone-expensive);}
  .zone-trigger::before{content:'';position:absolute;top:-6px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;}
  .zone-trigger-buy::before{border-top:6px solid var(--zone-bargain);}
  .zone-trigger-exit::before{border-top:6px solid var(--zone-expensive);}
  .zone-trigger::after{position:absolute;top:-22px;font-size:8.5px;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;white-space:nowrap;font-family:var(--mono);}
  .zone-trigger-buy::after{content:'Cheap zone';color:var(--zone-bargain);left:6px;transform:none;}
  .zone-trigger-exit::after{content:'Expensive zone';color:var(--zone-expensive);left:auto;right:6px;transform:none;}

  /* CHART — desk terminal, not a default widget */
  .chart-head{
    display:flex;justify-content:space-between;align-items:flex-end;gap:16px 28px;flex-wrap:wrap;
    margin-bottom:2px;
  }
  .chart-head h2{margin:0;}
  .chart-head .sub{display:block;margin-top:4px;max-width:36em;}
  .chart-readout{
    display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;
    font-family:var(--mono);text-align:right;
  }
  .chart-readout[hidden]{display:none;}
  .chart-readout-tk{
    font-size:12px;letter-spacing:0.16em;text-transform:uppercase;color:var(--gold);font-weight:600;
  }
  .chart-readout-px{
    font-family:var(--serif);font-size:28px;font-weight:600;color:var(--navy);letter-spacing:0.01em;line-height:1;
  }
  .chart-readout-chg{font-size:13px;font-weight:600;letter-spacing:0.02em;}
  .chart-readout-chg.up{color:var(--zone-bargain);}
  .chart-readout-chg.down{color:var(--zone-expensive);}
  .chart-toolbar{
    display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;
    margin:14px 0 0;
  }
  .chart-ranges{
    display:inline-flex;flex-wrap:wrap;border:1px solid var(--line);background:var(--paper);
  }
  .chart-range-btn{
    appearance:none;border:0;background:transparent;margin:0;
    font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:0.10em;text-transform:uppercase;
    color:var(--muted);padding:8px 12px;cursor:pointer;border-right:1px solid var(--line);
  }
  .chart-range-btn:last-child{border-right:0;}
  .chart-range-btn:hover{color:var(--navy);}
  .chart-range-btn.is-on{background:var(--navy);color:var(--paper);}
  @media (max-width: 560px){
    .chart-range-btn{padding:8px 9px;letter-spacing:0.06em;font-size:10px;}
  }
  .chart-legend{
    display:flex;gap:16px;align-items:center;padding:0;
    font-family:var(--mono);font-size:11px;color:var(--muted);border:0;
  }
  .chart-legend .lg-item{display:flex;align-items:center;gap:6px;}
  .chart-legend .lg-swatch{width:9px;height:9px;border-radius:1px;}
  .chart-legend .lg-swatch.up{background:var(--zone-bargain);}
  .chart-legend .lg-swatch.down{background:var(--zone-expensive);}
  .chart-legend .lg-swatch.marker{background:var(--gold-bright);border-radius:50%;width:7px;height:7px;}
  .chart-wrap{
    margin-top:10px;border:1px solid var(--line);background:var(--panel);overflow:hidden;max-width:100%;min-width:0;
  }
  .chart-stage{
    position:relative;
    background:linear-gradient(180deg, rgba(5,13,22,0.02) 0%, transparent 56px), var(--panel);
  }
  .chart-hud{
    position:absolute;top:12px;left:14px;z-index:3;pointer-events:none;
    font-family:var(--mono);font-size:12px;line-height:1.45;color:var(--navy);
    background:rgba(252,252,250,0.9);border:1px solid rgba(5,13,22,0.06);
    padding:8px 11px;letter-spacing:0.02em;max-width:calc(100% - 28px);
  }
  .chart-hud[hidden]{display:none;}
  .chart-hud .hud-d{color:var(--muted);margin-right:10px;}
  .chart-hud .hud-k{color:var(--muted);font-size:10px;letter-spacing:0.1em;font-weight:600;margin-right:3px;}
  .chart-hud .hud-up{color:var(--zone-bargain);}
  .chart-hud .hud-dn{color:var(--zone-expensive);}
  .chart-retry{
    appearance:none;border:0;background:none;padding:0;margin-left:6px;cursor:pointer;
    font-family:var(--sans);font-size:12.5px;font-weight:600;color:var(--gold);text-decoration:underline;
  }
  #chartContainer{width:100%;height:380px;min-width:0;}
  @media(min-width:1440px){
    #chartContainer{height:460px;}
    .chart-readout-px{font-size:32px;}
  }
  @media(min-width:1920px){
    #chartContainer{height:520px;}
  }
  @media(max-width:640px){
    .chart-head{align-items:flex-start;}
    .chart-readout{text-align:left;}
    .chart-readout-px{font-size:24px;}
    .chart-legend{width:100%;}
    #chartContainer{height:320px;}
    .chart-toolbar{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;}
    .chart-ranges{flex-wrap:nowrap;}
  }
  .tr-table{width:100%;border-collapse:collapse;font-size:12.5px;}
  .tr-table th,.tr-table td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--line);}
  .tr-table th{color:var(--navy-soft);font-weight:600;text-transform:uppercase;font-size:10.5px;letter-spacing:.03em;}
  .chart-empty{color:var(--muted);font-size:12.5px;padding:60px 0;text-align:center;}
  .alert-list{display:flex;flex-direction:column;gap:0;margin-top:8px;border-top:1px solid var(--line);}
  .alert-card{background:transparent;border:none;border-bottom:1px solid var(--line);border-radius:0;padding:16px 0 14px;}
  .alert-card.kind-yes,.alert-card.kind-no,.alert-card.kind-mid{border-left:none;}
  .alert-card-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;}
  .alert-card .tk{font-family:var(--serif);font-size:22px;font-weight:600;color:var(--navy);background:none;border:none;cursor:pointer;padding:0;letter-spacing:0.02em;}
  .alert-card .tk:hover{color:var(--gold);}
  .alert-chip{font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;padding:3px 0;white-space:nowrap;background:none;}
  .alert-chip.yes{color:#2E6B34;}
  .alert-chip.no{color:#A3382B;}
  .alert-chip.mid{color:#8C7344;}
  .alert-meta{font-family:var(--mono);font-size:11.5px;color:var(--navy-soft);margin-top:6px;letter-spacing:0.02em;}
  .alert-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 18px;margin:10px 0 0;max-width:32em;}
  .alert-metrics div{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:4px 0;}
  .alert-metrics dt{font-family:var(--mono);font-size:10.5px;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);}
  .alert-metrics dd{margin:0;font-size:13px;font-weight:600;color:var(--navy);text-align:right;}
  @media(max-width:560px){.alert-metrics{grid-template-columns:1fr;}}
  .alert-why{font-family:var(--serif);font-size:15px;line-height:1.45;color:var(--navy);margin:8px 0 0;max-width:36em;}
  .alert-date{font-size:11.5px;color:var(--muted);}
  .alerts-legend{max-width:640px;margin:6px 0 18px;}
  .alerts-legend .lg-row{display:flex;gap:14px;align-items:baseline;margin:0 0 8px;font-size:13.5px;line-height:1.45;color:var(--navy-soft);}
  .alerts-legend .lg-row .alert-chip{flex:0 0 auto;min-width:9.5em;}
  .alerts-email-note{max-width:640px;margin:0 0 22px;font-size:13px;color:var(--muted);line-height:1.5;}
  .phone-alerts-box{max-width:640px;margin:0 0 32px;padding:18px 0 8px;border-top:1px solid var(--line);}
  .phone-alerts-btn{background:transparent;color:var(--navy);border:1px solid var(--navy);padding:10px 16px;font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;cursor:pointer;margin-top:12px;}
  .phone-alerts-btn:hover{background:var(--navy);color:var(--paper);}
  .phone-alerts-btn.is-on{border-color:var(--sage);color:var(--sage);}
  .alert-chip.up{color:var(--sage);}
  .alert-chip.down{color:var(--red);}
  @media(max-width:600px){
    .alerts-legend .lg-row{flex-direction:column;gap:2px;margin-bottom:12px;}
    .alerts-legend .lg-row .alert-chip{min-width:0;}
  }

  /* LATEST NEWS card (20 Aug 2026) */
  .news-item{padding:11px 0;border-bottom:1px solid var(--line);}
  .news-item:last-child{border-bottom:none;}
  .news-title{display:block;font-size:13px;font-weight:600;color:var(--navy);line-height:1.4;text-decoration:none;}
  .news-title:hover{color:var(--gold);}
  .news-meta{display:flex;align-items:center;gap:8px;margin-top:4px;font-family:'IBM Plex Mono',monospace;font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:0.03em;}
  .news-sentiment{padding:1px 7px;border-radius:0;font-size:9.5px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;}
  .news-sentiment.bullish{background:rgba(46,125,92,0.14);color:var(--sage);}
  .news-sentiment.bearish{background:rgba(163,74,50,0.14);color:var(--red);}
  .news-sentiment.neutral{background:var(--line);color:var(--navy-soft);}
  .reason-panel{
    margin-top:0;background:var(--paper);border:0;border-top:1px solid var(--line);
    border-radius:0;padding:18px 20px 16px;
  }
  .reason-panel .rp-kicker{
    display:block;font-family:var(--mono);font-size:10px;letter-spacing:0.16em;text-transform:uppercase;
    color:var(--gold);margin-bottom:6px;
  }
  .reason-panel .rp-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px;gap:12px;}
  .reason-panel .rp-date{font-family:var(--serif);font-weight:600;font-size:18px;color:var(--navy);}
  .reason-panel .rp-change{font-family:var(--mono);font-weight:700;font-size:14px;}
  .reason-panel .rp-change.up{color:var(--zone-bargain);}
  .reason-panel .rp-change.down{color:var(--zone-expensive);}
  .reason-panel .rp-news{border-top:1px solid var(--line);padding-top:10px;margin-top:10px;}
  .reason-panel .rp-news-item{margin-bottom:10px;font-size:13px;line-height:1.45;}
  .reason-panel .rp-news-item a{color:var(--navy);font-weight:600;text-decoration:none;}
  .reason-panel .rp-news-item a:hover{color:var(--gold);}
  .reason-panel .rp-news-item .src{color:var(--muted);font-family:var(--mono);font-size:11px;}
  .reason-panel .rp-none{color:var(--muted);font-size:13px;font-style:italic;}

  /* EARNINGS REPORTS — per-ticker calendar + history */
  .er-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0 18px;padding:0 0 16px;border-bottom:1px solid var(--line);}
  @media(max-width:720px){
    .er-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;}
    .er-kpis .er-kpi .k{font-size:8.5px;}
    .er-kpis .er-kpi .v{font-size:14px;}
  }
  .er-kpis .er-kpi .k{font-family:var(--mono);font-size:10.5px;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;}
  .er-kpis .er-kpi .v{font-family:var(--serif);font-size:22px;font-weight:600;color:var(--navy);line-height:1.15;}
  .er-kpis .er-kpi .s{font-size:12px;color:var(--navy-soft);margin-top:4px;line-height:1.4;}
  .er-kpis .er-kpi .v.up{color:var(--zone-bargain);}
  .er-kpis .er-kpi .v.dn{color:var(--zone-expensive);}
  .er-surprise{margin:0 0 16px;}
  .er-surprise .er-leg{font-family:var(--mono);font-size:10.5px;letter-spacing:0.1em;text-transform:uppercase;color:var(--gold);margin:0 0 10px;}
  .er-surprise-chart{display:flex;align-items:flex-end;gap:8px;min-height:92px;height:auto;padding:4px 2px 0;border-bottom:1px solid var(--line);overflow-x:auto;overflow-y:hidden;width:100%;max-width:100%;min-width:0;-webkit-overflow-scrolling:touch;}
  .er-s-col{flex:0 0 auto;width:36px;min-width:28px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-height:92px;}
  .er-s-bar{width:100%;max-width:36px;min-height:3px;background:var(--zone-bargain);}
  .er-s-bar.dn{background:var(--zone-expensive);}
  .er-s-val{font-family:var(--mono);font-size:10.5px;font-weight:600;margin-bottom:4px;color:var(--navy);}
  .er-s-val.dn{color:var(--zone-expensive);}
  .er-s-yr{font-family:var(--mono);font-size:10px;color:var(--muted);margin-top:6px;white-space:nowrap;}
  .er-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -4px;}
  .er-table{width:100%;border-collapse:collapse;font-size:13px;min-width:640px;}
  .er-table th{font-family:var(--mono);font-size:10.5px;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);font-weight:600;text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);}
  .er-table td{padding:10px;border-bottom:1px solid var(--line);color:var(--navy);vertical-align:baseline;white-space:nowrap;}
  .er-table tr.is-next td{background:rgba(226,214,174,0.08);}
  .er-table .er-date{font-family:var(--serif);font-weight:600;font-size:15px;}
  .er-table .er-period{font-family:var(--mono);font-size:12px;color:var(--navy-soft);}
  .er-table .er-pair{font-family:var(--mono);font-variant-numeric:tabular-nums;}
  .er-table .up{color:var(--zone-bargain);font-weight:600;}
  .er-table .dn{color:var(--zone-expensive);font-weight:600;}
  .er-table .muted{color:var(--muted);}
  .er-note{font-size:12.5px;color:var(--navy-soft);line-height:1.55;margin:12px 0 0;max-width:52em;}

  /* SERVICES */
  .services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
  @media(max-width:820px){.services-grid{grid-template-columns:1fr;}}
  .tier-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0 8px;}
  @media(max-width:820px){.tier-grid{grid-template-columns:1fr;}}
  .tier-card{border:1px solid var(--line);border-top:1px solid var(--gold);background:var(--panel);padding:18px 18px 16px;}
  .tier-card h3{margin:4px 0 10px;font-size:18px;color:var(--navy);}
  .tier-card ul{margin:0 0 12px;padding-left:18px;color:var(--navy-soft);font-size:13.5px;line-height:1.5;}
  .tier-card li{margin:0 0 6px;}
  .tier-card p{margin:0;font-size:12.5px;color:var(--muted);line-height:1.5;}
  .tier-card a{color:var(--gold);font-weight:600;}
  .service-card{background:var(--panel);border:1px solid var(--line);border-top:1px solid var(--gold);border-radius:0;padding:20px;box-shadow:none;}
  .service-card h3{font-family:var(--serif);font-size:16px;margin:0 0 6px;}
  .service-card p{font-size:13px;color:var(--muted);margin:0 0 10px;line-height:1.5;}
  .service-card a{font-size:12px;font-weight:600;color:var(--gold);text-decoration:none;}

  /* TOP PICKS (PREMIUM) */
  #top-picks{padding:40px 0 8px;}
  .picks-hook{font-family:var(--serif);font-style:italic;font-size:17px;color:var(--navy-soft);margin:0 0 10px;}
  .picks-hook b{font-style:normal;color:var(--gold);font-weight:600;}
  .picks-locked{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:2px;overflow:visible;box-shadow:var(--shadow);}
  .picks-blur{display:none;}
  .pick-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);font-family:'IBM Plex Mono',monospace;}
  .pick-row:last-child{border-bottom:none;}
  .pick-tkr{font-family:var(--serif);font-weight:700;font-size:16px;color:var(--navy);letter-spacing:2px;}
  .pick-score{color:var(--gold);font-weight:700;font-size:15px;}
  .pick-verdict{color:var(--sage);font-size:11px;text-transform:uppercase;letter-spacing:0.04em;}
  .picks-overlay{
    position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;
    background:var(--panel);text-align:center;padding:36px 28px 40px;
  }
  .lock-icon{width:22px;height:16px;margin:14px auto 16px;border:1.5px solid var(--gold);position:relative;background:transparent;}
  .lock-icon::before{content:'';position:absolute;left:50%;top:-11px;width:12px;height:10px;margin-left:-6px;border:1.5px solid var(--gold);border-bottom:none;border-radius:9px 9px 0 0;box-sizing:border-box;}
  .lock-icon::after{content:'';position:absolute;left:50%;top:5px;width:3px;height:3px;margin-left:-1.5px;border-radius:50%;background:var(--gold);}
  .picks-price{font-family:var(--num);font-weight:600;font-size:32px;color:var(--navy);font-variant-numeric:tabular-nums;}
  .picks-price span{font-size:14px;font-weight:400;color:var(--muted);font-family:'IBM Plex Sans',sans-serif;}
  .picks-overlay p{max-width:320px;font-size:12.5px;color:var(--navy-soft);margin:8px 0 16px;line-height:1.5;}

  /* WHY / MANIFESTO (trimmed) */
  section.manifesto{padding:40px 0 8px;}
  .why-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:2px;overflow:hidden;margin-bottom:8px;}
  @media(max-width:720px){.why-grid{grid-template-columns:1fr;}}
  .why-card{background:var(--panel);padding:18px 20px;}
  .why-card .n{font-family:var(--serif);font-size:11px;color:var(--gold);font-weight:600;margin-bottom:5px;}
  .why-card h3{font-family:var(--serif);font-size:14.5px;font-weight:600;margin:0 0 5px;}
  .why-card p{font-size:12px;color:var(--muted);margin:0;line-height:1.5;}
  .vs-compare-wrap{overflow-x:auto;margin-top:18px;border:1px solid var(--line);background:var(--panel);}
  .vs-compare{width:100%;border-collapse:collapse;font-size:12.5px;}
  .vs-compare th,.vs-compare td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top;line-height:1.45;}
  .vs-compare thead th{font-family:var(--serif);font-size:13px;background:var(--paper);color:var(--navy);}
  .vs-compare tbody th{width:18%;color:var(--gold);font-weight:700;white-space:nowrap;}
  .vs-compare td:nth-child(2){font-weight:600;color:var(--navy);}
  .vs-compare tbody tr:last-child th,.vs-compare tbody tr:last-child td{border-bottom:0;}
  @media(max-width:640px){.vs-compare{font-size:11.5px;}.vs-compare tbody th{white-space:normal;}}
  .vs-strip{display:flex;flex-wrap:wrap;gap:12px;background:var(--navy);color:var(--paper);border-radius:2px;padding:18px 20px;margin-top:14px;}
  .vs-strip .item{flex:1;min-width:150px;}
  .vs-strip .item .k{font-family:'IBM Plex Mono',monospace;font-size:9.5px;color:var(--gold-bright);letter-spacing:0.05em;text-transform:uppercase;margin-bottom:3px;}
  .vs-strip .item .v{font-size:12px;color:rgba(251,250,246,0.85);}

  /* SCREENER */
  section#screener{padding:40px 0 8px;}
  .screener-table-wrap{overflow-x:auto;overflow-y:auto;max-height:68vh;background:var(--panel);border:1px solid var(--line);border-radius:2px;box-shadow:var(--shadow);
    /* 24 Aug 2026 ("cand incarci 500 de actiuni... trebuie sa dai scroll o gramada
       jos") — was overflow-x:auto only, so with hundreds of rows the horizontal
       scrollbar sat at the very bottom of a page-length-tall table, unreachable
       without scrolling all the way down first. Capping the wrapper's height and
       adding overflow-y:auto makes it its own scroll box: the horizontal
       scrollbar is now always right under the visible rows (a few hundred
       pixels away, not thousands), the sticky header below stays pinned within
       THIS box while scrolling vertically, and the always-visible scrollbar
       styling below (instead of thin/auto-hiding) makes both scrollbars easy to
       grab without hunting for them. */
    scrollbar-width:auto; scrollbar-color:var(--muted) var(--paper);}
  .screener-table-wrap::-webkit-scrollbar{width:12px;height:12px;}
  .screener-table-wrap::-webkit-scrollbar-track{background:var(--paper);}
  .screener-table-wrap::-webkit-scrollbar-thumb{background:var(--line);border-radius:2px;border:2px solid var(--paper);}
  .screener-table-wrap::-webkit-scrollbar-thumb:hover{background:var(--muted);}
  table.screener{width:100%;border-collapse:collapse;font-size:12px;min-width:920px;}
  table.screener th{text-align:left;font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:0.06em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--gold);padding:9px 8px;background:var(--paper);position:sticky;top:0;white-space:normal;line-height:1.28;hyphens:auto;}
  table.screener td{padding:6px 8px;border-bottom:1px solid var(--line);}
  table.screener input{width:72px;padding:5px 6px;border:1px solid var(--line);border-radius:2px;font-family:'IBM Plex Mono',monospace;font-size:12px;}
  table.screener input.tkr-input{width:66px;text-transform:uppercase;font-weight:600;}
  /* Default watchlist columns (ticker + live metrics + score) should fill a
     wide rail instead of forcing a horizontal scrollbar while cream margins
     sit empty on an iMac. Keep the 920px floor on laptops; custom 500-col
     layouts still scroll inside .screener-table-wrap. */
  @media(min-width:1440px){
    table.screener{min-width:0;width:100%;}
    table.screener th, table.screener td{padding:8px 7px;}
    table.screener input{width:68px;}
    table.screener input.tkr-input{width:72px;}
  }
  @media(min-width:1920px){
    table.screener{font-size:13px;}
    table.screener th{font-size:9.5px;letter-spacing:0.05em;}
    table.screener th, table.screener td{padding:9px 8px;}
    table.screener input{width:76px;}
  }
  table.screener td.result{font-family:'IBM Plex Mono',monospace;font-weight:600;}
  table.screener td.result.good{color:var(--sage);}
  table.screener td.result.bad{color:var(--red);}
  table.screener td.result.mid{color:var(--gold);}
  table.screener .del-row{background:none;border:none;color:var(--muted);cursor:pointer;font-size:14px;}
  .screener-controls{display:flex;gap:10px;padding:14px 4px 0;flex-wrap:wrap;}
  .screener-note{font-size:11px;color:var(--muted);margin-top:10px;line-height:1.5;}
  .watchlist-insight{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:2px;padding:12px 14px;margin-top:10px;}
  .watchlist-insight.aligned{border-left-color:var(--sage);}
  .watchlist-insight.misaligned{border-left-color:var(--red);}
  .watchlist-insight .wi-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:5px;}
  .watchlist-insight .wi-ticker{font-family:var(--serif);font-weight:700;font-size:14px;color:var(--navy);}
  .watchlist-insight .wi-verdict{font-family:'IBM Plex Mono',monospace;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:0.03em;}
  .watchlist-insight.aligned .wi-verdict{color:var(--sage);}
  .watchlist-insight.misaligned .wi-verdict{color:var(--red);}
  .watchlist-insight p{font-size:12px;color:var(--navy-soft);margin:4px 0;line-height:1.55;}
  .watchlist-insight p b{color:var(--navy);}

  /* GURU HOLDINGS */
  section#guru-holdings{padding:40px 0 8px;}
  .guru-table-wrap{overflow-x:auto;background:var(--panel);border:1px solid var(--line);border-radius:2px;box-shadow:var(--shadow);}
  table.guru{width:100%;border-collapse:collapse;font-size:12.5px;}
  table.guru th{text-align:left;font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--gold);padding:9px 12px;}
  table.guru td{padding:10px 12px;border-bottom:1px solid var(--line);}
  table.guru td.investor{font-family:var(--serif);font-weight:600;color:var(--navy);}
  .guru-disclaimer{background:rgba(163,74,50,0.12);border:1px solid rgba(163,74,50,0.4);border-radius:2px;padding:10px 14px;font-size:11.5px;color:var(--navy-soft);margin-top:12px;line-height:1.6;}
  .guru-disclaimer a{color:var(--gold);font-weight:600;}

  /* GURU MODE */
  #guru-mode{padding:40px 0 8px;}
  .guru-roster{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;}
  @media(max-width:900px){.guru-roster{grid-template-columns:repeat(3,1fr);}}
  @media(max-width:560px){.guru-roster{grid-template-columns:repeat(2,1fr);}}
  .guru-card{
    background:var(--navy);border-radius:2px;padding:16px 10px 14px;text-align:center;cursor:pointer;
    border:2px solid transparent;transition:transform 0.15s ease, border-color 0.15s ease;position:relative;overflow:hidden;
  }
  .guru-card:hover{transform:none;border-color:rgba(226,214,174,0.55);}
  .guru-card.selected{border-color:var(--gold-bright);box-shadow:0 0 0 3px rgba(176,138,66,0.3);}
  .guru-card .emblem{
    width:56px;height:56px;border-radius:50%;margin:0 auto 8px;display:flex;align-items:center;justify-content:center;
    font-family:var(--serif);font-weight:700;font-size:20px;color:#fff;border:2px solid rgba(255,255,255,0.35);
  }
  .guru-card .g-name{font-family:var(--serif);font-weight:700;font-size:12.5px;color:#fff;line-height:1.25;margin-bottom:2px;}
  .guru-card .g-power{font-family:'IBM Plex Mono',monospace;font-size:9px;color:var(--gold-bright);text-transform:uppercase;letter-spacing:0.03em;}
  .guru-card .g-check{
    position:absolute;top:8px;right:8px;width:16px;height:16px;border-radius:50%;background:var(--gold-bright);
    color:var(--ink);font-size:10px;font-weight:700;display:none;align-items:center;justify-content:center;
  }
  .guru-card.selected .g-check{display:flex;}

  .guru-fight-bar{display:flex;align-items:center;gap:14px;margin-top:22px;flex-wrap:wrap;}
  .guru-selected-label{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--muted);}
  .guru-verdict-panel{
    margin-top:20px;background:var(--panel);border:2px solid var(--navy);border-radius:2px;padding:24px;
    box-shadow:var(--shadow);
  }
  .gv-head{display:flex;align-items:center;gap:14px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--line);}
  .gv-emblem{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:700;font-size:19px;color:#fff;flex-shrink:0;}
  .gv-title{font-family:var(--serif);font-weight:700;font-size:19px;color:var(--navy);}
  .gv-sub{font-family:'IBM Plex Mono',monospace;font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:0.03em;}
  .gv-verdict-badge{
    display:inline-block;font-family:var(--serif);font-weight:700;font-size:22px;padding:6px 18px;border-radius:2px;margin-bottom:12px;
  }
  .gv-verdict-badge.buy{background:rgba(46,125,92,0.12);color:var(--sage);}
  .gv-verdict-badge.watch{background:rgba(163,74,50,0.12);color:var(--gold);}
  .gv-verdict-badge.avoid{background:rgba(163,74,50,0.12);color:var(--red);}
  /* Compact pill for tables/summary rows (25 Aug 2026, portfolio analysis) — same
     color tokens as .gv-verdict-badge above, sized for inline table cells rather
     than a card header. 'pass' = Speculative (matches ATLAS_BANDS' verdictClass). */
  .atlas-badge{display:inline-block;font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:11px;padding:2px 8px;border-radius:2px;}
  .atlas-badge.buy{background:rgba(46,125,92,0.12);color:var(--sage);}
  .atlas-badge.watch{background:rgba(163,74,50,0.10);color:var(--gold);}
  .atlas-badge.pass{background:rgba(163,74,50,0.12);color:var(--red);}
  .atlas-badge.avoid{background:rgba(163,74,50,0.16);color:var(--red);}
  .gv-reasons{list-style:none;margin:0;padding:0;}
  .gv-reasons li{padding:6px 0 6px 20px;position:relative;font-size:13px;color:var(--navy-soft);}
  .gv-reasons li::before{content:"▸";position:absolute;left:0;color:var(--gold);}

  /* FORMS (detail layout) */
  .layout{display:grid;grid-template-columns:1.1fr 0.9fr;gap:22px;margin-top:8px;}
  @media(max-width:820px){.layout{grid-template-columns:1fr;}}
  .field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
  .field label{display:block;font-size:12px;font-weight:600;margin-bottom:4px;color:var(--navy-soft);}
  .field input, .field select{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:2px;font-family:'IBM Plex Mono',monospace;font-size:13px;color:var(--navy);background:var(--paper);}
  .field input:focus, .field select:focus{outline:2px solid var(--gold-bright);outline-offset:1px;}

  .slider-row{margin-bottom:14px;}
  .slider-row .lbl-row{display:flex;justify-content:space-between;font-size:12.5px;margin-bottom:5px;}
  .slider-row .lbl-row b{color:var(--navy);}
  .slider-row .lbl-row span.val{font-family:'IBM Plex Mono',monospace;color:var(--gold);}
  .slider-row input[type=range]{width:100%;accent-color:var(--gold);-webkit-appearance:none;appearance:none;height:6px;border-radius:2px;background:var(--line);outline:none;cursor:pointer;}
  .slider-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--gold);border:2px solid var(--navy);cursor:pointer;margin-top:0;}
  .slider-row input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--gold);border:2px solid var(--navy);cursor:pointer;}
  .slider-row input[type=range]::-moz-range-track{height:6px;border-radius:2px;background:var(--line);}
  .slider-row .hint{font-size:11px;color:var(--muted);margin-top:3px;}

  .flags{display:flex;flex-direction:column;gap:9px;}
  .flag-check{display:flex;align-items:flex-start;gap:9px;font-size:12.5px;color:var(--navy-soft);}
  .flag-auto-tag{font-family:'IBM Plex Mono',monospace;font-size:10px;font-weight:600;}
  .flag-auto-tag.auto{color:var(--sage);}
  .flag-auto-tag.manual{color:var(--muted);}
  .flag-check input{margin-top:3px;}

  .btn{display:inline-block;background:var(--navy);color:var(--paper);border:1px solid var(--navy);padding:12px 22px;border-radius:0;font-weight:600;font-size:11.5px;letter-spacing:0.1em;text-transform:uppercase;cursor:pointer;font-family:var(--sans);transition:background .15s ease, border-color .15s ease, color .15s ease;}
  .btn:hover{background:#0e1d33;}
  .btn.secondary{background:transparent;color:var(--navy);border:1px solid var(--navy);}
  .btn.secondary:hover{background:var(--navy);color:var(--paper);}
  .btn.gold{background:transparent;color:var(--navy);border:1px solid var(--gold);}
  .btn.gold:hover{background:var(--navy);color:var(--paper);border-color:var(--navy);}
  .btn.small{padding:7px 14px;font-size:12px;}
  .btn-row{display:flex;gap:9px;margin-top:6px;flex-wrap:wrap;}

  .legend-row{display:flex;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);align-items:flex-start;}
  .legend-row:last-child{border-bottom:none;}
  .legend-band{font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:11.5px;width:58px;flex-shrink:0;padding-top:1px;}
  .legend-90 .legend-band{color:#2E7D5C;} .legend-70 .legend-band{color:var(--sage);} .legend-60 .legend-band{color:var(--gold);}
  .legend-40 .legend-band{color:var(--gold);} .legend-0 .legend-band{color:var(--red);}
  .legend-text{font-size:11.5px;color:var(--navy-soft);line-height:1.5;}
  .legend-text b{color:var(--navy);}

  .saved-row{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid var(--line);}
  .saved-row:last-child{border-bottom:none;}
  .saved-row .ticker{font-family:var(--serif);font-weight:600;font-size:15px;}
  .saved-row .meta{font-family:'IBM Plex Mono',monospace;font-size:10.5px;color:var(--muted);}
  .saved-row .sc{font-family:'IBM Plex Mono',monospace;font-size:16px;font-weight:600;color:var(--gold);}
  .saved-row .del, .saved-row .edit{background:none;border:none;cursor:pointer;font-size:11.5px;margin-left:10px;}
  .saved-row .del{color:var(--muted);} .saved-row .del:hover{color:var(--red);}
  .saved-row .edit{color:var(--gold);font-weight:600;} .saved-row .edit:hover{color:var(--navy);}
  .empty-state{color:var(--muted);font-size:12.5px;text-align:center;padding:16px 0;}

  #compareTable th{text-align:left;font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.04em;text-transform:uppercase;color:var(--muted);border-bottom:1.5px solid var(--navy);padding:7px 9px;}
  #compareTable td{padding:8px 9px;border-bottom:1px solid var(--line);font-family:'IBM Plex Mono',monospace;font-size:11.5px;}
  #compareTable td.tkr{font-family:var(--serif);font-weight:600;font-size:13px;color:var(--navy);}
  #compareTable td.scorecell{color:var(--gold);font-weight:600;}

  .autofill-row{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end;}
  .api-note{font-size:11px;color:var(--muted);margin-top:9px;line-height:1.5;}
  .api-note a{color:var(--gold);}
  .fetch-status{font-family:'IBM Plex Mono',monospace;font-size:11px;margin-top:9px;padding:7px 9px;border-radius:2px;display:none;}
  .fetch-status.ok{display:block;background:rgba(46,125,92,0.12);color:var(--sage);}
  .fetch-status.err{display:block;background:rgba(163,74,50,0.12);color:var(--red);}
  .fetch-status.loading{display:block;background:var(--paper);color:var(--muted);}

  /* ABOUT / CONTACT */
  section#about{padding:44px 0 8px;}
  section#contact{padding:44px 0 20px;}
  .about-body{font-size:13.5px;color:var(--navy-soft);max-width:680px;line-height:1.65;}
  .about-punch{
    font-family:var(--serif);font-style:italic;font-weight:500;
    font-size:clamp(22px,2.6vw,34px);line-height:1.22;color:var(--navy);
    margin:10px 0 12px;max-width:16em;letter-spacing:0.01em;
  }
  .about-punch-lead{margin:0 0 14px;max-width:40em;}
  .about-kay{
    margin:0 0 12px;max-width:40em;
    font-family:var(--serif);font-style:italic;font-weight:500;
    font-size:15px;line-height:1.5;color:var(--navy-soft);
  }
  #about > .sec-title{margin:0 0 12px;max-width:16em;}
  #about .page-jump{margin:0 0 28px;}
  #about .sec-kicker{margin-top:8px;}
  #about .sec-sub{margin:0 0 22px;}
  .about-why-grid{margin:0 0 36px;}
  .about-sub-title{font-family:var(--serif);font-weight:700;font-size:19px;color:var(--navy);margin:32px 0 6px;}
  .about-story{max-width:720px;margin:0 0 36px;}
  @media(min-width:1920px){
    .about-body{max-width:720px;font-size:14.5px;}
    .about-story{max-width:760px;}
  }
  .about-story h3{font-family:var(--serif);font-weight:600;font-size:20px;color:var(--navy);margin:26px 0 8px;}
  .about-story .about-body{max-width:none;}
  .about-founder{margin-top:28px;padding:22px 24px;border:1px solid var(--line);border-top:1px solid var(--gold);background:var(--panel);}
  .about-founder .kicker{font-family:var(--mono);font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold);margin:0 0 8px;font-weight:500;}
  .about-founder h3{margin:0 0 8px;}
  .about-model-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:16px;}
  @media(max-width:800px){.about-model-grid{grid-template-columns:1fr;}}
  .about-model{background:var(--panel);border:1px solid var(--line);border-top:1px solid var(--gold);border-radius:0;padding:18px 20px;box-shadow:none;}
  .about-model h4{font-family:var(--serif);font-weight:700;font-size:14.5px;color:var(--navy);margin:0 0 10px;}
  .about-model p{font-size:12.5px;color:var(--navy-soft);line-height:1.6;margin:0 0 10px;}
  .about-model p:last-child{margin-bottom:0;}
  .about-model b{color:var(--navy);}
  .contact-box{background:transparent;color:var(--navy);border-radius:0;padding:48px 28px;text-align:center;border:1px solid var(--line);border-top:1px solid var(--gold);}
  .contact-box h2{font-family:var(--serif);font-size:28px;margin:0 0 8px;font-weight:500;letter-spacing:0.01em;}
  .contact-box p{color:var(--navy-soft);font-size:15px;max-width:440px;margin:0 auto 18px;font-family:var(--serif);font-weight:500;}
  .contact-box a.btn{background:transparent;color:var(--navy);border:1px solid var(--navy);}
  .contact-box a.btn:hover{background:var(--navy);color:var(--paper);}

  .site-footer{margin-top:0;border-top:1px solid var(--gold);padding:56px 28px 32px;background:var(--navy);color:var(--paper);}
  .footer-inner{max-width:var(--page-max);margin:0 auto;display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr 1fr;gap:32px;}
  @media(max-width:720px){.footer-inner{grid-template-columns:1fr 1fr;}}
  @media(max-width:460px){.footer-inner{grid-template-columns:1fr;}}
  .footer-brand p{font-size:13px;color:rgba(236,241,247,0.5);line-height:1.65;max-width:280px;margin:0;font-family:var(--serif);font-weight:500;}
  .footer-col-title{font-family:var(--mono);font-size:10px;color:var(--gold-bright);text-transform:uppercase;letter-spacing:0.12em;margin-bottom:12px;font-weight:500;}
  .footer-col{display:flex;flex-direction:column;gap:9px;}
  .footer-col a{font-size:13px;color:rgba(236,241,247,0.62);text-decoration:none;}
  .footer-col a:hover{color:var(--paper);}
  .footer-bottom{max-width:var(--page-max);margin:36px auto 0;padding-top:22px;border-top:1px solid rgba(226,214,174,0.28);display:flex;flex-direction:column;gap:14px;font-family:var(--mono);font-size:10px;color:rgba(236,241,247,0.4);}
  .footer-legal-title{font-family:var(--mono);font-size:10px;color:var(--gold-bright);text-transform:uppercase;letter-spacing:0.14em;margin-bottom:8px;font-weight:500;}
  .footer-disclaimer{display:block;font-size:11px;line-height:1.65;color:rgba(236,241,247,0.62);max-width:920px;font-family:var(--sans);}
  .footer-disclaimer a{color:var(--gold-bright);text-decoration:underline;}
  .footer-copy{opacity:0.7;}

  @media(max-width:600px){
    .field-grid{grid-template-columns:1fr 1fr;gap:9px;}
    .card{padding:17px;}
    .btn, .btn.secondary{width:100%;text-align:center;padding:13px;}
    .btn-row{flex-direction:column;}
  }
  /* DAILY WISDOM */
  .wisdom-card{background:linear-gradient(180deg,var(--navy) 0%,#1B2833 100%);color:var(--paper);border-radius:2px;padding:28px 26px;box-shadow:var(--shadow);position:relative;overflow:hidden;}
  .wisdom-card::before{content:"”";position:absolute;top:-30px;right:14px;font-family:var(--serif);font-size:170px;color:rgba(255,255,255,0.05);line-height:1;}
  .wisdom-year{display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:0.08em;text-transform:uppercase;color:var(--gold-bright);border:1px solid rgba(176,138,66,0.4);border-radius:2px;padding:3px 10px;margin-bottom:14px;}
  .wisdom-quote{font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(18px,2.4vw,23px);line-height:1.4;margin:0 0 14px;max-width:640px;position:relative;z-index:1;}
  .wisdom-lesson{font-size:13.5px;color:rgba(251,250,246,0.78);line-height:1.6;max-width:600px;margin:0 0 18px;}
  .wisdom-lesson b{color:var(--gold-bright);font-weight:600;}
  .wisdom-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
  .wisdom-btn{background:transparent;color:var(--paper);border:1px solid var(--gold);padding:10px 18px;border-radius:0;font-weight:600;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;cursor:pointer;font-family:var(--sans);}
  .wisdom-btn.ghost{background:transparent;color:var(--paper);border:1px solid rgba(250,248,243,0.35);}
  .wisdom-note{font-size:11px;color:rgba(251,250,246,0.5);margin-top:4px;width:100%;}
  .wisdom-archive{margin-top:14px;display:none;max-height:340px;overflow-y:auto;border-top:1px solid rgba(255,255,255,0.12);padding-top:12px;}
  .wisdom-archive.open{display:block;}
  .wisdom-arch-row{padding:9px 0;border-bottom:1px solid rgba(255,255,255,0.08);font-size:12.5px;line-height:1.5;}
  .wisdom-arch-row .y{color:var(--gold-bright);font-family:'IBM Plex Mono',monospace;font-size:10.5px;margin-right:8px;}
  .wisdom-arch-row .q{font-style:italic;}

  /* LEARN FROM BOOKS */
  .books-hook{font-family:var(--serif);font-style:italic;font-size:16.5px;color:var(--navy-soft);margin:0 0 4px;}
  .books-hook b{font-style:normal;color:var(--gold);font-weight:600;}
  .books-view-toggle{margin-bottom:12px;}
  .books-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px;}
  @media(max-width:900px){.books-grid{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:560px){.books-grid{grid-template-columns:1fr;}}
  .books-rail{display:flex;gap:14px;overflow-x:auto;padding:6px 2px 16px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;}
  .books-rail::-webkit-scrollbar{height:6px;}
  .books-rail::-webkit-scrollbar-thumb{background:var(--line);border-radius:2px;}
  .book-card{scroll-snap-align:start;flex:0 0 240px;background:var(--panel);border:1px solid var(--line);border-radius:2px;padding:18px;box-shadow:var(--shadow);cursor:pointer;transition:border-color .15s;}
  .book-card:hover{border-color:var(--gold);}
  .book-card.active{border-color:var(--gold);border-width:1.5px;}
  .book-tag{font-family:'IBM Plex Mono',monospace;font-size:9.5px;color:var(--gold);letter-spacing:0.08em;text-transform:uppercase;margin-bottom:8px;}
  .book-title{font-family:var(--serif);font-weight:600;font-size:15.5px;line-height:1.3;margin:0 0 4px;}
  .book-author{font-size:11.5px;color:var(--muted);margin:0 0 10px;}
  .book-oneliner{font-size:12.5px;color:var(--navy-soft);line-height:1.5;margin:0;}
  .book-detail{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:2px;padding:22px;box-shadow:var(--shadow);}
  .book-detail h3{font-family:var(--serif);font-size:19px;margin:0 0 3px;}
  .book-detail .ba{font-size:12px;color:var(--muted);margin:0 0 14px;}
  .book-detail .summary{font-size:13.5px;color:var(--navy-soft);line-height:1.6;margin:0 0 16px;}
  .takeaway-list{list-style:none;margin:0;padding:0;display:grid;gap:9px;}
  .takeaway-list li{font-size:13px;line-height:1.5;padding-left:22px;position:relative;color:var(--navy);}
  .takeaway-list li::before{content:"✓";position:absolute;left:0;color:var(--sage);font-weight:700;}
  .books-cta{margin-top:14px;font-size:11.5px;color:var(--muted);}

  /* COFFEE WITH A GURU */
  .coffee-scene{background:var(--panel);border:1px solid var(--line);border-radius:2px;padding:26px;box-shadow:var(--shadow);}
  .coffee-gurus{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:16px;}
  .coffee-guru-btn{display:flex;align-items:center;gap:8px;background:var(--panel);border:1.5px solid var(--line);color:var(--navy-soft);padding:6px 14px 6px 6px;border-radius:2px;font-size:12.5px;font-weight:600;cursor:pointer;font-family:'IBM Plex Sans',sans-serif;}
  .coffee-guru-btn .av{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--serif);font-weight:700;font-size:11px;flex:0 0 auto;}
  .coffee-guru-btn.active{border-color:var(--gold);color:var(--navy);background:rgba(110,103,82,0.14);}
  .coffee-topics{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px;}
  .coffee-topic-btn{background:var(--panel);border:1.5px solid var(--line);color:var(--navy-soft);padding:8px 15px;border-radius:2px;font-size:12.5px;font-weight:600;cursor:pointer;font-family:'IBM Plex Sans',sans-serif;}
  .coffee-topic-btn.active{border-color:var(--gold);color:var(--navy);background:rgba(110,103,82,0.14);}
  .coffee-table{display:flex;gap:16px;align-items:flex-start;}
  .coffee-avatar{flex:0 0 auto;width:52px;height:52px;border-radius:50%;background:var(--navy);color:var(--gold-bright);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:700;font-size:20px;transition:background .2s;}
  .coffee-bubbles{flex:1;min-height:120px;}
  .coffee-bubble{background:var(--panel);border:1px solid var(--line);border-radius:2px;padding:14px 16px;margin-bottom:10px;font-size:13.5px;line-height:1.55;box-shadow:var(--shadow);}
  .coffee-bubble.you{background:var(--navy);color:var(--paper);margin-left:30px;}
  .coffee-bubble.thinking{color:var(--muted);font-style:italic;}
  .coffee-bubble.error{border-color:var(--red);color:var(--red);}
  .coffee-bubble .who{font-family:'IBM Plex Mono',monospace;font-size:9.5px;text-transform:uppercase;letter-spacing:0.06em;color:var(--gold);display:block;margin-bottom:5px;}
  .coffee-bubble.you .who{color:var(--gold-bright);}
  .coffee-actions{margin-top:16px;display:flex;gap:10px;flex-wrap:wrap;}
  .coffee-input-row{margin-top:14px;display:flex;gap:10px;align-items:flex-end;}
  .coffee-input-row textarea{flex:1;resize:none;border:1.5px solid var(--line);border-radius:2px;padding:10px 13px;font-family:'IBM Plex Sans',sans-serif;font-size:13.5px;line-height:1.4;background:var(--panel);color:var(--navy);min-height:42px;max-height:110px;}
  .coffee-input-row textarea:focus{outline:none;border-color:var(--gold);}
  .coffee-send-btn{flex:0 0 auto;background:var(--navy);color:var(--paper);border:1px solid var(--navy);border-radius:0;padding:11px 18px;font-weight:600;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;cursor:pointer;font-family:var(--sans);}
  .coffee-send-btn:disabled{opacity:.5;cursor:default;}
  .coffee-char-count{font-size:10.5px;color:var(--muted);text-align:right;margin-top:4px;}
  .coffee-disclaimer{margin-top:10px;font-size:10.5px;color:var(--muted);line-height:1.5;}
  .coffee-anecdote{margin-top:20px;padding-top:16px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);line-height:1.6;}
  .coffee-anecdote b{color:var(--navy-soft);}

  /* LUNCH VIDEO TABLE — FIFA-style illustrated booth (not photoreal). */
  .lunch-chooser{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:4px 0 8px;}
  .lunch-choose-card{background:var(--panel);border:1px solid var(--line);border-radius:0;padding:22px 18px;cursor:pointer;text-align:left;font-family:var(--sans);transition:border-color .15s, background .15s;min-height:140px;}
  .lunch-choose-card:hover{border-color:var(--gold);}
  .lunch-choose-card .n{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--gold);letter-spacing:0.06em;text-transform:uppercase;margin-bottom:8px;}
  .lunch-choose-card h3{font-family:var(--serif);font-size:22px;margin:0 0 8px;color:var(--navy);}
  .lunch-choose-card p{margin:0;font-size:13px;color:var(--muted);line-height:1.5;}
  .lunch-mode-toggle{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;}
  .lunch-mode-btn{background:var(--panel);border:1.5px solid var(--line);color:var(--navy-soft);padding:8px 15px;border-radius:2px;font-size:12.5px;font-weight:600;cursor:pointer;font-family:'IBM Plex Sans',sans-serif;}
  .lunch-mode-btn.active{border-color:var(--gold);color:var(--navy);background:rgba(110,103,82,0.14);}
  .lunch-stage{position:relative;background:radial-gradient(ellipse at 50% 0%, rgba(201,162,74,0.22) 0%, transparent 55%), linear-gradient(180deg,#24344c 0%,#121c2c 72%);border:1px solid var(--line);border-radius:2px;overflow:hidden;min-height:420px;}
  .lunch-booth{position:relative;height:280px;padding:18px 18px 0;}
  .lunch-lamp{position:absolute;top:-40px;left:50%;width:220px;height:160px;margin-left:-110px;background:radial-gradient(ellipse, rgba(232,201,120,0.35) 0%, transparent 70%);pointer-events:none;animation:lunchLamp 4s ease-in-out infinite;}
  .lunch-chars{position:absolute;left:0;right:0;bottom:78px;display:flex;justify-content:space-between;padding:0 28px;align-items:flex-end;}
  .lunch-char{width:92px;text-align:center;animation:lunchIdle 3.4s ease-in-out infinite;}
  .lunch-char.buffett{animation-delay:-1.4s;}
  .lunch-char.thinking .lunch-head{transform:rotate(-8deg);transform-origin:50% 80%;}
  .lunch-head{width:58px;height:58px;margin:0 auto 6px;border-radius:50%;position:relative;}
  .lunch-char.you .lunch-head{background:linear-gradient(180deg,#c4a07a,#8d6a4a);border:2px solid #f3e6d4;}
  .lunch-char.buffett .lunch-head{background:linear-gradient(180deg,#f0d4b4,#c9a07a);border:2px solid #f7ead8;}
  .lunch-hair{position:absolute;top:-6px;left:8px;right:8px;height:16px;background:#ece7df;border-radius:12px 12px 4px 4px;}
  .lunch-glasses{position:absolute;top:24px;left:8px;right:8px;height:10px;border-top:2px solid #2a2a2a;display:flex;justify-content:space-between;padding:0 2px;}
  .lunch-glasses span{width:18px;height:12px;border:2px solid #2a2a2a;border-radius:50%;background:rgba(255,255,255,0.15);}
  .lunch-body{width:72px;height:54px;margin:0 auto;border-radius:8px 8px 0 0;}
  .lunch-char.you .lunch-body{background:#3d5a4c;}
  .lunch-char.buffett .lunch-body{background:#1e3a5f;box-shadow:inset 0 18px 0 -12px #c9a24a;}
  .lunch-label{margin-top:6px;font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:0.08em;text-transform:uppercase;color:rgba(251,250,246,0.7);}
  .lunch-table{position:absolute;left:8%;right:8%;bottom:0;height:78px;background:linear-gradient(180deg,#6b4a2e,#3d2a1a);border-top:4px solid #c9a24a;display:flex;justify-content:space-around;align-items:flex-start;padding-top:8px;}
  .lunch-cup{width:22px;height:18px;background:#fbfaf6;border-radius:0 0 8px 8px;position:relative;}
  .lunch-cup::after{content:"";position:absolute;top:-10px;left:6px;width:4px;height:10px;border-radius:4px;background:rgba(251,250,246,0.45);animation:lunchSteam 2s ease-in-out infinite;}
  .lunch-cup.cola{background:#4a1c16;}
  .lunch-cup.cola::after{background:rgba(201,162,74,0.5);}
  .lunch-subs{min-height:92px;padding:12px 16px 14px;background:rgba(8,12,20,0.72);border-top:1px solid rgba(201,162,74,0.35);}
  .lunch-subs .who{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.08em;text-transform:uppercase;color:var(--gold-bright);margin-bottom:6px;}
  .lunch-subs .line{font-family:var(--serif);font-size:16px;line-height:1.4;color:var(--paper);min-height:2.8em;}
  .lunch-wisdom{display:flex;align-items:center;gap:10px;padding:8px 16px 12px;background:rgba(8,12,20,0.72);}
  .lunch-wisdom .k{font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:0.06em;text-transform:uppercase;color:rgba(251,250,246,0.55);white-space:nowrap;}
  .lunch-wisdom .bar{flex:1;height:6px;background:rgba(251,250,246,0.12);border-radius:2px;overflow:hidden;}
  .lunch-wisdom .fill{height:100%;width:0;background:var(--gold);transition:width .6s ease;}
  .lunch-topics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px;}
  .lunch-topic-card{background:var(--panel);border:1.5px solid var(--line);border-radius:2px;padding:16px 14px;cursor:pointer;text-align:left;font-family:'IBM Plex Sans',sans-serif;transition:border-color .15s, transform .15s;}
  .lunch-topic-card:hover{border-color:var(--gold);transform:none;}
  .lunch-topic-card .n{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--gold);letter-spacing:0.06em;text-transform:uppercase;margin-bottom:6px;}
  .lunch-topic-card h3{font-family:var(--serif);font-size:16px;margin:0 0 4px;color:var(--navy);}
  .lunch-topic-card p{margin:0;font-size:12px;color:var(--muted);line-height:1.45;}
  .lunch-qs{display:flex;flex-direction:column;gap:8px;margin-top:14px;}
  .lunch-q{text-align:left;background:var(--panel);border:1.5px solid var(--line);color:var(--navy);padding:11px 14px;border-radius:2px;font-size:13px;font-weight:600;cursor:pointer;font-family:'IBM Plex Sans',sans-serif;}
  .lunch-q:hover{border-color:var(--gold);}
  .lunch-q:disabled{opacity:.45;cursor:default;}
  .lunch-close{margin-top:14px;border:1.5px solid var(--gold);background:var(--panel);padding:20px;border-radius:2px;}
  .lunch-close h3{font-family:var(--serif);font-size:18px;margin:0 0 8px;}
  .lunch-close p{margin:0 0 14px;font-size:13.5px;line-height:1.55;color:var(--navy-soft);}
  .lunch-video-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;}
  @media(max-width:720px){
    .lunch-chooser,.lunch-topics{grid-template-columns:1fr;}
    .lunch-booth{height:240px;}
    .lunch-char{width:72px;}
    .lunch-subs .line{font-size:14.5px;}
  }
  @keyframes lunchIdle{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
  @keyframes lunchSteam{0%{opacity:.15;transform:translateY(0) scaleX(1)}50%{opacity:.7;transform:translateY(-8px) scaleX(1.2)}100%{opacity:.1;transform:translateY(-16px) scaleX(.8)}}
  @keyframes lunchLamp{0%,100%{opacity:.75}50%{opacity:1}}
  @media (prefers-reduced-motion: reduce){
    .lunch-char,.lunch-lamp,.lunch-cup::after{animation:none;}
  }

  @media print{
    nav.topnav, header.hero, .desk-welcome, .manifesto, #services, #screener, #guru-holdings, #about, #contact, .btn-row, .flags, .autofill-row, .api-note,
    #deskAgentsCard, .hero-guru-strip, #guruZoneCard, #guruWatchTableCard, #homeTopPicksTeaser, #chartCard, #moneyFlowCard, #earningsReportsCard,
    #tickerNewsCard, .sr-head-actions, footer, #askDeskFab, #netBg{display:none !important;}
    .card{border:1px solid #ccc;break-inside:avoid;}
    #scoreMosCard.score-report-head, #buyExitCard.score-report-body{display:block !important;}
    body{background:#fff;}
  }

  /* Ambient particle web retired — private-bank chrome is paper + navy, not a
     fintech screensaver. Canvas stays in the DOM so old bookmarks don't 404 the
     script; it is never painted. */
  #netBg{display:none;}

  /* ===== PREMIUM DESK (28 Aug 2026) — entrance + exclusive chrome.
     Same bar, same HOW. Paper, navy, gold hairlines — a private office, not a SaaS dashboard. */
  html{scroll-behavior:smooth;}
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
  }
  :focus-visible{
    outline:1px solid var(--gold-bright);
    outline-offset:3px;
  }
  body{
    background-color:var(--paper);
  }
  nav.topnav{
    background:var(--navy);
  }
  .brand-tagline{max-width:280px;letter-spacing:0.04em;font-style:normal;font-family:var(--mono);font-size:10px;text-transform:uppercase;color:rgba(226,214,174,0.82);}
  @media(max-width:640px){
    .brand-tagline{max-width:200px;font-size:9px;}
  }

  header.hero{
    padding:52px 0 40px;
    border-bottom:1px solid var(--line);
    background:var(--paper);
  }
  .hero-inner{
    max-width:var(--page-max);margin:0 auto;padding:0 28px;width:100%;
  }
  .hero-kicker{
    display:none;
    margin:0 0 14px;
    font-family:var(--mono);font-size:11px;font-weight:500;
    letter-spacing:0.22em;text-transform:uppercase;color:var(--navy-soft);
  }
  .hero-lead{
    max-width:34em;margin:0 auto 10px;
    font-family:var(--serif);font-weight:500;font-size:clamp(16px,1.7vw,20px);
    line-height:1.48;color:var(--navy-soft);
  }
  .hero-lead i{font-style:italic;color:var(--navy);}
  .hero-kay{
    max-width:34em;margin:0 auto 22px;
    font-family:var(--serif);font-style:italic;font-weight:500;
    font-size:clamp(13.5px,1.4vw,16px);line-height:1.45;color:var(--navy-soft);
  }
  .hero-resolve-note{
    text-align:center;font-size:11.5px;color:var(--muted);
    font-family:var(--mono);margin-top:8px;min-height:14px;
  }
  .command-headline.is-idle{
    font-size:clamp(26px,4.4vw,52px);
    color:var(--navy);
    max-width:16em;
    margin:0 auto 16px;
    padding-bottom:0;
    letter-spacing:0.01em;
    line-height:1.12;
  }
  .command-headline.is-idle::after{display:none;}
  header.hero:has(.command-headline:not(.is-idle)) .hero-kicker,
  header.hero:has(.command-headline:not(.is-idle)) .hero-lead,
  header.hero:has(.command-headline:not(.is-idle)) .hero-steps,
  header.hero:has(.command-headline:not(.is-idle)) .quick-ticker-row,
  header.hero:has(.command-headline:not(.is-idle)) .hero-stats-toggle{
    display:none;
  }
  header.hero:has(.command-headline:not(.is-idle)){
    padding-top:28px;padding-bottom:22px;
  }
  .ticker-search-wrap{
    max-width:560px;
  }
  .ticker-search-row{
    border:1px solid rgba(138,115,72,0.7);
    box-shadow:0 18px 44px rgba(5,13,22,0.08);
  }
  .ticker-search-wrap:focus-within .ticker-search-row{
    border-color:var(--gold-bright);
    box-shadow:0 0 0 1px var(--gold-bright), 0 22px 50px rgba(5,13,22,0.12);
  }
  .ticker-search-row input{padding:14px 16px;background:#fff;}
  .ticker-search-row button,
  #tickerSearchBtn{
    padding:14px 26px;
    letter-spacing:0.14em;
  }
  .ticker-search-row button:hover,
  #tickerSearchBtn:hover{background:#0a1624;}
  .quick-ticker-row{
    margin:16px 0 0;
    gap:8px;
  }
  .quick-ticker-label{
    font-family:var(--mono);font-size:10px;letter-spacing:0.14em;
    text-transform:uppercase;color:var(--muted);margin-right:4px;
  }
  .quick-ticker-chip{
    background:transparent;border:1px solid var(--line);color:var(--navy);
    padding:6px 12px;font-size:12px;letter-spacing:0.04em;
    transition:border-color .15s ease, background .15s ease, color .15s ease;
  }
  .quick-ticker-chip:hover{border-color:var(--gold);background:rgba(138,115,72,0.08);color:var(--navy);}
  .hero-steps{
    list-style:none;margin:28px auto 0;padding:0;
    display:flex;justify-content:center;gap:0;max-width:720px;
    border-top:1px solid var(--line);
    position:relative;z-index:1;
  }
  .hero-steps li{
    flex:1;padding:16px 18px 4px;text-align:left;
    border-left:1px solid var(--line);
  }
  .hero-steps li:first-child{border-left:none;}
  .hero-steps .hs-n{
    display:block;font-family:var(--mono);font-size:10px;letter-spacing:0.16em;
    text-transform:uppercase;color:var(--gold);margin-bottom:6px;
  }
  .hero-steps .hs-l{
    display:block;font-family:var(--serif);font-size:16px;font-weight:500;
    color:var(--navy);line-height:1.3;
  }
  @media(max-width:640px){
    header.hero{padding:28px 0 26px;}
    .hero-inner{padding:0 16px;}
    .hero-steps{flex-direction:column;border-top:none;margin-top:20px;}
    .hero-steps li{border-left:none;border-top:1px solid var(--line);padding:12px 0;}
    .command-headline.is-idle{font-size:clamp(24px,8vw,34px);max-width:14em;}
  }

  .desk-welcome{
    text-align:center;padding:48px 28px 28px;margin:8px 0 12px;
    border:1px solid var(--line);border-top:1px solid var(--gold);
    background:var(--panel);
  }
  .desk-welcome-kicker{
    margin:0 0 10px;font-family:var(--mono);font-size:10.5px;
    letter-spacing:0.18em;text-transform:uppercase;color:var(--navy-soft);
  }
  .desk-welcome h3{
    margin:0 0 10px;font-family:var(--serif);font-weight:500;
    font-size:clamp(22px,2.4vw,32px);letter-spacing:0.01em;color:var(--navy);
  }
  .desk-welcome p{
    margin:0 auto;max-width:34em;font-size:15px;line-height:1.55;
    color:var(--navy-soft);font-family:var(--serif);font-weight:500;
  }
  .desk-welcome-lanes{display:grid;grid-template-columns:1fr;gap:10px;margin-top:22px;text-align:left;}
  .desk-welcome-lanes a{
    display:block;text-decoration:none;color:inherit;
    border:1px solid var(--line);padding:16px 18px;background:var(--paper);
    transition:border-color .15s ease;
  }
  .desk-welcome-lanes a:hover{border-color:var(--gold);}
  .desk-welcome-lanes .dw-k{
    display:block;font-family:var(--mono);font-size:10px;letter-spacing:0.14em;
    text-transform:uppercase;color:var(--navy-soft);margin-bottom:6px;
  }
  .desk-welcome-lanes .dw-t{
    display:block;font-family:var(--serif);font-size:16px;font-weight:500;color:var(--navy);line-height:1.35;
  }
  body:not(.desk-has-ticker) .command-center > :not(.desk-welcome):not(#deskAgentsCard),
  body:not(.desk-has-ticker) #detailed-scorer{display:none !important;}
  body:not(.desk-has-ticker) #deskAgentsCard{display:block;}
  body.desk-has-ticker .desk-welcome{display:none;}
  @media (prefers-reduced-motion: no-preference){
    .desk-welcome{animation:deskIn .55s ease;}
    header.hero .hero-kicker,
    header.hero .command-headline.is-idle,
    header.hero .hero-lead,
    header.hero .ticker-search-wrap,
    header.hero .quick-ticker-row,
    header.hero .hero-steps{
      animation:deskIn .7s ease both;
    }
    header.hero .command-headline.is-idle{animation-delay:.05s;}
    header.hero .hero-lead{animation-delay:.1s;}
    header.hero .ticker-search-wrap{animation-delay:.16s;}
    header.hero .quick-ticker-row{animation-delay:.22s;}
    header.hero .hero-steps{animation-delay:.28s;}
  }
  @keyframes deskIn{
    from{opacity:0;transform:translateY(10px);}
    to{opacity:1;transform:translateY(0);}
  }

  .card{
    transition:border-color .18s ease, box-shadow .18s ease;
  }
  .card:hover{border-color:rgba(138,115,72,0.55);box-shadow:0 10px 28px rgba(5,13,22,0.04);}
  .bar-banner{
    font-size:clamp(17px,1.5vw,22px);
    padding:18px 26px;
    border-top:1px solid var(--gold);
  }
  .sec-kicker{letter-spacing:0.16em;}
  .sec-title{font-size:clamp(26px,2.6vw,36px);font-weight:500;letter-spacing:0.01em;line-height:1.15;}
  .sec-sub{font-size:15px;line-height:1.58;max-width:640px;color:var(--navy-soft);font-family:var(--serif);font-weight:500;}
  .page-jump a{
    background:transparent;padding:9px 14px;
    transition:border-color .15s ease, color .15s ease, background .15s ease;
  }
  .service-card,.about-model,.why-card{
    transition:border-color .18s ease, transform .18s ease;
  }
  .service-card:hover,.about-model:hover{
    border-color:var(--gold);
  }
  .contact-box{
    padding:64px 32px;
    background:var(--panel);
  }
  .contact-box h2{font-size:clamp(28px,3vw,42px);}
  .ask-atlas-fab{
    box-shadow:0 12px 32px rgba(5,13,22,0.28);
  }
  .btn{
    transition:background .15s ease, border-color .15s ease, color .15s ease, transform .12s ease;
  }
  .btn:hover{transform:translateY(-1px);}
  @media (prefers-reduced-motion: reduce){
    .btn:hover{transform:none;}
    .desk-welcome, header.hero .hero-kicker, header.hero .command-headline.is-idle,
    header.hero .hero-lead, header.hero .ticker-search-wrap,
    header.hero .quick-ticker-row, header.hero .hero-steps{animation:none;}
  }
  @media(min-width:1440px){
    html{background:var(--paper);}
    header.hero{padding:56px 0 44px;text-align:left;}
    .hero-inner{
      display:grid;
      grid-template-columns:minmax(0,1.15fr) minmax(340px,0.9fr);
      gap:28px 72px;
      align-items:end;
      padding:0 36px;
    }
    .hero-copy{text-align:left;}
    .hero-act{text-align:left;}
    .hero-kicker{margin-bottom:12px;}
    .command-headline.is-idle{
      margin:0 0 14px;max-width:16em;text-align:left;
      font-size:clamp(32px,2.8vw,52px);
    }
    .command-headline.is-pass,.command-headline.is-fail,.command-headline.is-wait{
      justify-content:flex-start;text-align:left;font-size:clamp(28px,2.2vw,42px);
    }
    .hero-lead{margin:0 0 18px;max-width:36em;text-align:left;}
    .hero-stats-toggle{margin:0;}
    .ticker-search-wrap{max-width:none;width:100%;margin:0;}
    .ticker-search-row{max-width:none;width:100%;margin:0;}
    .hero-resolve-note{text-align:left;}
    .quick-ticker-row{justify-content:flex-start;margin:14px 0 0;}
    .hero-steps{margin:22px 0 0;max-width:none;}
    #heroStatsPanel{max-width:var(--page-max);margin:12px auto 0;padding:0 36px;}
    #askAtlasFab{display:none !important;}
    .desk-welcome{text-align:left;padding:36px 40px 32px;}
    .desk-welcome p{margin:0;max-width:40em;}
    .desk-welcome-lanes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:28px;}
    .nav-links{gap:18px;font-size:13.5px;}
    .page-jump a{background:transparent;border-color:transparent;padding:6px 10px 6px 0;}
    .page-jump a:hover{background:transparent;}
    .services-grid{grid-template-columns:repeat(4,1fr);gap:18px;}
    .why-grid{grid-template-columns:repeat(3,1fr);}
    .about-body{max-width:760px;font-size:16px;line-height:1.7;}
    .sec-title{font-size:clamp(30px,2.3vw,42px);}
    .sec-sub{font-size:17px;max-width:42em;}
  }
  @media(min-width:1920px){
    header.hero{padding:64px 0 52px;}
    .hero-inner{padding:0 48px;gap:36px 88px;}
    .command-headline.is-idle{font-size:clamp(38px,2.55vw,56px);}
    #heroStatsPanel{padding:0 48px;}
    .nav-inner{padding:18px 48px;}
  }
  @media(min-width:2240px){
    .hero-inner{padding:0 56px;}
    #heroStatsPanel{padding:0 56px;}
  }

  /* Six live agents + money-flow notes + academy + calendar */
  .desk-agents{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px;}
  @media(min-width:1100px){.desk-agents{grid-template-columns:repeat(3,minmax(0,1fr));}}
  @media(max-width:720px){.desk-agents{grid-template-columns:1fr;}}
  .desk-agent{border:1px solid var(--line);background:var(--panel);padding:16px 16px 14px;}
  .desk-agent h3{margin:0 0 4px;font-size:15px;color:var(--navy);}
  .desk-agent .da-kicker{font-size:10.5px;letter-spacing:0.08em;text-transform:uppercase;color:var(--navy-soft);margin:0 0 8px;}
  .desk-agent .da-nums{font-family:var(--mono);font-size:12px;color:var(--navy-soft);line-height:1.55;margin:0 0 8px;}
  .desk-agent .da-note{font-size:12.5px;color:var(--navy-soft);line-height:1.5;margin:0;}
  .desk-agent.is-bear{border-color:#C4B0B4;background:#F7F2F4;}
  .score-red-flags{margin-top:12px;padding:10px 12px;border:1px solid var(--red);background:#F7F2F4;font-size:12.5px;line-height:1.5;color:#7A2A3A;}
  .score-red-flags b{display:block;margin-bottom:4px;}
  .flow-flags{margin-top:12px;display:flex;flex-direction:column;gap:6px;}
  .flow-flag{margin:0;font-size:12px;color:var(--muted);line-height:1.45;padding-left:12px;border-left:2px solid var(--gold);}
  .mf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0;}
  @media(max-width:720px){.mf-grid{grid-template-columns:1fr;}}
  .mf-stat{border:1px solid var(--line);padding:12px;}
  .mf-stat .k{font-size:10.5px;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);}
  .mf-stat .v{font-family:var(--num);font-size:20px;font-weight:600;color:var(--navy);margin-top:4px;}
  .mf-meter{height:10px;background:var(--line);margin-top:10px;position:relative;overflow:hidden;}
  .mf-meter i{position:absolute;top:0;width:3px;height:10px;background:var(--navy);}
  .pa-pie{width:min(320px, 86vw);height:min(320px, 86vw);border-radius:50%;flex:0 0 auto;border:10px solid var(--panel);box-shadow:0 0 0 1px var(--line);}
  .pa-pie-row{display:flex;gap:28px;align-items:flex-start;flex-wrap:wrap;}
  .pa-pie-block{display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-width:0;max-width:100%;}
  .pa-pie-block .cap{font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);}
  .pa-pie-legend{display:grid;gap:8px;font-size:13px;color:var(--navy-soft);min-width:min(240px, 100%);}
  .pa-pie-legend span{display:inline-block;width:12px;height:12px;margin-right:8px;vertical-align:middle;border-radius:2px;}
  .pa-sort-row{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 10px;}
  .pa-sort-btn,.tr-period-btn{border:1px solid var(--line);background:var(--panel);color:var(--navy);font-size:12px;padding:6px 10px;cursor:pointer;}
  .pa-sort-btn.is-on,.tr-period-btn.is-on{background:var(--navy);color:var(--paper);border-color:var(--navy);}
  .tr-period-row{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px;}
  .tr-stats-title{margin:0 0 10px;font-size:13px;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold);font-weight:600;}
  .tr-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 16px;}
  .tr-kpis[hidden]{display:grid !important;} /* never hide the statistics strip */
  @media(max-width:800px){
    .tr-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
    .tr-kpi{padding:8px 10px;}
    .tr-kpi .v{font-size:18px;}
  }
  .tr-kpi{border:1px solid var(--line);padding:12px;}
  .tr-kpi .v{font-family:var(--num);font-size:20px;font-weight:600;color:var(--navy);}
  .tr-kpi .l{font-size:11.5px;color:var(--muted);margin-top:4px;}
  .tr-dropped td{color:var(--muted);}
  .tr-dropped b, .tr-dropped a{color:var(--navy-soft);}
  .tr-table a{color:var(--navy);text-decoration:none;border-bottom:1px solid var(--gold);}
  .tr-table a:hover{color:var(--gold);}
  .track-record{overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .picks-waitlist-note{margin-top:28px;padding:16px 18px;border:1px solid var(--line);background:var(--paper);font-size:13px;color:var(--navy-soft);max-width:52rem;line-height:1.55;}
  .picks-waitlist-note a{color:var(--gold);}
  .academy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px;}
  @media(max-width:720px){.academy-grid{grid-template-columns:1fr;}}
  .academy-card,.academy-course{border:1px solid var(--line);background:var(--panel);padding:18px;}
  .academy-card h3,.academy-course h3{margin:0 0 8px;font-size:17px;}
  .academy-card p,.academy-course p{margin:0;font-size:13.5px;color:var(--navy-soft);line-height:1.6;}
  .ac-lvl{font-size:10.5px;letter-spacing:0.1em;text-transform:uppercase;color:var(--gold);margin:0 0 6px;}
  .academy-advanced{margin-top:22px;border:1px solid var(--line);padding:8px 16px 16px;background:var(--panel);}
  .academy-advanced summary{cursor:pointer;font-weight:600;padding:10px 0;color:var(--navy);}
  .academy-lessons{margin:12px 0 0;padding-left:18px;color:var(--navy-soft);font-size:13.5px;line-height:1.65;}
  .academy-lessons li{margin-bottom:8px;}
  .cal-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
  @media(max-width:900px){.cal-split{grid-template-columns:1fr;}}
  .cal-earn-card .ticker-search-row{max-width:520px;margin:12px 0 14px;}
  .cal-earn-toolbar{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin:0 0 14px;}
  .cal-earn-nav{display:flex;align-items:center;gap:8px;}
  .cal-earn-label{font-size:13px;color:var(--navy-soft);min-width:8em;}
  .cal-day-bar{flex:0 0 auto;width:36px;min-width:28px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;}
  .cal-day-bar i{display:block;width:100%;max-width:36px;background:var(--gold);min-height:4px;}
  .cal-day-bar span{font-size:10.5px;color:var(--muted);margin-top:6px;}
  .cal-earn-open{border:none;background:none;color:var(--navy);font:inherit;font-weight:700;cursor:pointer;text-decoration:underline;padding:0;}
  .auth-step-note{font-size:12.5px;color:var(--navy-soft);line-height:1.5;margin:0 0 14px;}

  /* ============================================================
     Windows: ClearType + antialiased navy on pale paper reads as 11px dust.
     Many Windows laptops also report pointer:coarse (touch), so a
     hover/fine query never fired. Size from the OS class + width.
     ============================================================ */
  html.is-windows{
    -webkit-font-smoothing:auto;
    -moz-osx-font-smoothing:auto;
    text-rendering:optimizeLegibility;
  }
  html.is-windows body{
    font-size:17px;
    line-height:1.65;
    -webkit-font-smoothing:auto;
    -moz-osx-font-smoothing:auto;
  }
  html.is-windows .nav-hamburger-text{font-size:13px;letter-spacing:0.08em;}
  html.is-windows .nav-links{font-size:15px;font-weight:600;}
  html.is-windows .card .sub{
    font-size:14px;letter-spacing:0.02em;line-height:1.5;
    text-transform:none;color:var(--navy-soft);font-family:var(--sans);font-weight:500;
  }
  html.is-windows .lbl, html.is-windows .price-readout .pr-lbl{font-size:13px;color:var(--navy-soft);}
    html.is-windows #scoreMosCard h2{font-size:18px;}
    html.is-windows #scoreMosCard .dial-center .num{font-size:38px;line-height:1;}
    html.is-windows #scoreMosCard .dial-center .lbl{font-size:10px;letter-spacing:0.06em;color:var(--muted);}
    html.is-windows #scoreMosCard .verdict{font-size:14.5px;}
    html.is-windows #scoreMosCard.score-report-head h2.sr-ticker{font-size:clamp(48px, 7vw, 76px);color:#fff;}
    html.is-windows #scoreMosCard.score-report-head .dial-center .num{font-size:clamp(40px, 5.4vw, 62px);color:#5BA86A;width:1.28em;height:1.28em;}
  html.is-windows .field label, html.is-windows .premium-modal .field label{
    font-size:13.5px;color:var(--navy);letter-spacing:0.04em;
  }
  html.is-windows .field input,
  html.is-windows .field select,
  html.is-windows .field textarea,
  html.is-windows .premium-modal .field input,
  html.is-windows .premium-modal .field textarea,
  html.is-windows input,
  html.is-windows select,
  html.is-windows textarea{
    font-size:16px;padding:12px 14px;background:#fff;border:1px solid var(--line);color:var(--navy);
  }
  html.is-windows .btn{font-size:13px;padding:13px 22px;}
  html.is-windows .alert-card{font-size:16px;}
  html.is-windows .alert-metrics dd{font-size:15px;}
  html.is-windows .alert-metrics dt{font-size:12px;}
  html.is-windows .tr-table{font-size:15px;}
  html.is-windows .tr-table th{font-size:12px;}
  html.is-windows .hero-lead{font-size:18px !important;line-height:1.55;}
  html.is-windows .ticker-search-row input{font-size:17px;padding:14px 16px;}
  html.is-windows .page-jump a{font-size:13px;padding:9px 12px;}

  /* Desktop type — width only. Do not require pointer:fine (Windows touch). */
  @media (min-width: 901px) {
    html { font-size: 18px; }
    body {
      font-size: 17px;
      line-height: 1.65;
      -webkit-font-smoothing: auto;
      -moz-osx-font-smoothing: auto;
      text-rendering: optimizeLegibility;
    }
    :root { --muted: #4E4A45; --navy-soft: #343C46; }

    .brand-word { font-size: 22px; }
    .brand-tagline {
      font-size: 12px !important;
      letter-spacing: 0.08em;
      max-width: 340px;
    }
    .nav-links {
      font-size: 14.5px;
      font-weight: 600;
      gap: 8px 20px;
    }
    .nav-links a { padding: 6px 0; }
    .nav-cta {
      font-size: 12px;
      padding: 9px 16px;
      letter-spacing: 0.06em;
    }
    .nav-cta.secondary {
      font-size: 16px;
      padding: 8px 14px;
    }
    .nav-cta.lunch-cta { padding: 7px 14px 8px; }
    .nav-cta.lunch-cta .cta-kicker { font-size: 10px; letter-spacing: 0.12em; }
    .nav-cta.lunch-cta .cta-label { font-size: 15px; }

    .hero-kicker { font-size: 13px; letter-spacing: 0.16em; color: var(--navy-soft); }
    .sec-kicker { font-size: 13px; color: var(--navy-soft); }
    .desk-welcome-kicker { font-size: 13px; letter-spacing: 0.14em; color: var(--navy-soft); }
    .desk-welcome-lanes .dw-k { font-size: 13px; letter-spacing: 0.1em; color: var(--navy-soft); }
    .zone-labels { font-size: 13px; }
    .zone-bar-caption, .legend-text { font-size: 14px; }
    .hero-lead {
      font-size: 19px !important;
      line-height: 1.55;
      max-width: 38em;
    }
    .command-headline.is-idle { font-weight: 600; }
    .ticker-search-row input { font-size: 17px; padding: 15px 16px; }
    .ticker-search-row button,
    #tickerSearchBtn {
      font-size: 14px;
      padding: 15px 24px;
      letter-spacing: 0.1em;
    }
    .quick-ticker-label { font-size: 13px; }
    .quick-ticker-chip {
      font-size: 14px;
      padding: 8px 14px;
      min-height: 38px;
    }
    .hero-steps .hs-n { font-size: 13px; }
    .hero-steps .hs-l { font-size: 17px; }
    .hero-stats-toggle { font-size: 13px; padding: 10px 18px; letter-spacing: 0.1em; }

    .desk-welcome { padding: 40px 36px 32px; }
    .desk-welcome-kicker { font-size: 13px; letter-spacing: 0.14em; color: var(--navy-soft); }
    .desk-welcome h3 { font-size: clamp(26px, 2.6vw, 36px); }
    .desk-welcome p { font-size: 18px; line-height: 1.6; max-width: 42em; }
    .desk-welcome-lanes a { padding: 18px 20px; }
    .desk-welcome-lanes .dw-k { font-size: 13px; letter-spacing: 0.1em; color: var(--navy-soft); }
    .desk-welcome-lanes .dw-t { font-size: 18px; }

    .card h2 { font-size: 22px; }
    .card .sub {
      font-size: 15px;
      letter-spacing: 0.02em;
      line-height: 1.5;
      text-transform: none;
      color: var(--navy-soft);
      font-family: var(--sans);
      font-weight: 500;
    }
    .desk-agent { padding: 18px 18px 16px; }
    .desk-agent h3 { font-size: 18px; }
    .desk-agent .da-kicker { font-size: 13px; }
    .desk-agent .da-nums { font-size: 14.5px; }
    .desk-agent .da-note { font-size: 16px; line-height: 1.55; }

    #deskAgentsStatus.fetch-status:not([hidden]) {
      display: block;
      background: var(--paper);
      color: var(--navy-soft);
      font-size: 15px;
      padding: 12px 14px;
      line-height: 1.5;
    }

    .lbl, .price-readout .pr-lbl { font-size: 13.5px; color: var(--navy-soft); }
    /* Score dial stays last week's size — laptop type bump must not inflate it. */
    #scoreMosCard h2 { font-size: 18px; }
    #scoreMosCard .dial-center .num { font-size: 38px; }
    #scoreMosCard .dial-center .lbl { font-size: 10px; letter-spacing: 0.06em; color: var(--muted); }
    #scoreMosCard .verdict { font-size: 14.5px; }
    #scoreMosCard.score-report-head h2.sr-ticker { font-size: clamp(48px, 7vw, 76px); color: #fff; }
    #scoreMosCard.score-report-head .dial-center .num { font-size: clamp(40px, 5.4vw, 62px); color: #5BA86A; width: 1.28em; height: 1.28em; }
    .price-readout .pr-val { font-size: 28px; }
    input, select, textarea {
      font-size: 16px;
      padding: 12px 14px;
      background: #fff;
      border: 1px solid var(--line);
      color: var(--navy);
    }
    .field label { font-size: 14px; color: var(--navy); letter-spacing: 0.04em; margin-bottom: 6px; }
    .field input, .field select {
      font-size: 16px;
      padding: 12px 14px;
      background: #fff;
    }
    .btn { font-size: 13.5px; padding: 14px 24px; letter-spacing: 0.08em; }
    .page-jump a { font-size: 13.5px; padding: 9px 12px; }
    .sec-sub { font-size: 17.5px; }
    .about-body { font-size: 17px; line-height: 1.7; max-width: 46em; }
    .about-kay { font-size: 17px; }
    .info-modal { font-size: 16.5px; }
    .info-modal-title { font-size: 21px; }
    .info-modal-text { font-size: 16.5px; line-height: 1.55; }
    .info-modal-link { font-size: 15px; }
    .premium-modal .field label { font-size: 14px; color: var(--navy); }
    .premium-modal .field input, .premium-modal .field textarea { font-size: 16px; padding: 12px 14px; }
    .premium-modal .pf-submit-btn { font-size: 14px; padding: 14px; }
    .auth-step-note { font-size: 15px; }
    .academy-card p, .academy-course p { font-size: 16px; }
    .ac-lvl { font-size: 13px; }
    .pa-sort-btn, .tr-period-btn { font-size: 14.5px; padding: 9px 14px; }
    .fetch-status { font-size: 14.5px; }
    .legal-strip-title { font-size: 16.5px; }
    .subscore-row { font-size: 14.5px; }
    .zone-bar-caption, .legend-text { font-size: 14px; }
    .field label, .premium-modal .field label { font-size: 14px; color: var(--navy); }
    .alert-card { font-size: 15px; }
    .alert-card .tk { font-size: 18px; }
    .tr-table { font-size: 14.5px; }
    .screener { font-size: 14px; }
  }

  /* Brand + actions on the first row, every page link on the second.
     Stops the 11-link navy bar from shrinking to 12px on a 13" Windows laptop. */
  @media (min-width: 901px) and (max-width: 1679px) {
    nav.topnav .nav-inner {
      flex-wrap: wrap;
      justify-content: flex-start;
      align-items: center;
      column-gap: 10px;
      row-gap: 0;
    }
    nav.topnav .brand-group {
      order: 1;
      margin-right: auto;
    }
    nav.topnav a.nav-cta,
    nav.topnav a.nav-cta.secondary,
    nav.topnav a.nav-cta.lunch-cta,
    nav.topnav a.nav-cta.ask-cta {
      order: 2;
      margin-right: 0;
      margin-left: 8px;
    }
    nav.topnav .nav-links-wrap {
      order: 3;
      flex: 1 0 100%;
      width: 100%;
      padding: 8px 0 2px;
      margin-top: 6px;
      border-top: 1px solid rgba(226,214,174,0.28);
    }
    nav.topnav .nav-links {
      flex-wrap: wrap;
      overflow: visible;
      gap: 6px 24px;
      font-size: 16px;
    }
    nav.topnav .nav-scroll-fade { display: none !important; }
    [id] { scroll-margin-top: calc(118px + env(safe-area-inset-top, 0px)); }
  }

  /* Two-column hero from laptop width, with a short gap so search sits next to the pitch. */
  @media (min-width: 1100px) {
    header.hero {
      padding: 40px 0 32px;
      text-align: left;
    }
    .hero-inner {
      display: grid;
      grid-template-columns: minmax(0, 1.05fr) minmax(340px, 0.95fr);
      gap: 20px 40px;
      align-items: start;
    }
    .hero-copy, .hero-act { text-align: left; }
    .command-headline.is-idle {
      margin: 0 0 14px;
      text-align: left;
      max-width: 16em;
    }
    .hero-lead { margin: 0; text-align: left; }
    .ticker-search-wrap, .ticker-search-row { max-width: none; width: 100%; margin: 0; }
    .quick-ticker-row { justify-content: flex-start; }
    .hero-steps { margin: 20px 0 0; max-width: none; justify-content: flex-start; }
    .hero-stats-toggle { margin: 16px 0 0; }
    .hero-resolve-note { text-align: left; }
    #heroStatsPanel { max-width: var(--page-max); margin: 12px auto 0; padding: 0 28px; }
    #askAtlasFab { display: none !important; }
  }
  @media (min-width: 1440px) {
    .hero-inner { gap: 24px 48px; }
    #heroStatsPanel { padding: 0 36px; }
  }
  @media (min-width: 1920px) {
    .hero-inner { gap: 28px 56px; }
    #heroStatsPanel { padding: 0 48px; }
  }

