:root {
  --paper: #f4efe3;
  --paper-deep: #eae6d6;
  --surface: #faf7ee;
  --ink: #2e2a22;
  --ink-soft: #5a5343;
  --rust: #b0603c;
  --rust-dark: #814028;
  --green: #4c663f;
  --green-strong: #3d5233;
  --green-wash: #e2e8da;
  --gold: #c6943f;
  --gold-wash: #f4e7c7;
  --blue: #476774;
  --blue-wash: #dce7ea;
  --plum: #6f5366;
  --plum-wash: #eadfe7;
  --line: #b9ad92;
  --line-soft: #d8cfba;
  --white: #fffdf7;
  --shadow: 0 16px 40px rgba(46, 42, 34, 0.11);
  --shadow-small: 0 7px 18px rgba(46, 42, 34, 0.09);
  --display: "Special Elite", "Courier New", Courier, monospace;
  --body: Georgia, "Times New Roman", serif;
  --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --radius: 4px;
  --shell: 1180px;
}

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(circle at 10% 2%, rgba(176, 96, 60, 0.06), transparent 23rem),
    var(--paper);
  font-family: var(--body);
  font-size: 17px;
  line-height: 1.58;
  text-rendering: optimizeLegibility;
}

a { color: var(--green-strong); text-underline-offset: 0.18em; }
a:hover { color: var(--rust-dark); }
button, input, select { font: inherit; }
button, select { cursor: pointer; }

.shell { width: min(calc(100% - 40px), var(--shell)); margin-inline: auto; }
.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; }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 1000; padding: .65rem 1rem; background: var(--ink); color: white; }
.skip-link:focus { top: 1rem; }

