:root {
  --navy: #0f1b2d;
  --navy-2: #162844;
  --ink: #172337;
  --muted: #65748a;
  --soft: #8d9aae;
  --line: #dfe5ed;
  --canvas: #f3f5f8;
  --surface: #ffffff;
  --blue: #5b65ed;
  --blue-soft: #edf0ff;
  --cyan: #1cc7b2;
  --cyan-soft: #e2f8f4;
  --lime: #c9f26b;
  --amber: #e19a2b;
  --amber-soft: #fff4df;
  --purple: #8a62ed;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--canvas);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; background: var(--canvas); }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
button { cursor: pointer; }
.site-shell { min-height: 100vh; }

.topbar { height: 72px; color: #fff; background: var(--navy); }
.topbar-inner { width: min(1320px, calc(100% - 56px)); height: 100%; margin: auto; display: flex; align-items: center; gap: 36px; }
.brand { display: flex; align-items: center; gap: 10px; margin-right: auto; }
.brand-mark { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid #536980; border-radius: 9px; color: #fff; font-size: 13px; font-weight: 800; letter-spacing: -.08em; }
.brand-mark.small { width: 24px; height: 24px; border-color: var(--line); color: var(--navy); font-size: 10px; }
.brand-copy { display: flex; flex-direction: column; gap: 3px; line-height: 1; }
.brand-copy strong { font-size: 14px; letter-spacing: -.02em; }
.brand-copy small { color: #91a4bb; font-size: 8px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.main-nav { display: flex; align-items: center; gap: 2px; height: 100%; }
.main-nav a { height: 100%; display: inline-flex; align-items: center; padding: 0 13px; color: #aebdd0; border-bottom: 2px solid transparent; font-size: 11px; font-weight: 750; }
.main-nav a:hover, .main-nav a.active { color: #fff; border-bottom-color: var(--lime); }
.saved-button { border: 1px solid #38516d; border-radius: 7px; padding: 9px 12px; color: #eff5ff; background: #172944; font-size: 10px; font-weight: 750; }
.saved-button span { color: var(--cyan); font-size: 17px; vertical-align: -2px; margin-right: 4px; }
.saved-button b { display: inline-grid; place-items: center; min-width: 17px; height: 17px; margin-left: 3px; border-radius: 4px; color: var(--navy); background: var(--lime); font-size: 9px; }

.hero { color: #fff; background: var(--navy); }
.hero-inner { width: min(1320px, calc(100% - 56px)); margin: auto; padding: 50px 0 43px; }
.hero-meta { display: flex; align-items: center; gap: 14px; color: #8ea2bb; font-size: 9px; }
.eyebrow { color: var(--blue); font-size: 9px; font-weight: 850; letter-spacing: .12em; }
.hero .eyebrow, .category-hero .eyebrow { color: var(--cyan); }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 105px; align-items: end; margin-top: 19px; }
.hero-copy { max-width: 790px; }
h1, h2, h3, p { margin-top: 0; }
.hero h1 { max-width: 700px; margin-bottom: 14px; color: #fff; font-size: clamp(42px, 5vw, 67px); line-height: .98; letter-spacing: -.075em; }
.hero h1 span { color: var(--lime); }
.hero-copy > p { max-width: 610px; margin-bottom: 26px; color: #b4c2d2; font-size: 14px; line-height: 1.55; }
.search-bar { min-height: 58px; display: flex; align-items: center; gap: 10px; padding: 6px 7px 6px 17px; border: 1px solid #50657e; border-radius: 8px; background: #fff; box-shadow: 0 6px 22px rgba(4, 11, 23, .14); }
.search-bar:focus-within { border-color: var(--lime); box-shadow: 0 0 0 3px rgba(201,242,107,.18); }
.search-icon { color: var(--blue); font-size: 26px; line-height: 1; transform: rotate(-15deg); }
.search-bar input { min-width: 0; flex: 1; border: 0; outline: 0; color: var(--ink); background: transparent; font-size: 12px; }
.search-bar input::placeholder { color: #8d99aa; }
.search-bar button { border: 0; border-radius: 6px; padding: 13px 17px; color: var(--navy); background: var(--lime); font-size: 10px; font-weight: 850; }
.search-bar button:hover { background: #dbff90; }
.example-links { display: flex; flex-wrap: wrap; gap: 7px 15px; margin-top: 12px; color: #8ea2bb; font-size: 9px; }
.example-links a { color: #c4d1df; font-weight: 750; }.example-links a:hover { color: var(--lime); }
.hero-note { padding: 18px; border: 1px solid #36516e; border-radius: 10px; background: var(--navy-2); }
.note-label { color: #8ea2bb; font-size: 9px; font-weight: 850; letter-spacing: .12em; }
.hero-note-number { margin-top: 21px; color: var(--lime); font-size: 42px; font-weight: 800; letter-spacing: -.08em; line-height: 1; }
.hero-note h2 { margin: 6px 0 18px; color: #fff; font-size: 16px; line-height: 1.15; letter-spacing: -.04em; }
.hero-note-row { display: grid; grid-template-columns: auto 1fr auto 1fr; gap: 4px 8px; align-items: baseline; padding: 12px 0; border-top: 1px solid #304966; border-bottom: 1px solid #304966; }
.hero-note-row span { color: var(--cyan); font-size: 16px; font-weight: 800; }.hero-note-row small { color: #9db0c5; font-size: 9px; }.hero-note a { display: block; margin-top: 16px; color: var(--lime); font-size: 10px; font-weight: 800; }

.stats-strip { border-bottom: 1px solid var(--line); background: #e9eef5; }.stats-inner { width: min(1320px, calc(100% - 56px)); margin: auto; display: grid; grid-template-columns: repeat(4, 1fr); }.stats-inner > div { display: flex; flex-direction: column; gap: 3px; padding: 17px 20px 16px 0; border-right: 1px solid #d8e0ea; }.stats-inner > div:not(:first-child) { padding-left: 20px; }.stats-inner > div:last-child { border-right: 0; }.stats-inner strong { color: var(--navy); font-size: 22px; letter-spacing: -.06em; }.stats-inner span { color: var(--muted); font-size: 9px; font-weight: 650; }.stats-inner .warning-stat strong, .stats-inner .warning-stat span { color: var(--amber); }

.intent-wrap { border-bottom: 1px solid var(--line); background: var(--surface); }.intent-inner { width: min(1320px, calc(100% - 56px)); margin: auto; display: flex; align-items: center; gap: 25px; min-height: 62px; }.intent-label { flex: 0 0 auto; color: var(--soft); font-size: 9px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }.intent-tabs { display: flex; align-items: center; gap: 2px; min-width: 0; overflow: auto; }.intent-tabs a { display: inline-flex; align-items: center; gap: 6px; height: 62px; padding: 0 12px; color: var(--muted); border-bottom: 2px solid transparent; white-space: nowrap; font-size: 10px; font-weight: 800; }.intent-tabs a:hover, .intent-tabs a.active { color: var(--blue); border-bottom-color: var(--blue); }.intent-tabs b { color: var(--soft); font-size: 9px; }.intent-tabs a.active b { color: var(--blue); }

.main-layout { width: min(1320px, calc(100% - 56px)); margin: auto; display: grid; grid-template-columns: 225px minmax(0, 1fr) 272px; gap: 22px; align-items: start; padding: 29px 0 64px; }.filter-panel { min-width: 0; padding: 18px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); }.filter-heading { display: flex; align-items: start; justify-content: space-between; gap: 5px; margin-bottom: 17px; }.filter-heading h2 { margin: 7px 0 0; color: var(--navy); font-size: 17px; letter-spacing: -.05em; }.filter-heading button { border: 0; padding: 2px 0; color: var(--blue); background: transparent; font-size: 9px; font-weight: 850; }.filter-search { display: flex; align-items: center; gap: 5px; padding: 8px 9px; border: 1px solid var(--line); border-radius: 6px; background: var(--canvas); }.filter-search span { color: var(--blue); font-size: 17px; transform: rotate(-15deg); }.filter-search input { width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; font-size: 10px; }
fieldset { margin: 19px 0 0; padding: 0 0 17px; border: 0; border-bottom: 1px solid var(--line); } legend { margin-bottom: 10px; padding: 0; color: var(--navy); font-size: 10px; font-weight: 850; } fieldset label { display: flex; align-items: center; gap: 7px; margin: 10px 0 0; color: var(--muted); font-size: 10px; } fieldset label input { width: 13px; height: 13px; margin: 0; accent-color: var(--blue); } fieldset label b { margin-left: auto; color: var(--soft); font-size: 9px; font-weight: 650; }.more-link { border: 0; padding: 11px 0 0; color: var(--blue); background: transparent; font-size: 9px; font-weight: 800; }.filter-help { display: flex; justify-content: space-between; margin-top: 16px; color: var(--blue); font-size: 9px; font-weight: 850; }

.results-panel { min-width: 0; }.results-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding-bottom: 17px; border-bottom: 1px solid var(--line); }.results-heading h2 { margin: 7px 0 4px; color: var(--navy); font-size: 24px; letter-spacing: -.06em; }.results-heading p { margin: 0; color: var(--muted); font-size: 10px; }.sort-label { display: flex; align-items: center; gap: 7px; color: var(--soft); font-size: 9px; font-weight: 750; white-space: nowrap; }.sort-label select { border: 1px solid var(--line); border-radius: 6px; padding: 8px 9px; color: var(--ink); background: var(--surface); font-size: 10px; }.comparison-row { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding: 13px 0; color: var(--soft); font-size: 9px; }.comparison-row > span { margin-right: 3px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }.comparison-row a { padding: 6px 8px; border: 1px solid var(--line); border-radius: 5px; color: var(--muted); background: var(--surface); font-size: 9px; font-weight: 750; }.comparison-row a:hover { border-color: #aeb9ef; color: var(--blue); }.comparison-row a b { color: var(--blue); }.comparison-row .all-link { padding-inline: 2px; border-color: transparent; color: var(--blue); background: transparent; }
.card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }.app-card { min-width: 0; padding: 16px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); transition: border-color 150ms ease, box-shadow 150ms ease, transform 150ms ease; }.app-card:hover { border-color: #a9b7f0; box-shadow: 0 10px 24px rgba(29, 47, 78, .09); transform: translateY(-2px); }.card-header { display: flex; align-items: center; gap: 8px; }.project-icon { display: grid; place-items: center; width: 34px; height: 34px; flex: 0 0 auto; border-radius: 8px; color: #fff; font-size: 14px; font-weight: 850; }.project-icon.blue { background: var(--blue); }.project-icon.purple { background: var(--purple); font-size: 10px; }.project-icon.navy { background: var(--navy); }.project-icon.green { background: var(--cyan); color: var(--navy); }.project-name { display: flex; flex-direction: column; gap: 4px; min-width: 0; }.project-name strong { color: var(--navy); font-size: 12px; }.project-name span { overflow: hidden; color: var(--soft); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }.activity { margin-left: auto; font-size: 9px; font-weight: 850; white-space: nowrap; }.activity.good { color: var(--cyan); }.activity.neutral { color: var(--amber); }.app-card h3 { margin: 19px 0 6px; color: var(--navy); font-size: 15px; line-height: 1.18; letter-spacing: -.045em; }.card-summary { min-height: 38px; margin-bottom: 13px; color: var(--muted); font-size: 10px; line-height: 1.5; }.alternative-line { display: flex; align-items: baseline; gap: 6px; padding: 9px 0; border-top: 1px solid #edf0f4; border-bottom: 1px solid #edf0f4; }.alternative-line span { color: var(--soft); font-size: 9px; }.alternative-line strong { color: var(--blue); font-size: 10px; }.metadata { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 11px; }.metadata span { padding: 4px 6px; border-radius: 4px; color: var(--muted); background: #f0f3f7; font-size: 9px; }.metadata .license { color: #118c79; background: var(--cyan-soft); }.metadata .license.review { color: var(--amber); background: var(--amber-soft); }.opportunity-line { display: flex; align-items: center; gap: 6px; margin-top: 14px; color: var(--muted); font-size: 9px; }.opportunity-line strong { color: var(--navy); }.opportunity-line > span:last-child { margin-left: auto; color: var(--soft); }.path-icon { display: grid; place-items: center; width: 16px; height: 16px; border-radius: 4px; color: var(--blue); background: var(--blue-soft); font-size: 10px; font-weight: 900; }.opportunity-line.warning .path-icon { color: var(--amber); background: var(--amber-soft); }.opportunity-line.warning strong { color: var(--amber); }.card-footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 17px; padding-top: 11px; border-top: 1px solid #edf0f4; }.evidence { padding: 4px 6px; border-radius: 4px; font-size: 9px; font-weight: 850; }.evidence.good { color: #118c79; background: var(--cyan-soft); }.evidence.warning { color: var(--amber); background: var(--amber-soft); }.card-footer a { color: var(--blue); font-size: 9px; font-weight: 850; }.card-footer a:hover { text-decoration: underline; }.pagination { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 20px; color: var(--soft); font-size: 9px; }.pagination div { display: flex; gap: 3px; }.pagination button { min-width: 26px; height: 26px; border: 1px solid var(--line); border-radius: 5px; color: var(--muted); background: var(--surface); font-size: 10px; }.pagination button.active { border-color: var(--blue); color: #fff; background: var(--blue); }.pagination button:disabled { opacity: .45; cursor: default; }

.right-rail { display: flex; flex-direction: column; gap: 12px; }.rail-card { padding: 17px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); }.opportunity-card { color: #fff; border-color: var(--navy-2); background: var(--navy-2); }.rail-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }.opportunity-card .eyebrow { color: var(--lime); }.rail-icon { color: var(--cyan); font-size: 16px; }.rail-card h2 { margin: 12px 0 8px; color: var(--navy); font-size: 17px; line-height: 1.15; letter-spacing: -.05em; }.opportunity-card h2 { color: #fff; }.rail-card > p { margin-bottom: 17px; color: var(--muted); font-size: 10px; line-height: 1.5; }.opportunity-card > p { color: #b3c2d4; }.mini-path { display: flex; gap: 8px; padding: 9px 0; border-top: 1px solid rgba(255,255,255,.13); }.path-dot { width: 7px; height: 7px; flex: 0 0 auto; margin-top: 4px; border-radius: 50%; }.green-dot { background: var(--lime); }.blue-dot { background: #8aa7ff; }.amber-dot { background: #f0b64c; }.mini-path div { display: flex; flex-direction: column; gap: 3px; }.mini-path strong { color: #fff; font-size: 10px; }.mini-path small { color: #a8bad0; font-size: 9px; }.rail-link { display: inline-block; margin-top: 12px; color: var(--blue); font-size: 9px; font-weight: 850; }.opportunity-card .rail-link { color: var(--lime); }.queue-count { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 5px; color: var(--amber); background: var(--amber-soft); font-size: 10px; font-weight: 850; }.queue-row { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 12px; padding: 8px 0 0; color: var(--muted); border-top: 1px solid #edf0f4; font-size: 9px; }.queue-row b { color: var(--navy); }.queue-bar { position: absolute; top: -1px; left: 0; height: 2px; border-radius: 2px; background: var(--blue); }.queue-bar.amber { background: var(--amber); }.queue-bar.gray { background: #aab5c1; }.updates-card { display: grid; gap: 0; }.updates-card .live-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 0 4px var(--cyan-soft); }.updates-card a { display: flex; flex-direction: column; gap: 2px; padding: 12px 0 0; margin-top: 10px; border-top: 1px solid #edf0f4; }.updates-card a strong { color: var(--navy); font-size: 10px; }.updates-card a span { color: var(--soft); font-size: 9px; }

.footer { border-top: 1px solid var(--line); background: #fff; }.footer-inner { width: min(1320px, calc(100% - 56px)); min-height: 70px; margin: auto; display: flex; align-items: center; justify-content: space-between; gap: 20px; color: var(--soft); font-size: 9px; }.footer-inner > div { display: flex; align-items: center; gap: 7px; color: var(--navy); }.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* Category screen */
.category-hero { color: #fff; background: var(--navy); }.category-hero-inner { padding-top: 40px; padding-bottom: 38px; }.category-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 90px; align-items: end; margin-top: 22px; }.category-hero h1 { max-width: 670px; margin-bottom: 12px; color: #fff; font-size: clamp(38px, 4vw, 56px); line-height: 1.01; letter-spacing: -.07em; }.category-hero-grid > div > p { max-width: 670px; margin-bottom: 23px; color: #b4c2d2; font-size: 14px; line-height: 1.6; }.category-count { padding: 18px; border: 1px solid #36516e; border-radius: 10px; background: var(--navy-2); }.category-count strong { display: block; color: var(--lime); font-size: 43px; line-height: 1; letter-spacing: -.08em; }.category-count > span { display: block; margin-top: 5px; color: #fff; font-size: 11px; font-weight: 800; }.category-count p { margin: 15px 0 0; color: #aebed0; font-size: 10px; line-height: 1.55; }.category-layout { width: min(1320px, calc(100% - 56px)); margin: auto; display: grid; grid-template-columns: minmax(0, 1fr) 272px; gap: 25px; align-items: start; padding: 32px 0 64px; }.category-results-heading { display: flex; justify-content: space-between; align-items: end; gap: 20px; padding-bottom: 17px; border-bottom: 1px solid var(--line); }.category-results-heading h2 { margin: 7px 0 4px; color: var(--navy); font-size: 25px; letter-spacing: -.06em; }.category-results-heading h2 small { color: var(--soft); font-size: 12px; font-weight: 600; letter-spacing: 0; }.category-results-heading p { margin: 0; color: var(--muted); font-size: 10px; }.category-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 18px; }.category-card { display: grid; grid-template-columns: 38px minmax(0, 1fr) 16px; align-items: start; gap: 11px; min-height: 123px; padding: 15px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); transition: border-color 150ms ease, box-shadow 150ms ease, transform 150ms ease; }.category-card:hover { border-color: #a9b7f0; box-shadow: 0 10px 24px rgba(29,47,78,.09); transform: translateY(-2px); }.category-card > span:nth-child(2) { min-width: 0; }.category-card strong { display: block; color: var(--navy); font-size: 11px; line-height: 1.3; }.category-card small { display: block; margin-top: 7px; color: var(--muted); font-size: 9px; line-height: 1.45; }.category-card em { display: block; margin-top: 10px; color: var(--blue); font-size: 9px; font-style: normal; font-weight: 850; }.category-card > b { color: var(--blue); font-size: 14px; }.category-icon { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 8px; color: #fff; font-size: 10px; font-weight: 850; }.category-icon.blue { background: var(--blue); }.category-icon.green { background: var(--cyan); color: var(--navy); }.category-icon.purple { background: var(--purple); }.category-icon.navy { background: var(--navy); }.category-icon.amber { color: #fff; background: var(--amber); }.load-more { display: block; margin: 18px auto 0; border: 1px solid #b5c0ef; border-radius: 6px; padding: 10px 14px; color: var(--blue); background: var(--surface); font-size: 10px; font-weight: 850; }.load-more:hover { background: var(--blue-soft); }.category-rail { display: flex; flex-direction: column; gap: 12px; }.anatomy-row { display: flex; gap: 9px; padding-top: 11px; margin-top: 11px; border-top: 1px solid #edf0f4; }.anatomy-row > b { color: var(--blue); font-size: 9px; }.anatomy-row > span { display: flex; flex-direction: column; gap: 2px; }.anatomy-row strong { color: var(--navy); font-size: 10px; }.anatomy-row small { color: var(--soft); font-size: 9px; }.rail-comparison { display: grid; grid-template-columns: 1fr 1fr 16px; gap: 5px; padding: 11px 0; border-bottom: 1px solid #edf0f4; }.rail-comparison strong { color: var(--navy); font-size: 10px; }.rail-comparison span { color: var(--muted); font-size: 9px; }.rail-comparison b { color: var(--blue); font-size: 13px; }.host-card h2 { margin-top: 10px; }.host-row { display: flex; justify-content: space-between; gap: 8px; padding-top: 10px; margin-top: 10px; border-top: 1px solid #edf0f4; }.host-row strong { color: var(--navy); font-size: 10px; }.host-row span { color: var(--soft); font-size: 9px; text-align: right; }

@media (max-width: 1120px) { .main-layout { grid-template-columns: 190px minmax(0, 1fr); }.right-rail { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(3, 1fr); }.hero-grid, .category-hero-grid { gap: 50px; }.category-layout { grid-template-columns: minmax(0, 1fr) 240px; } }
@media (max-width: 760px) { .topbar-inner, .hero-inner, .stats-inner, .intent-inner, .main-layout, .footer-inner, .category-layout { width: calc(100% - 32px); }.topbar-inner { gap: 10px; }.main-nav { display: none; }.saved-button { margin-left: auto; }.hero-inner, .category-hero-inner { padding: 34px 0 30px; }.hero-grid, .category-hero-grid { display: block; }.hero h1, .category-hero h1 { font-size: 42px; }.hero-note, .category-count { margin-top: 24px; }.stats-inner { grid-template-columns: repeat(2, 1fr); }.stats-inner > div, .stats-inner > div:not(:first-child) { padding: 12px 14px; border-bottom: 1px solid #d8e0ea; }.stats-inner > div:nth-child(2) { border-right: 0; }.stats-inner > div:nth-child(3), .stats-inner > div:nth-child(4) { border-bottom: 0; }.intent-inner { display: block; padding: 10px 0 0; }.intent-tabs { margin-top: 2px; margin-left: -6px; }.intent-tabs a { height: 50px; padding: 0 9px; }.main-layout, .category-layout { display: block; padding-top: 20px; }.filter-panel { display: none; }.results-heading, .category-results-heading { display: block; }.sort-label { margin-top: 12px; }.card-grid, .category-grid { grid-template-columns: 1fr; }.right-rail, .category-rail { display: block; margin-top: 26px; }.rail-card + .rail-card { margin-top: 12px; }.footer-inner { align-items: flex-start; flex-direction: column; justify-content: center; padding: 14px 0; gap: 8px; }.example-links { gap: 5px 10px; } }

.project-hero { color: #fff; background: var(--navy); }.project-hero .hero-inner { padding-top: 38px; padding-bottom: 45px; }.project-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 80px; align-items: end; margin-top: 24px; }.project-hero-copy { max-width: 760px; }.project-detail-heading { display: flex; align-items: center; gap: 15px; }.project-detail-icon { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 14px; color: #fff; background: var(--blue); font-size: 16px; font-weight: 850; }.project-detail-category { display: block; margin-bottom: 7px; color: var(--cyan); font-size: 9px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }.project-detail-heading h1 { margin: 0; color: #fff; font-size: clamp(38px, 5vw, 64px); line-height: .98; letter-spacing: -.075em; }.detail-description { max-width: 650px; margin: 19px 0 23px; color: #b4c2d2; font-size: 15px; line-height: 1.6; }.detail-actions { display: flex; flex-wrap: wrap; gap: 8px; }.detail-action { display: inline-flex; align-items: center; border: 1px solid #45617f; border-radius: 6px; padding: 9px 12px; color: #eef5ff; background: #172944; font-size: 10px; font-weight: 800; }.detail-action.primary { color: var(--navy); border-color: var(--lime); background: var(--lime); }.project-summary-card { padding: 18px; border: 1px solid #36516e; border-radius: 10px; background: var(--navy-2); }.project-summary-card .eyebrow { color: var(--lime); }.project-summary-card strong { display: block; margin-top: 22px; color: #fff; font-size: 21px; letter-spacing: -.05em; }.project-summary-card > span:not(.eyebrow) { display: block; margin-top: 6px; color: #aebed0; font-size: 10px; line-height: 1.4; }.project-summary-rule { height: 1px; margin: 19px 0 12px; background: #304966; }.project-layout { width: min(1320px, calc(100% - 56px)); margin: auto; display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 25px; align-items: start; padding: 34px 0 70px; }.detail-panel { margin-bottom: 18px; padding: 19px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); }.detail-panel-heading { display: flex; align-items: end; justify-content: space-between; gap: 16px; padding-bottom: 15px; border-bottom: 1px solid var(--line); }.detail-panel-heading h2 { margin: 7px 0 0; color: var(--navy); font-size: 25px; letter-spacing: -.06em; }.detail-panel-heading > a { color: var(--blue); font-size: 9px; font-weight: 850; white-space: nowrap; }.detail-lede { max-width: 680px; margin: 14px 0 2px; color: var(--muted); font-size: 11px; line-height: 1.55; }.detail-alternative { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px 0; border-bottom: 1px solid #edf0f4; }.detail-alternative:last-child { border-bottom: 0; }.detail-alternative > div { display: flex; flex-direction: column; gap: 4px; }.detail-alternative strong { color: var(--navy); font-size: 12px; }.detail-alternative span { color: var(--muted); font-size: 9px; }.detail-alternative > a { color: var(--blue); font-size: 10px; font-weight: 850; white-space: nowrap; }.detail-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 18px; border: 1px solid var(--line); background: var(--line); }.detail-fact { min-height: 70px; padding: 12px; background: #fafbfd; }.detail-fact span { display: block; color: var(--soft); font-size: 9px; font-weight: 700; }.detail-fact strong { display: block; margin-top: 7px; color: var(--navy); font-size: 13px; overflow-wrap: anywhere; }.detail-rail { display: flex; flex-direction: column; gap: 12px; }.detail-source-card { color: #fff; border-color: var(--navy-2); background: var(--navy-2); }.detail-source-card .eyebrow { color: var(--lime); }.detail-source-card h2 { color: #fff; }.detail-source-card > p { color: #b3c2d4; }.detail-source-card .rail-link { color: var(--lime); }.catalog-error { margin: 0 0 14px; padding: 12px; border: 1px solid var(--amber); border-radius: 7px; color: var(--amber); background: var(--amber-soft); font-size: 11px; font-weight: 700; }
@media (max-width: 760px) { .project-hero-grid, .project-layout { display: block; }.project-summary-card { margin-top: 25px; }.project-layout { width: calc(100% - 32px); padding-top: 20px; }.detail-facts { grid-template-columns: repeat(2, 1fr); }.detail-panel-heading { align-items: flex-start; flex-direction: column; }.detail-alternative { align-items: flex-start; flex-direction: column; gap: 8px; } }

.comparison-hero { color: #fff; background: var(--navy); }.comparison-hero .hero-inner { padding-top: 38px; padding-bottom: 45px; }.comparison-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 80px; align-items: end; margin-top: 25px; }.comparison-hero-copy { max-width: 780px; }.comparison-hero h1 { max-width: 760px; margin: 0 0 16px; color: #fff; font-size: clamp(42px, 5vw, 67px); line-height: .98; letter-spacing: -.075em; }.comparison-hero h1 span { color: var(--lime); }.comparison-hero-copy > p { max-width: 650px; margin-bottom: 23px; color: #b4c2d2; font-size: 14px; line-height: 1.6; }.comparison-count-card { padding: 18px; border: 1px solid #36516e; border-radius: 10px; background: var(--navy-2); }.comparison-count-card .eyebrow { color: var(--lime); }.comparison-count { display: block; margin-top: 21px; color: var(--lime); font-size: 43px; line-height: 1; letter-spacing: -.08em; }.comparison-count-card > span:not(.eyebrow) { display: block; margin-top: 6px; color: #fff; font-size: 11px; font-weight: 800; }.comparison-count-rule { height: 1px; margin: 17px 0 12px; background: #304966; }.comparison-source-link { color: var(--lime); font-size: 10px; font-weight: 850; }.comparison-layout { width: min(1320px, calc(100% - 56px)); margin: auto; display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 25px; align-items: start; padding: 34px 0 70px; }.comparison-results-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding-bottom: 17px; border-bottom: 1px solid var(--line); }.comparison-results-heading h2 { margin: 7px 0 4px; color: var(--navy); font-size: 25px; letter-spacing: -.06em; }.comparison-results-heading p { margin: 0; color: var(--muted); font-size: 10px; }.comparison-results-heading > a { color: var(--blue); font-size: 9px; font-weight: 850; white-space: nowrap; }.comparison-list { display: grid; gap: 12px; margin-top: 18px; }.compare-card { padding: 17px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); }.compare-card-header { display: flex; align-items: center; gap: 10px; }.compare-card-header .project-icon { width: 38px; height: 38px; }.compare-card-header > div:nth-child(2) { display: flex; flex-direction: column; gap: 4px; min-width: 0; }.compare-card-header strong { color: var(--navy); font-size: 14px; }.compare-card-header span { color: var(--soft); font-size: 9px; }.compare-card-header .activity { margin-left: auto; }.compare-card > p { max-width: 720px; margin: 14px 0; color: var(--muted); font-size: 10px; line-height: 1.5; }.compare-facts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; border: 1px solid var(--line); background: var(--line); }.compare-fact { min-height: 55px; padding: 9px 10px; background: #fafbfd; }.compare-fact span { display: block; color: var(--soft); font-size: 8px; font-weight: 750; }.compare-fact strong { display: block; margin-top: 5px; color: var(--navy); font-size: 10px; overflow-wrap: anywhere; }.compare-card-footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 13px; }.compare-card-footer .evidence { font-size: 9px; }.compare-card-footer a { color: var(--blue); font-size: 9px; font-weight: 850; }.comparison-rail { display: flex; flex-direction: column; gap: 12px; }.comparison-note-card h2 { margin-bottom: 8px; }.comparison-note-row { display: flex; gap: 9px; padding-top: 11px; margin-top: 11px; border-top: 1px solid #edf0f4; }.comparison-note-row b { color: var(--blue); font-size: 9px; }.comparison-note-row span { color: var(--navy); font-size: 10px; font-weight: 750; }
@media (max-width: 760px) { .comparison-hero-grid, .comparison-layout { display: block; }.comparison-count-card { margin-top: 25px; }.comparison-layout { width: calc(100% - 32px); padding-top: 20px; }.comparison-results-heading { align-items: flex-start; flex-direction: column; }.compare-facts { grid-template-columns: repeat(2, 1fr); }.compare-card-footer { align-items: flex-start; flex-direction: column; } }

.review-hero { color: #fff; background: var(--navy); }.review-hero .hero-inner { padding-top: 38px; padding-bottom: 43px; }.review-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 80px; align-items: end; margin-top: 25px; }.review-hero h1 { margin: 0 0 16px; color: #fff; font-size: clamp(42px, 5vw, 67px); line-height: .98; letter-spacing: -.075em; }.review-hero h1 span { color: var(--lime); }.review-hero-grid > div > p { max-width: 650px; margin: 0; color: #b4c2d2; font-size: 14px; line-height: 1.6; }.review-policy-card { padding: 18px; border: 1px solid #36516e; border-radius: 10px; background: var(--navy-2); }.review-policy-card .eyebrow { color: var(--lime); }.review-policy-card strong { display: block; margin-top: 21px; color: #fff; font-size: 20px; letter-spacing: -.05em; }.review-policy-card p { margin: 8px 0 0; color: #aebed0; font-size: 10px; line-height: 1.5; }.review-summary-wrap { border-bottom: 1px solid var(--line); background: #e9eef5; }.review-summary { width: min(1320px, calc(100% - 56px)); margin: auto; display: grid; grid-template-columns: repeat(4, 1fr); }.review-summary > div { display: flex; flex-direction: column; gap: 3px; padding: 17px 20px 16px 0; border-right: 1px solid #d8e0ea; }.review-summary > div:not(:first-child) { padding-left: 20px; }.review-summary > div:last-child { border-right: 0; }.review-summary strong { color: var(--navy); font-size: 22px; letter-spacing: -.06em; }.review-summary span { color: var(--muted); font-size: 9px; font-weight: 650; }.review-layout { width: min(1320px, calc(100% - 56px)); margin: auto; display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 25px; align-items: start; padding: 34px 0 70px; }.review-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 18px; padding-bottom: 17px; border-bottom: 1px solid var(--line); }.review-toolbar h2 { margin: 7px 0 0; color: var(--navy); font-size: 24px; letter-spacing: -.06em; }.review-controls { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }.review-search { display: flex; align-items: center; gap: 7px; min-width: 180px; border: 1px solid var(--line); border-radius: 6px; padding: 7px 9px; color: var(--blue); background: var(--surface); }.review-search input { width: 150px; border: 0; outline: 0; color: var(--ink); background: transparent; font-size: 10px; }.review-controls select, .review-export, .review-reset { border: 1px solid var(--line); border-radius: 6px; padding: 8px 9px; color: var(--ink); background: var(--surface); font-size: 9px; font-weight: 750; }.review-export { border-color: var(--blue); color: #fff; background: var(--blue); }.review-reset { color: var(--muted); }.review-list { display: grid; gap: 10px; margin-top: 17px; }.review-task { padding: 16px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); }.review-task-top, .review-task-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }.review-task-type { color: var(--blue); font-size: 9px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }.review-task-status { padding: 4px 6px; border-radius: 4px; color: var(--amber); background: var(--amber-soft); font-size: 9px; font-weight: 800; }.review-task-status.decided { color: #118c79; background: var(--cyan-soft); }.review-task-heading { align-items: end; margin-top: 13px; }.review-task-project { display: block; margin-bottom: 5px; color: var(--soft); font-size: 9px; font-weight: 750; }.review-task h3 { margin: 0; color: var(--navy); font-size: 15px; line-height: 1.2; letter-spacing: -.04em; }.review-task-heading > a { color: var(--blue); font-size: 9px; font-weight: 850; white-space: nowrap; }.review-task-scope { margin: 12px 0; color: var(--muted); font-size: 10px; line-height: 1.45; }.review-task-scope strong { color: var(--navy); }.review-task-evidence { display: flex; flex-wrap: wrap; gap: 6px; padding-top: 10px; border-top: 1px solid #edf0f4; }.review-task-evidence a { color: var(--blue); font-size: 9px; font-weight: 800; }.decision-buttons { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 13px; }.decision-button { border: 1px solid #cbd4e2; border-radius: 5px; padding: 7px 9px; color: var(--muted); background: #fafbfd; font-size: 9px; font-weight: 750; cursor: pointer; }.decision-button:hover, .decision-button.selected { border-color: var(--blue); color: var(--blue); background: var(--blue-soft); }.review-task-note { display: block; margin-top: 9px; color: var(--soft); font-size: 9px; }.review-rail { display: flex; flex-direction: column; gap: 12px; }.review-policy-panel h2 { margin-bottom: 8px; }.review-rule { display: flex; gap: 9px; padding-top: 11px; margin-top: 11px; border-top: 1px solid #edf0f4; }.review-rule b { color: var(--blue); font-size: 9px; }.review-rule span { color: var(--navy); font-size: 10px; font-weight: 750; }.review-back { display: inline-flex; align-items: center; text-decoration: none; }.review-empty { padding: 28px; border: 1px dashed #bdc8d8; border-radius: 10px; color: var(--muted); background: var(--surface); }.review-empty h3 { margin: 0 0 5px; color: var(--navy); font-size: 15px; }.review-empty p { margin: 0; font-size: 10px; }
@media (max-width: 900px) { .review-toolbar { align-items: flex-start; flex-direction: column; }.review-controls { justify-content: flex-start; } }
@media (max-width: 760px) { .review-hero-grid, .review-layout { display: block; }.review-policy-card { margin-top: 25px; }.review-summary { width: calc(100% - 32px); grid-template-columns: repeat(2, 1fr); }.review-summary > div, .review-summary > div:not(:first-child) { padding: 12px 14px; border-bottom: 1px solid #d8e0ea; }.review-summary > div:nth-child(2) { border-right: 0; }.review-summary > div:nth-child(3), .review-summary > div:nth-child(4) { border-bottom: 0; }.review-layout { width: calc(100% - 32px); padding-top: 20px; }.review-controls { width: 100%; }.review-search { flex: 1 1 100%; }.review-search input { width: 100%; }.review-task-heading { align-items: flex-start; flex-direction: column; }.review-task-heading > a { margin-top: 1px; } }

.opportunity-hero { color: #fff; background: var(--navy); }.opportunity-hero .hero-inner { padding-top: 38px; padding-bottom: 43px; }.opportunity-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 80px; align-items: end; margin-top: 25px; }.opportunity-hero h1 { margin: 0 0 16px; color: #fff; font-size: clamp(42px, 5vw, 67px); line-height: .98; letter-spacing: -.075em; }.opportunity-hero h1 span { color: var(--lime); }.opportunity-hero-grid > div > p { max-width: 650px; margin: 0; color: #b4c2d2; font-size: 14px; line-height: 1.6; }.opportunity-count-card { padding: 18px; border: 1px solid #36516e; border-radius: 10px; background: var(--navy-2); }.opportunity-count-card .eyebrow { color: var(--lime); }.opportunity-count-card strong { display: block; margin-top: 21px; color: var(--lime); font-size: 43px; line-height: 1; letter-spacing: -.08em; }.opportunity-count-card > span:not(.eyebrow) { display: block; margin-top: 6px; color: #fff; font-size: 11px; font-weight: 800; }.opportunity-count-rule { height: 1px; margin: 17px 0 12px; background: #304966; }.opportunity-count-card > span:last-child { color: #aebed0; font-size: 10px; line-height: 1.45; }.opportunity-summary-wrap { border-bottom: 1px solid var(--line); background: #e9eef5; }.opportunity-summary { width: min(1320px, calc(100% - 56px)); margin: auto; display: grid; grid-template-columns: repeat(4, 1fr); }.opportunity-summary > div { display: flex; flex-direction: column; gap: 3px; padding: 17px 20px 16px 0; border-right: 1px solid #d8e0ea; }.opportunity-summary > div:not(:first-child) { padding-left: 20px; }.opportunity-summary > div:last-child { border-right: 0; }.opportunity-summary strong { color: var(--navy); font-size: 22px; letter-spacing: -.06em; }.opportunity-summary span { color: var(--muted); font-size: 9px; font-weight: 650; }.opportunity-layout { width: min(1320px, calc(100% - 56px)); margin: auto; display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 25px; align-items: start; padding: 34px 0 70px; }.opportunity-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 18px; padding-bottom: 17px; border-bottom: 1px solid var(--line); }.opportunity-toolbar h2 { margin: 7px 0 4px; color: var(--navy); font-size: 24px; letter-spacing: -.06em; }.opportunity-toolbar p { margin: 0; color: var(--muted); font-size: 10px; }.opportunity-controls { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }.opportunity-search { display: flex; align-items: center; gap: 7px; min-width: 190px; border: 1px solid var(--line); border-radius: 6px; padding: 7px 9px; color: var(--blue); background: var(--surface); }.opportunity-search input { width: 160px; border: 0; outline: 0; color: var(--ink); background: transparent; font-size: 10px; }.opportunity-controls select { border: 1px solid var(--line); border-radius: 6px; padding: 8px 9px; color: var(--ink); background: var(--surface); font-size: 9px; font-weight: 750; }.opportunity-list { display: grid; gap: 10px; margin-top: 17px; }.draft-opportunity { padding: 16px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); }.draft-opportunity-top, .draft-opportunity-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }.draft-opportunity-type { color: var(--blue); font-size: 9px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }.draft-opportunity-status { padding: 4px 6px; border-radius: 4px; color: var(--amber); background: var(--amber-soft); font-size: 9px; font-weight: 800; }.draft-opportunity-heading { align-items: end; margin-top: 13px; }.draft-opportunity-project { display: block; margin-bottom: 5px; color: var(--soft); font-size: 9px; font-weight: 750; }.draft-opportunity h3 { margin: 0; color: var(--navy); font-size: 15px; line-height: 1.2; letter-spacing: -.04em; }.draft-opportunity-heading > a { color: var(--blue); font-size: 9px; font-weight: 850; white-space: nowrap; }.draft-opportunity > p { margin: 12px 0; color: var(--muted); font-size: 10px; line-height: 1.45; }.draft-opportunity-facts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; border: 1px solid var(--line); background: var(--line); }.draft-opportunity-facts > div { min-height: 58px; padding: 10px; background: #fafbfd; }.draft-opportunity-facts span { display: block; color: var(--soft); font-size: 8px; font-weight: 750; }.draft-opportunity-facts strong { display: block; margin-top: 5px; color: var(--navy); font-size: 10px; line-height: 1.3; overflow-wrap: anywhere; }.draft-opportunity-footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 13px; color: var(--soft); font-size: 9px; }.draft-opportunity-footer a { color: var(--blue); font-weight: 850; }.opportunity-rail { display: flex; flex-direction: column; gap: 12px; }.opportunity-boundary-card { color: #fff; border-color: var(--navy-2); background: var(--navy-2); }.opportunity-boundary-card .eyebrow { color: var(--lime); }.opportunity-boundary-card h2 { color: #fff; }.opportunity-boundary-card > p { color: #b3c2d4; }.opportunity-boundary-card .rail-link { color: var(--lime); }
@media (max-width: 900px) { .opportunity-toolbar { align-items: flex-start; flex-direction: column; }.opportunity-controls { justify-content: flex-start; } }
@media (max-width: 760px) { .opportunity-hero-grid, .opportunity-layout { display: block; }.opportunity-count-card { margin-top: 25px; }.opportunity-summary { width: calc(100% - 32px); grid-template-columns: repeat(2, 1fr); }.opportunity-summary > div, .opportunity-summary > div:not(:first-child) { padding: 12px 14px; border-bottom: 1px solid #d8e0ea; }.opportunity-summary > div:nth-child(2) { border-right: 0; }.opportunity-summary > div:nth-child(3), .opportunity-summary > div:nth-child(4) { border-bottom: 0; }.opportunity-layout { width: calc(100% - 32px); padding-top: 20px; }.opportunity-controls { width: 100%; }.opportunity-search { flex: 1 1 100%; }.opportunity-search input { width: 100%; }.draft-opportunity-heading { align-items: flex-start; flex-direction: column; }.draft-opportunity-facts { grid-template-columns: repeat(2, 1fr); }.draft-opportunity-footer { align-items: flex-start; flex-direction: column; } }

.draft-opportunity-editor-note { margin-top: 13px; padding: 11px 12px; border-left: 3px solid var(--blue); background: var(--blue-soft); }.draft-opportunity-editor-note p { margin: 5px 0 0; color: var(--muted); font-size: 10px; line-height: 1.45; }.detail-opportunities { display: grid; gap: 14px; margin-top: 17px; }.detail-opportunity { padding: 15px; border: 1px solid var(--line); border-radius: 9px; background: #fafbfd; }.detail-opportunity-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }.detail-opportunity h3 { margin: 11px 0 8px; color: var(--navy); font-size: 17px; line-height: 1.2; }.detail-opportunity-problem { margin: 0 0 13px; color: var(--muted); font-size: 10px; line-height: 1.5; }.detail-opportunity-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; border: 1px solid var(--line); background: var(--line); }.detail-opportunity-facts > div { min-height: 56px; padding: 9px; background: #fff; }.detail-opportunity-facts span, .detail-opportunity-section > span, .detail-opportunity-columns > div > span { display: block; color: var(--soft); font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.detail-opportunity-facts strong { display: block; margin-top: 5px; color: var(--navy); font-size: 10px; line-height: 1.3; overflow-wrap: anywhere; }.detail-opportunity-section { margin-top: 13px; padding: 11px 12px; border-left: 3px solid var(--blue); background: var(--blue-soft); }.detail-opportunity-section p { margin: 6px 0 0; color: var(--muted); font-size: 10px; line-height: 1.5; }.detail-opportunity-columns { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: 13px; }.detail-opportunity-columns > div { padding-top: 11px; border-top: 1px solid var(--line); }.detail-opportunity-columns ul { display: grid; gap: 7px; margin: 8px 0 0; padding: 0; list-style: none; }.detail-opportunity-columns li { display: flex; flex-direction: column; gap: 3px; color: var(--muted); font-size: 9px; line-height: 1.4; }.detail-opportunity-columns li strong { color: var(--navy); }.detail-opportunity-columns li span { color: var(--muted); font-size: 9px; }.detail-opportunity-columns p { margin: 8px 0 0; color: var(--soft); font-size: 9px; }.detail-opportunity-section.validation { border-left-color: var(--lime); background: #f2f8dd; }.detail-opportunity-section.validation p strong { color: var(--navy); }.validation-success { display: block; margin-top: 7px; color: var(--muted); font-size: 9px; line-height: 1.4; }.detail-opportunity-section.validation a { display: inline-block; margin-top: 8px; color: var(--blue); font-size: 9px; font-weight: 850; }.detail-opportunity-footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 13px; padding-top: 10px; border-top: 1px solid var(--line); color: var(--soft); font-size: 9px; }.detail-opportunity-footer a { color: var(--blue); font-weight: 850; white-space: nowrap; }
@media (max-width: 760px) { .detail-opportunity-facts, .detail-opportunity-columns { grid-template-columns: repeat(2, 1fr); }.detail-opportunity-footer { align-items: flex-start; flex-direction: column; } }

/* Readable project cards and explicit editorial analysis. */
.app-card h3 { margin-top: 20px; font-size: 18px; line-height: 1.2; letter-spacing: -.035em; }
.card-summary { min-height: 58px; font-size: 12px; line-height: 1.55; }
.project-name strong { font-size: 13px; }
.project-name span, .activity { font-size: 10px; }
.alternative-line span { font-size: 10px; }
.alternative-line strong { font-size: 11px; }
.metadata span, .opportunity-line, .card-footer a, .evidence { font-size: 10px; }
.metadata span { padding: 5px 7px; }
.detail-description { font-size: 16px; line-height: 1.6; }
.detail-lede { font-size: 12px; line-height: 1.6; }
.editor-notes { border-left-color: var(--purple); background: #f7f4ff; }
.editor-note-list { display: grid; gap: 10px; margin-top: 8px; }
.editor-note { padding-top: 10px; border-top: 1px solid #e6defb; }
.editor-note:first-child { padding-top: 0; border-top: 0; }
.editor-note > div { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.editor-note strong { color: var(--navy); font-size: 11px; }
.editor-note span { color: var(--soft); font-size: 9px; text-align: right; }
.editor-note p { margin: 5px 0 0; color: var(--muted); font-size: 11px; line-height: 1.5; }

.saved-button { text-decoration: none; }
.card-actions { display: flex; align-items: center; gap: 9px; }
.save-project, .detail-save { border: 1px solid #cbd4e2; border-radius: 5px; padding: 4px 6px; color: var(--muted); background: #fafbfd; font-size: 9px; font-weight: 800; }
.save-project:hover, .save-project.saved, .detail-save:hover, .detail-save.saved { border-color: var(--blue); color: var(--blue); background: var(--blue-soft); }
.detail-save { cursor: pointer; }

.saved-hero, .submit-hero { color: #fff; background: var(--navy); }
.saved-hero .hero-inner, .submit-hero .hero-inner { padding-top: 38px; padding-bottom: 43px; }
.saved-hero-grid, .submit-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 80px; align-items: end; margin-top: 25px; }
.saved-hero h1, .submit-hero h1 { margin: 0 0 15px; color: #fff; font-size: clamp(42px, 5vw, 67px); line-height: .98; letter-spacing: -.075em; }
.saved-hero h1 span, .submit-hero h1 span { color: var(--lime); }
.saved-hero-grid p, .submit-hero-grid p { max-width: 650px; margin: 0; color: #b4c2d2; font-size: 14px; line-height: 1.6; }
.saved-count-card, .submit-note-card { padding: 18px; border: 1px solid #36516e; border-radius: 10px; background: var(--navy-2); }
.saved-count-card .eyebrow, .submit-note-card .eyebrow { color: var(--lime); }
.saved-count-card strong { display: block; margin-top: 21px; color: var(--lime); font-size: 43px; line-height: 1; letter-spacing: -.08em; }
.saved-count-card span:not(.eyebrow), .submit-note-card strong { display: block; margin-top: 7px; color: #fff; font-size: 11px; font-weight: 800; }
.saved-count-rule, .submit-note-rule { height: 1px; margin: 17px 0 12px; background: #304966; }
.saved-count-card small, .submit-note-card p { color: #aebed0; font-size: 10px; line-height: 1.5; }
.saved-layout, .submit-layout { width: min(1100px, calc(100% - 56px)); margin: auto; padding: 34px 0 70px; }
.saved-toolbar, .submit-panel-heading { display: flex; align-items: end; justify-content: space-between; gap: 18px; padding-bottom: 17px; border-bottom: 1px solid var(--line); }
.saved-toolbar h2, .submit-panel-heading h2 { margin: 7px 0 0; color: var(--navy); font-size: 25px; letter-spacing: -.06em; }
.saved-toolbar p, .submit-panel-heading p { margin: 5px 0 0; color: var(--muted); font-size: 10px; }
.saved-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
.saved-empty, .submit-success { padding: 25px; border: 1px dashed #bdc8d8; border-radius: 10px; color: var(--muted); background: var(--surface); }
.saved-empty h3, .submit-success h3 { margin: 0 0 6px; color: var(--navy); font-size: 16px; }
.saved-empty p, .submit-success p { margin: 0; font-size: 10px; line-height: 1.5; }
.saved-empty a { display: inline-block; margin-top: 14px; color: var(--blue); font-size: 10px; font-weight: 850; }
.submit-layout { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 25px; align-items: start; }
.submit-form-panel, .submit-history-panel { padding: 19px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); }
.submit-form { display: grid; gap: 14px; margin-top: 18px; }
.submit-form label { display: grid; gap: 6px; color: var(--navy); font-size: 10px; font-weight: 800; }
.submit-form input, .submit-form textarea, .submit-form select { width: 100%; border: 1px solid #cbd4e2; border-radius: 6px; padding: 10px; color: var(--ink); background: #fafbfd; font-size: 11px; }
.submit-form textarea { min-height: 100px; resize: vertical; line-height: 1.45; }
.submit-form input:focus, .submit-form textarea:focus, .submit-form select:focus { border-color: var(--blue); outline: 2px solid var(--blue-soft); }
.submit-form .form-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.submit-form .form-help { color: var(--soft); font-size: 9px; font-weight: 500; line-height: 1.4; }
.submit-form button, .submit-history-panel button { width: fit-content; border: 1px solid var(--blue); border-radius: 6px; padding: 10px 13px; color: #fff; background: var(--blue); font-size: 10px; font-weight: 850; }
.submit-form button:hover, .submit-history-panel button:hover { background: #4d57d9; }
.submit-history-panel h3 { margin: 7px 0 8px; color: var(--navy); font-size: 17px; letter-spacing: -.04em; }
.submit-history-panel p { color: var(--muted); font-size: 10px; line-height: 1.5; }
.submission-list { display: grid; gap: 8px; margin-top: 15px; }
.submission-item { padding: 10px; border: 1px solid var(--line); border-radius: 6px; background: #fafbfd; }
.submission-item strong { display: block; color: var(--navy); font-size: 10px; }
.submission-item span { display: block; margin-top: 3px; color: var(--soft); font-size: 9px; }
.submission-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 14px; }
.submission-actions button.secondary { color: var(--muted); border-color: var(--line); background: var(--surface); }
.form-error { color: var(--amber); font-size: 10px; font-weight: 750; }
.review-decision-field { display: grid; gap: 6px; margin-top: 12px; padding: 11px; background: #f7f8fb; border: 1px solid var(--line); border-radius: 7px; }
.review-decision-field span { color: var(--navy); font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.review-decision-field textarea, .review-decision-field input { width: 100%; min-height: 38px; padding: 9px; color: var(--ink); background: #fff; border: 1px solid #cbd4e2; border-radius: 5px; font: inherit; font-size: 10px; }
.review-decision-field textarea { min-height: 76px; resize: vertical; }
@media (max-width: 760px) { .saved-hero-grid, .submit-hero-grid, .submit-layout { display: block; }.saved-count-card, .submit-note-card { margin-top: 25px; }.saved-layout, .submit-layout { width: calc(100% - 32px); padding-top: 20px; }.saved-toolbar, .submit-panel-heading { align-items: flex-start; flex-direction: column; }.saved-list { grid-template-columns: 1fr; }.submit-form .form-row { grid-template-columns: 1fr; } }
