/* Phase 1 presentation. Existing pricing and classification contracts are unchanged. */
.find-cards-page { --page-bg:#141b20; --panel:#1d282f; --text:#f0f4f4; --muted:#bac8cb; --accent:#75d8c4; background:var(--page-bg); color:var(--text); font:16px/1.6 system-ui,sans-serif; margin:0; }
.find-cards-page * { box-sizing:border-box; }
.find-cards-page a { color:var(--accent); text-underline-offset:4px; }
.find-cards-page :focus-visible { outline:3px solid #f6c76a; outline-offset:4px; }
.find-cards-page .skip-link { position:absolute; left:16px; top:-90px; z-index:20; padding:12px; background:var(--panel); }
.find-cards-page .skip-link:focus { top:8px; }
.find-cards-page .topbar { position:static; width:auto; height:auto; background:var(--page-bg); border-bottom:1px solid #3b4c54; }
.find-cards-page .topbar-inner { max-width:1248px; margin:auto; display:flex; align-items:center; flex-wrap:wrap; gap:24px; padding:16px 24px; }
.find-cards-page .brand-link { color:var(--text); font-weight:800; font-size:24px; text-decoration:none; }
.find-cards-page .brand-lockup { display:flex; align-items:center; gap:8px; }
.find-cards-page .topbar-nav { display:flex; flex-wrap:wrap; gap:8px; flex:1; }
.find-cards-page .topbar-nav-link, .find-cards-page .account-entry { min-height:44px; padding:10px 12px; display:inline-flex; align-items:center; font-size:16px; text-decoration:none; white-space:normal; }
.find-cards-page .topbar-nav-link[aria-current="page"] { color:var(--text); border-bottom:2px solid var(--accent); }
.find-cards-main { max-width:1248px; padding:48px 24px; margin:auto; }
.budget-hero { max-width:850px; margin:0 0 48px; }
.budget-hero h1 { font-size:clamp(32px,4vw,52px); line-height:1.12; letter-spacing:-.025em; margin:16px 0; }
.find-cards-page .eyebrow { color:var(--accent); font-size:14px; }
.hero-copy { font-size:20px; color:var(--muted); max-width:650px; }
.find-budget-form { display:flex; gap:16px; align-items:end; flex-wrap:wrap; margin:32px 0 24px; }
.find-budget-form label { display:grid; gap:8px; flex:1; min-width:150px; font-weight:600; }
.find-budget-form input, .find-budget-form select { width:100%; min-height:48px; background:#11191d; border:1px solid #7c939e; border-radius:8px; padding:10px 12px; color:var(--text); font:inherit; }
.find-budget-form button { min-height:48px; background:var(--accent); color:#10201f; border:0; border-radius:8px; padding:12px 24px; font:inherit; font-weight:700; cursor:pointer; }
.evidence-note { color:var(--muted); font-size:14px; margin-bottom:4px; }
.budget-results { max-width:960px; }
.budget-results h2 { font-size:28px; }
#budget-opportunity-status { color:var(--muted); }
.find-cards-page .budget-result-card { background:var(--panel); border:1px solid #40515a; border-radius:12px; padding:24px; margin:24px 0; overflow-wrap:anywhere; box-shadow:none; }
.budget-result-card h3 { font-size:24px; margin:0 0 8px; }
.find-cards-page .intelligence-board-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:24px 0; }
.find-cards-page .intelligence-board-metrics > * { background:none; border:0; padding:0; min-width:0; }
.budget-result-card .metric-label { color:var(--muted); }
.budget-result-card .metric-value { font-size:18px; color:var(--text); }
.budget-result-card .budget-loss { color:#ffb9b0; }
.budget-result-card a { display:inline-flex; min-height:44px; align-items:center; margin-right:16px; }
.find-cards-page summary { min-height:44px; padding:10px 0; cursor:pointer; color:var(--accent); }
.coverage-method { margin-top:40px; border-top:1px solid #40515a; padding:16px 0; max-width:960px; }
.find-next { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:40px 0; }
.find-next a { padding:24px; border:1px solid #40515a; border-radius:12px; text-decoration:none; }
.find-next span { display:block; color:var(--muted); margin-top:8px; }
.find-cards-page .site-footer { margin:0; padding:24px; border-top:1px solid #40515a; background:var(--page-bg); }
.find-cards-page .footer-inner { max-width:1200px; margin:auto; display:flex; flex-wrap:wrap; gap:8px 24px; }
.find-cards-page .footer-inner a { min-height:44px; display:inline-flex; align-items:center; }
@media(max-width:700px) {
 .find-cards-page .topbar-inner { padding:12px 16px; gap:8px; }
 .find-cards-page .topbar-nav { order:3; flex-basis:100%; gap:0; }
 .find-cards-page .topbar-nav-link { padding:10px 8px; font-size:14px; }
 .find-cards-page .account-entry { margin-left:auto; }
 .find-cards-main { padding:32px 16px; }
 .find-budget-form { display:grid; grid-template-columns:minmax(0,1fr); }
 .find-cards-page .intelligence-board-metrics { grid-template-columns:minmax(0,1fr); }
 .find-cards-page .budget-result-card { padding:20px 16px; }
 .find-next { grid-template-columns:minmax(0,1fr); }
}
/* Override the legacy desktop rail decoration on the homepage only. */
.find-cards-page .topbar { border-radius:0; box-shadow:none; backdrop-filter:none; overflow:visible; }
.find-cards-page .topbar::before, .find-cards-page .topbar-nav::before, .find-cards-page .topbar-nav-link[data-nav-key]::before { content:none; }
.find-cards-page .topbar-nav { flex-direction:row; align-items:center; background:none; border:0; padding:0; border-radius:0; }
.find-cards-page .topbar-nav-link { background:none; border:0; border-radius:0; letter-spacing:normal; text-transform:none; box-shadow:none; }
.find-cards-page .brand-link { display:block; background:none; padding:0; border:0; border-radius:0; box-shadow:none; }
.find-cards-page .brand-link::before, .find-cards-page .brand-link::after { content:none; }
.find-cards-page .brand-lockup .beta-badge { margin:0; }
.find-cards-page .budget-result-card .metric { background:none; border:0; box-shadow:none; }
/* Compact homepage cards. Full compiler detail remains in native disclosures. */
.find-cards-page .budget-result-card { display:grid; grid-template-columns:180px minmax(0,1fr); gap:24px; }
.budget-card-content { min-width:0; }
.find-cards-page .budget-card-media { display:block; position:relative; align-self:start; width:100%; margin:0; text-decoration:none; }
.budget-card-media img { display:block; width:100%; height:auto; aspect-ratio:5/7; object-fit:contain; border-radius:8px; }
.budget-card-media .budget-card-image { position:absolute; top:0; left:0; }
.budget-image-caption { display:block; color:var(--muted); font-size:12px; line-height:1.4; margin-top:8px; }
.find-cards-page .budget-result-card h3 a { margin:0; line-height:1.3; }
.budget-print, .budget-card-status { font-size:14px; margin:8px 0; color:var(--muted); }
.budget-card-costs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:16px 0; }
.budget-card-costs .metric { padding:0; min-width:0; }
.budget-card-costs .metric-label, .budget-card-costs .metric-value { display:block; }
.budget-estimate-note, .budget-card-evidence, .budget-more-blockers { font-size:14px; color:var(--muted); margin:8px 0; }
.budget-key-blockers { padding-left:20px; margin:12px 0; }
.budget-card-analysis { border-top:1px solid #40515a; margin:12px 0; }
.budget-secondary-group { border-top:1px solid #40515a; margin:24px 0; }
.budget-secondary-group > summary { font-size:18px; font-weight:600; }
.budget-negative-summary { border-left:3px solid #f6c76a; padding:8px 16px; }
@media(max-width:700px) {
 .find-cards-page .budget-result-card { grid-template-columns:104px minmax(0,1fr); gap:12px; }
 .budget-result-card h3 { font-size:20px; }
 .budget-card-costs { grid-template-columns:minmax(0,1fr); gap:12px; }
 .budget-card-content { display:contents; }
 .budget-card-content > * { grid-column:1 / -1; margin-top:0; }
 .budget-card-content > h3 { grid-column:2; grid-row:1; align-self:center; }
 .budget-card-media { grid-column:1; grid-row:1; }
 .budget-card-content .intelligence-board-metrics { grid-template-columns:minmax(0,1fr); }
}
.budget-card-analysis pre { white-space:pre-wrap; overflow-wrap:anywhere; font-size:13px; }
.budget-card-analysis ul { padding-left:20px; }
.budget-card-costs .budget-loss .metric-value { color:#ffb9b0; }
/* A narrow market pulse; the budget task remains the primary surface. */
.market-watch-ticker { min-width:0; margin:12px 0 8px; border-bottom:1px solid var(--border, #344149); padding-bottom:12px; }
.ticker-heading { display:flex; align-items:center; flex-wrap:wrap; gap:12px; font-size:13px; color:#b8c5cc; }
.ticker-heading strong { color:#eef3f5; }
.ticker-heading button { margin-left:auto; padding:6px 12px; min-height:44px; font-size:13px; }
.ticker-viewport { overflow-x:auto; max-width:100%; margin-top:8px; }
.ticker-track { display:flex; width:max-content; animation:ticker-scroll 75s linear infinite; }
.ticker-items { display:flex; gap:24px; align-items:center; list-style:none; padding:0 24px 0 0; margin:0; }
.find-cards-page .ticker-card { display:grid; grid-template-columns:32px minmax(0,230px); gap:10px; align-items:center; width:272px; aspect-ratio:auto; text-decoration:none; position:relative; }
.ticker-card .budget-card-back, .ticker-card .budget-card-image { width:32px; height:45px; object-fit:contain; grid-area:1/1; }
.ticker-card .budget-card-image { position:absolute; left:0; top:0; }
.ticker-card .budget-image-caption { display:none; }
.ticker-card-text { grid-column:2; display:grid; gap:3px; font-size:12px; color:#b8c5cc; }
.ticker-card-text strong { font-size:14px; color:#eef3f5; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.market-watch-ticker:hover .ticker-track, .market-watch-ticker:focus-within .ticker-track, .ticker-paused .ticker-track { animation-play-state:paused; }
@keyframes ticker-scroll { to { transform:translateX(-50%); } }
@media (prefers-reduced-motion:reduce) { .ticker-track { animation:none; } .ticker-items[aria-hidden] { display:none; } #ticker-pause { display:none; } }
.market-pulse { margin:32px 0; border:1px solid #344149; border-radius:12px; padding:24px; min-width:0; }
.pulse-heading { display:flex; gap:16px; justify-content:space-between; align-items:center; }
.pulse-heading h2 { margin:4px 0; }
.pulse-controls { display:flex; flex-wrap:wrap; gap:16px; margin:20px 0; }
.pulse-controls label { display:grid; gap:8px; flex:1; min-width:140px; }
.pulse-controls select { width:100%; min-height:44px; }
.pulse-movement { font-size:18px; }
.pulse-movement strong { font-size:26px; }
.pulse-chart { width:100%; display:block; color:#79d7c4; background:#10191f; border-radius:8px; }
.pulse-chart text { fill:#c6d3db; font-size:13px; }
.market-pulse details { margin-top:16px; }
.market-pulse summary { min-height:44px; padding:12px 0; cursor:pointer; }
.market-pulse table { width:100%; font-size:14px; text-align:left; }
.market-pulse th, .market-pulse td { padding:8px 4px; }
@media(max-width:700px) { .market-pulse { padding:16px; } .pulse-heading { display:block; } .pulse-controls { gap:12px; } .pulse-controls label:first-child { flex-basis:100%; } .pulse-controls label { min-width:100px; } .ticker-heading span { font-size:12px; } .ticker-card-text { font-size:11px; } }
.pulse-controls select { background:#10191f; color:var(--text); border:1px solid #66818c; border-radius:8px; padding:10px; font:inherit; }
.pulse-chart { height:240px; }
.pulse-axis { display:flex; justify-content:space-between; gap:8px; color:var(--muted); font-size:14px; padding-top:8px; }
@media(max-width:700px) { .pulse-chart { height:180px; } .find-cards-main { padding-top:16px; } .market-watch-ticker { margin-top:0; } }
.find-cards-page .budget-card-content > h3 { margin:0; }
.find-cards-page .budget-card-content > p { margin:8px 0; }
.find-cards-page .budget-card-content > ul { margin:8px 0; }
@media(max-width:700px) {
 .find-cards-page .budget-result-card { row-gap:8px; }
 .find-cards-page .budget-card-content > p, .find-cards-page .budget-card-content > ul { margin:4px 0; }
}

/* Old market-chart visual vocabulary with date-aware, unsmoothed geometry. */
.pulse-chart { height:auto; background:var(--panel); color:var(--cv-green); }
.pulse-chart .homepage-trend-axis { fill:var(--text); font-size:12px; }
.pulse-chart .homepage-trend-gridline { stroke:var(--border); }
.pulse-chart .homepage-trend-line { stroke-width:3; }
.pulse-chart .pulse-observation { fill:var(--text); opacity:.65; }
.pulse-cursor { fill:var(--panel); stroke:var(--text); stroke-width:2; }
.pulse-cursor[hidden] { display:none; }
.pulse-summary { display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px; margin:24px 0 16px; }
.pulse-movement { display:grid; gap:4px; }
.pulse-movement strong { font-size:36px; line-height:1.1; }
.pulse-movement.up strong { color:var(--cv-green); }
.pulse-movement.down strong { color:var(--cv-red); }
.pulse-movement span,.pulse-evidence span { display:block; font-size:14px; color:var(--muted); }
.pulse-tooltip { min-height:44px; margin:8px 0; font-size:14px; color:var(--text); }
.pulse-controls select { background:var(--panel); }
.homepage-auctions { margin:32px 0; padding:24px; border:1px solid var(--border); border-radius:12px; }
.homepage-auction-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:24px; }
.homepage-auction-card { display:grid; grid-template-columns:90px minmax(0,1fr); gap:16px; padding:16px; background:var(--panel); border:1px solid var(--border); border-radius:12px; min-width:0; }
.homepage-auction-card h3 { margin:8px 0; overflow-wrap:anywhere; font-size:18px; }
.homepage-auction-card p { font-size:14px; margin:8px 0; overflow-wrap:anywhere; }
.homepage-auction-card .budget-card-media { width:90px; align-self:start; }
.homepage-auction-card a { display:inline-flex; min-height:44px; align-items:center; }
.auction-observed-bid strong { font-size:22px; display:block; }
@media(max-width:700px) {
  .market-pulse,.homepage-auctions { padding:16px; }
  .homepage-auction-grid { grid-template-columns:minmax(0,1fr); }
  .homepage-auction-card { grid-template-columns:72px minmax(0,1fr); gap:12px; padding:12px; }
  .homepage-auction-card .budget-card-media { width:72px; }
  .pulse-movement strong { font-size:32px; }
}
@media(max-width:700px) {
  .homepage-auction-body { display:contents; }
  .homepage-auction-body > * { grid-column:1 / -1; }
  .homepage-auction-card .budget-card-media { grid-column:1; grid-row:1 / 3; }
  .homepage-auction-body > .eyebrow { grid-column:2; grid-row:1; margin:0; }
  .homepage-auction-body > h3 { grid-column:2; grid-row:2; margin:0; }
  .homepage-auction-card p { margin:0; }
  .homepage-auction-card { gap:8px 12px; }
  .auction-observed-bid strong { display:inline; margin-left:8px; }
}