.masthead { border-bottom: 1px solid var(--line-soft); background: rgba(250, 247, 238, 0.86); backdrop-filter: blur(10px); }
.masthead__inner { width: min(calc(100% - 40px), var(--shell)); min-height: 76px; margin-inline: auto; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.brand { display: inline-flex; align-items: center; gap: .75rem; color: var(--ink); text-decoration: none; }
.brand__mark { display: grid; place-items: center; width: 42px; aspect-ratio: 1; border: 1px solid var(--ink); border-radius: 50%; font: 700 .8rem/1 var(--display); transform: rotate(-4deg); }
.brand strong, .brand small { display: block; }
.brand strong { font-family: var(--display); font-size: .98rem; letter-spacing: .02em; }
.brand small { color: var(--ink-soft); font: 600 .72rem/1.4 var(--sans); letter-spacing: .13em; text-transform: uppercase; }
.verification { margin: 0; color: var(--ink-soft); font: 600 .72rem/1.4 var(--sans); letter-spacing: .08em; text-transform: uppercase; }

.hero { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(320px, .78fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; padding-block: clamp(4.5rem, 10vw, 8rem); }
.eyebrow { margin: 0 0 .75rem; color: var(--rust-dark); font: 750 .76rem/1.3 var(--sans); letter-spacing: .17em; text-transform: uppercase; }
h1, h2, h3 { margin-top: 0; text-wrap: balance; }
h1 { margin-bottom: 1.15rem; font: 700 clamp(3.5rem, 8vw, 6rem)/.91 var(--display); letter-spacing: -.08em; }
h1::after { content: ""; display: block; width: 5.5rem; margin-top: 1.25rem; border-bottom: 4px double var(--rust); transform: rotate(-1deg); }
h2 { margin-bottom: .7rem; font: 700 clamp(2rem, 4vw, 3.15rem)/1.08 var(--display); letter-spacing: -.055em; }
h3 { font: 700 1.16rem/1.25 var(--display); }
.hero__lede { max-width: 690px; margin: 0; color: var(--ink-soft); font-size: clamp(1.14rem, 2vw, 1.4rem); line-height: 1.55; }
.hero__actions { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 2rem; }
.button { display: inline-flex; min-height: 43px; align-items: center; justify-content: center; gap: .45rem; padding: .65rem 1rem; border: 1px solid var(--green-strong); border-radius: 2px; background: transparent; color: var(--green-strong); font: 750 .78rem/1 var(--sans); letter-spacing: .045em; text-decoration: none; }
.button:hover { border-color: var(--rust-dark); background: var(--rust-dark); color: white; }
.button--primary { border-color: var(--green-strong); background: var(--green-strong); color: white; }
.button--quiet { border-color: transparent; text-decoration: underline; }
.button--small { min-height: 38px; padding: .55rem .78rem; font-size: .7rem; }
.text-button { padding: 0; border: 0; background: transparent; color: var(--rust-dark); font: 700 .72rem/1 var(--sans); text-decoration: underline; text-underline-offset: .2em; }

.status-note { position: relative; padding: 1.7rem 1.8rem 1.8rem; border: 1px solid var(--line); background: var(--surface); box-shadow: var(--shadow); transform: rotate(.35deg); }
.status-note::before { content: ""; position: absolute; width: 52px; height: 12px; top: -7px; left: 50%; background: rgba(198, 148, 63, .48); transform: translateX(-50%) rotate(-2deg); }
.status-note__label { margin: 0 0 .35rem; color: var(--rust-dark); font: 750 .7rem/1.3 var(--sans); letter-spacing: .15em; text-transform: uppercase; }
.status-note h2 { margin-bottom: .6rem; font-size: 1.4rem; letter-spacing: -.025em; }
.status-note p:not(.status-note__label) { margin: 0 0 1rem; color: var(--ink-soft); font-size: .96rem; }
.status-note a { font: 750 .76rem/1 var(--sans); }

.profile-strip { border-block: 1px solid var(--line); background: var(--paper-deep); }
.profile-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.profile-grid div { min-height: 118px; display: flex; flex-direction: column; justify-content: center; padding: 1.25rem clamp(.8rem, 3vw, 2rem); border-right: 1px solid var(--line); }
.profile-grid div:first-child { border-left: 1px solid var(--line); }
.profile-grid strong { font: 700 clamp(1.65rem, 3.2vw, 2.35rem)/1 var(--display); letter-spacing: -.06em; }
.profile-grid span { margin-top: .45rem; color: var(--ink-soft); font: 650 .72rem/1.4 var(--sans); letter-spacing: .025em; }

.action-section, .roadmap, .files { padding-block: clamp(4.5rem, 8vw, 7rem); }
.section-heading { display: flex; justify-content: space-between; gap: 2rem; align-items: end; margin-bottom: 2.25rem; }
.section-heading h2 { margin-bottom: 0; }
.section-heading > p { max-width: 465px; margin: 0; color: var(--ink-soft); }
.section-heading--light h2 { color: var(--surface); }
.section-heading--light > p { color: #d9d4c9; }
.section-heading--light .eyebrow { color: #e0a084; }

.action-queue { display: grid; grid-template-columns: repeat(4, 1fr); gap: .9rem; margin: 0; padding: 0; list-style: none; counter-reset: actions; }
.action-item { position: relative; min-height: 245px; display: flex; flex-direction: column; padding: 1.35rem; border: 1px solid var(--line); background: var(--surface); counter-increment: actions; box-shadow: var(--shadow-small); }
.action-item::before { content: "0" counter(actions); color: var(--line); font: 700 1.1rem/1 var(--display); }
.action-item h3 { margin: 1.2rem 0 .55rem; font-size: 1.05rem; }
.action-item p { margin: 0 0 1rem; color: var(--ink-soft); font-size: .88rem; line-height: 1.48; }
.action-item a { margin-top: auto; font: 750 .73rem/1.35 var(--sans); }

.opportunity-section { padding-block: clamp(4.5rem, 8vw, 7rem); color: var(--surface); background: var(--ink); }
.desk { display: grid; grid-template-columns: 255px minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 3.25rem); align-items: start; }
.filters { position: sticky; top: 1rem; padding: 1.25rem; border: 1px solid #5d574b; background: #373229; }
.filters__head { display: flex; align-items: baseline; justify-content: space-between; gap: .8rem; margin-bottom: 1.25rem; }
.filters h3 { margin: 0; color: var(--surface); font-size: 1rem; }
.filters .text-button { color: #e4a78d; }
.field { display: block; margin-bottom: 1rem; }
.field > span { display: block; margin-bottom: .32rem; color: #d8d2c7; font: 700 .67rem/1.3 var(--sans); letter-spacing: .08em; text-transform: uppercase; }
.field input, .field select, .toolbar select { width: 100%; min-height: 42px; padding: .55rem .65rem; border: 1px solid #777064; border-radius: 2px; color: var(--surface); background: #2d2922; font: 500 .8rem/1.2 var(--sans); }
.field input::placeholder { color: #a9a398; }
.field input:focus, .field select:focus, .toolbar select:focus { outline: 3px solid rgba(224, 160, 132, .25); outline-offset: 1px; border-color: #e0a084; }
.check-field { display: flex; align-items: start; gap: .55rem; margin: 1.1rem 0; color: #d8d2c7; font: 600 .74rem/1.4 var(--sans); }
.check-field input { margin-top: .15rem; accent-color: var(--rust); }
.filter-note { margin-top: 1.2rem; padding-top: 1.1rem; border-top: 1px dashed #6a6356; color: #bbb5aa; font-size: .78rem; line-height: 1.45; }
.filter-note strong { display: block; margin-bottom: .25rem; color: #e0a084; font: 750 .67rem/1.3 var(--sans); letter-spacing: .1em; text-transform: uppercase; }
.filter-note p { margin: 0; }

.toolbar { min-height: 50px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .8rem; }
.toolbar p { margin: 0; color: #d9d4c9; font: 650 .78rem/1.35 var(--sans); }
.toolbar__actions { display: flex; align-items: center; gap: .55rem; }
.toolbar select { width: auto; min-width: 180px; min-height: 38px; }
.toolbar .button { border-color: #b9ad92; color: var(--surface); }
.active-filters { display: flex; flex-wrap: wrap; gap: .4rem; min-height: .4rem; margin-bottom: 1rem; }
.filter-chip { padding: .32rem .52rem; border: 1px solid #696257; border-radius: 999px; background: #373229; color: #d9d4c9; font: 650 .65rem/1 var(--sans); }
.filter-chip button { margin-left: .35rem; padding: 0; border: 0; background: transparent; color: #e0a084; font: inherit; }

.opportunity-list { display: grid; gap: .85rem; }
.opportunity-card { border: 1px solid #5f584d; border-left: 4px solid var(--stage-color, var(--line)); background: #332f27; transition: background .18s ease, border-color .18s ease; }
.opportunity-card:hover { border-color: #80786a; border-left-color: var(--stage-color, var(--line)); background: #39342b; }
.opportunity-card[open] { background: var(--surface); color: var(--ink); border-color: var(--line); border-left-color: var(--stage-color, var(--line)); }
.opportunity-card summary { display: grid; grid-template-columns: 54px minmax(0, 1fr) auto; gap: 1rem; align-items: start; padding: 1.15rem 1.25rem; cursor: pointer; list-style: none; }
.opportunity-card summary::-webkit-details-marker { display: none; }
.opportunity-card summary::after { content: "+"; align-self: center; color: #d0cabf; font: 400 1.5rem/1 var(--sans); }
.opportunity-card[open] summary::after { content: "−"; color: var(--rust-dark); }
.rank { padding-top: .15rem; color: #a9a398; font: 700 .78rem/1 var(--display); }
.card-main { min-width: 0; }
.badge-row { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; margin-bottom: .45rem; }
.stage-badge, .micro-badge { display: inline-flex; align-items: center; min-height: 23px; padding: .23rem .48rem; border-radius: 999px; background: var(--stage-wash, #e7e2d7); color: var(--stage-ink, var(--ink)); font: 800 .61rem/1 var(--sans); letter-spacing: .055em; text-transform: uppercase; }
.micro-badge { background: transparent; border: 1px solid #6f685d; color: #c9c3b8; }
.opportunity-card[open] .micro-badge { border-color: var(--line-soft); color: var(--ink-soft); }
.provider { margin: 0 0 .1rem; color: #aaa398; font: 650 .66rem/1.3 var(--sans); letter-spacing: .08em; text-transform: uppercase; }
.opportunity-card[open] .provider { color: var(--rust-dark); }
.opportunity-card .card-title { display: block; margin: 0; color: var(--surface); font: 700 clamp(1rem, 2vw, 1.24rem)/1.25 var(--display); letter-spacing: -.025em; }
.opportunity-card[open] .card-title { color: var(--ink); }
.card-deck { display: flex; flex-wrap: wrap; gap: .25rem .9rem; margin-top: .5rem; color: #c0baaf; font: 600 .71rem/1.4 var(--sans); }
.opportunity-card[open] .card-deck { color: var(--ink-soft); }
.card-deck span + span::before { content: "·"; margin-right: .9rem; color: #80786a; }
.score { width: 47px; aspect-ratio: 1; display: grid; place-items: center; align-self: center; border: 2px solid var(--stage-color, var(--line)); border-radius: 50%; color: var(--surface); font: 800 .76rem/1 var(--sans); }
.opportunity-card[open] .score { color: var(--ink); }
.score small { display: none; }

.card-details { padding: 0 1.25rem 1.35rem 5.45rem; }
.fit-summary { max-width: 770px; margin: .25rem 0 1.35rem; font-size: 1.02rem; line-height: 1.56; }
.detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
.detail-block { padding: .85rem .9rem; border: 1px solid var(--line-soft); background: var(--white); }
.detail-block--wide { grid-column: 1 / -1; }
.detail-block h4 { margin: 0 0 .3rem; color: var(--rust-dark); font: 800 .64rem/1.3 var(--sans); letter-spacing: .105em; text-transform: uppercase; }
.detail-block p { margin: 0; color: var(--ink-soft); font-size: .85rem; line-height: 1.5; }
.detail-block--action { border-color: #b7c4ae; background: var(--green-wash); }
.detail-block--caution { background: #f2ebda; }
.focus-tags { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: 1rem; }
.focus-tag { padding: .3rem .48rem; border: 1px solid var(--line); border-radius: 999px; color: var(--ink-soft); font: 650 .64rem/1 var(--sans); }
.score-breakdown { display: grid; grid-template-columns: repeat(3, 1fr); gap: .5rem 1rem; margin-top: 1rem; padding: .85rem .9rem; border: 1px dashed var(--line); }
.score-breakdown span { display: flex; justify-content: space-between; gap: .5rem; color: var(--ink-soft); font: 650 .68rem/1.25 var(--sans); }
.score-breakdown strong { color: var(--ink); }
.source-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .8rem; margin-top: 1rem; padding-top: .85rem; border-top: 1px solid var(--line-soft); }
.source-row a { font: 800 .72rem/1.35 var(--sans); }
.source-row span { color: var(--ink-soft); font: 600 .67rem/1.35 var(--sans); }
.empty-state { padding: 3rem 1.5rem; border: 1px dashed #6c6559; text-align: center; }
.empty-state h3 { color: var(--surface); }
.empty-state p { color: #c9c3b8; }

.stage-act-now { --stage-color: #72905f; --stage-wash: #dce8d5; --stage-ink: #304628; }
.stage-deadline-soon { --stage-color: #d7a340; --stage-wash: #f4e7c7; --stage-ink: #674b16; }
.stage-fiscal-sponsor { --stage-color: #8f6f86; --stage-wash: #eadfe7; --stage-ink: #573a50; }
.stage-after-irs { --stage-color: #608492; --stage-wash: #dce7ea; --stage-ink: #2e5663; }
.stage-monitor { --stage-color: #ad8c5e; --stage-wash: #eee4d2; --stage-ink: #654c2b; }
.stage-conditional { --stage-color: #8a8172; --stage-wash: #e7e2d7; --stage-ink: #554e42; }
.stage-screened-out { --stage-color: #9c6c65; --stage-wash: #eedfdd; --stage-ink: #6e3730; }

.roadmap { border-bottom: 1px solid var(--line-soft); }
.inline-link { font: 750 .77rem/1.4 var(--sans); }
.lane-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.lane { position: relative; min-height: 390px; padding: 1.6rem; border: 1px solid var(--line); background: var(--surface); overflow: hidden; }
.lane::after { content: ""; position: absolute; width: 110px; aspect-ratio: 1; right: -42px; bottom: -48px; border: 20px solid var(--lane-color, var(--line)); border-radius: 50%; opacity: .12; }
.lane--now { --lane-color: var(--green); }
.lane--sponsor { --lane-color: var(--plum); }
.lane--letter { --lane-color: var(--blue); }
.lane__number { margin: 0 0 2.5rem; color: var(--lane-color); font: 700 .85rem/1 var(--display); }
.lane h3 { margin-bottom: .65rem; font-size: 1.45rem; }
.lane > p:not(.lane__number) { color: var(--ink-soft); font-size: .94rem; }
.lane ul { margin: 1.25rem 0 0; padding-left: 1.15rem; color: var(--ink-soft); font-size: .84rem; }
.lane li { margin-block: .4rem; }

.explainer { padding-block: clamp(4.5rem, 8vw, 7rem); color: var(--surface); background: var(--green-strong); }
.explainer__grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(2rem, 8vw, 7rem); }
.explainer .eyebrow { color: #e2af95; }
.explainer details { padding: 1rem 0; border-bottom: 1px solid rgba(255,255,255,.22); }
.explainer details:first-child { padding-top: 0; }
.explainer summary { cursor: pointer; font: 700 1.1rem/1.35 var(--display); }
.explainer details p { color: #e5e1d7; font-size: .95rem; }
.legal-note { margin-top: 1.4rem; color: #c9c8be; font: italic .79rem/1.5 var(--body); }

.file-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: .8rem; }
.file-grid a { min-height: 145px; display: flex; flex-direction: column; justify-content: end; padding: 1rem; border: 1px solid var(--line); background: var(--surface); color: var(--ink); text-decoration: none; }
.file-grid a:hover { border-color: var(--rust); box-shadow: var(--shadow-small); transform: translateY(-2px); }
.file-grid strong { font: 700 .88rem/1.3 var(--display); }
.file-grid span { margin-top: .4rem; color: var(--ink-soft); font: 600 .67rem/1.4 var(--sans); }

footer { border-top: 1px solid var(--line); background: var(--paper-deep); }
.footer__inner { min-height: 110px; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.footer__inner p { margin: 0; color: var(--ink-soft); font-size: .78rem; }
.footer__inner strong { font-family: var(--display); }
.noscript { position: fixed; left: 1rem; right: 1rem; bottom: 1rem; z-index: 10; padding: 1rem; border: 2px solid var(--rust); background: var(--surface); text-align: center; }

@media (max-width: 980px) {
  .hero { grid-template-columns: minmax(0, 1fr); }
  .hero__copy, .status-note { min-width: 0; }
  .status-note { max-width: 620px; }
  .action-queue { grid-template-columns: repeat(2, 1fr); }
  .desk { grid-template-columns: 1fr; }
  .filters { position: static; display: grid; grid-template-columns: repeat(2, 1fr); gap: .75rem 1rem; }
  .filters__head, .filter-note { grid-column: 1 / -1; }
  .field { margin-bottom: 0; }
  .lane-grid { grid-template-columns: 1fr; }
  .lane { min-height: auto; }
  .file-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 680px) {
  body { font-size: 16px; }
  .shell, .masthead__inner { width: min(calc(100% - 24px), var(--shell)); }
  .masthead__inner { min-height: 68px; }
  .verification { display: none; }
  .hero { padding-block: 4rem; }
  h1 { max-width: 100%; font-size: clamp(2.4rem, 10vw, 3rem); letter-spacing: -.09em; }
  .hero__actions { align-items: flex-start; flex-direction: column; }
  .status-note { padding: 1.4rem; }
  .profile-grid { grid-template-columns: repeat(2, 1fr); }
  .profile-grid div { border-bottom: 1px solid var(--line); }
  .profile-grid div:nth-child(odd) { border-left: 1px solid var(--line); }
  .section-heading { display: block; }
  .section-heading > p, .section-heading > a { display: block; margin-top: .8rem; }
  .action-queue { grid-template-columns: 1fr; }
  .action-item { min-height: 210px; }
  .filters { grid-template-columns: 1fr; }
  .filters__head, .filter-note { grid-column: auto; }
  .toolbar { align-items: stretch; flex-direction: column; }
  .toolbar__actions { align-items: stretch; flex-direction: column; }
  .toolbar select { width: 100%; }
  .opportunity-card summary { grid-template-columns: 38px minmax(0, 1fr) auto; gap: .6rem; padding: 1rem .8rem; }
  .score { width: 39px; font-size: .66rem; }
  .card-details { padding: 0 .9rem 1rem; }
  .detail-grid { grid-template-columns: 1fr; }
  .detail-block--wide { grid-column: auto; }
  .score-breakdown { grid-template-columns: 1fr 1fr; }
  .explainer__grid { grid-template-columns: 1fr; }
  .file-grid { grid-template-columns: 1fr 1fr; }
  .footer__inner { align-items: start; flex-direction: column; justify-content: center; gap: .35rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}

@media print {
  body { background: white; color: black; font-size: 11pt; }
  .masthead, .hero__actions, .filters, .toolbar__actions, .active-filters, footer, .files, .explainer { display: none !important; }
  .hero { display: block; padding-block: 1rem; }
  .status-note { box-shadow: none; transform: none; }
  .profile-grid { break-inside: avoid; }
  .opportunity-section { background: white; color: black; padding: 1rem 0; }
  .section-heading--light h2, .section-heading--light > p { color: black; }
  .desk { display: block; }
  .opportunity-card { break-inside: avoid; background: white; color: black; border-color: #888; }
  .opportunity-card summary { grid-template-columns: 40px 1fr 40px; }
  .opportunity-card h3, .score { color: black; }
}
