.business-page { padding-block: 58px 80px; }
.business-header { max-width: 920px; margin-bottom: 36px; }
.business-eyebrow { margin: 0 0 12px; font-size: 11px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.business-header h1 { margin: 0 0 24px; font: 800 clamp(48px, 7vw, 88px)/.96 Georgia, serif; letter-spacing: -.055em; }
.business-header > p:last-of-type { max-width: 640px; font-size: 18px; line-height: 1.55; }
.business-jumps { display: flex; flex-wrap: wrap; gap: 8px 28px; margin-top: 26px; }
.business-jumps a { display: inline-flex; align-items: center; min-height: 44px; gap: 16px; font-weight: 700; font-size: 13px; }
.business-jumps span { color: var(--red); }
.business-filters { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; padding: 28px 0; border-block: 1px solid var(--ink); }
.business-filters label { display: grid; align-content: start; min-width: 0; gap: 8px; font-size: 12px; font-weight: 700; }
.business-filters input, .business-filters select { width: 100%; min-width: 0; min-height: 46px; padding: 10px 12px; border: 1px solid #96938b; border-radius: 0; background: var(--white); color: var(--ink); font: inherit; font-size: 14px; }
.business-filters__search { grid-column: span 2; }
.business-filters__funding { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-column: span 2; gap: 16px; min-width: 0; margin: 0; padding: 0; border: 0; }
.business-filters__funding legend { padding: 0 0 10px; font-size: 12px; font-weight: 700; }
.business-filters__actions { display: flex; align-items: flex-end; flex-wrap: wrap; gap: 8px 22px; grid-column: span 2; }
.business-filters__actions a { display: inline-flex; align-items: center; min-height: 44px; font-size: 13px; }
.business-filters__note { grid-column: 1 / -1; max-width: 820px; margin: 0; color: #58554f; font-size: 12px; line-height: 1.6; }
.business-section { padding-top: 54px; scroll-margin-top: 110px; }
.business-section__header { display: flex; align-items: end; justify-content: space-between; flex-wrap: wrap; gap: 18px; margin-bottom: 26px; }
.business-section h2, .business-related h2, .business-sources h2 { margin: 0; font: 700 clamp(26px, 3vw, 38px)/1.12 Georgia, serif; letter-spacing: -.025em; }
.business-count { font-size: 12px; color: #58554f; }
.business-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--ink); }
.business-opportunity { display: grid; grid-template-columns: minmax(0, 1fr) 240px; gap: 44px; padding: 28px 0 32px; border-bottom: 1px solid var(--line); }
.business-opportunity__labels { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-bottom: 12px; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.business-opportunity h3 { margin: 0 0 12px; max-width: 820px; overflow-wrap: anywhere; font: 700 clamp(20px, 2.2vw, 27px)/1.25 Georgia, serif; }
.business-opportunity__issuer { margin: 0 0 12px; font-size: 12px; font-weight: 700; overflow-wrap: anywhere; }
.business-opportunity__summary { max-width: 820px; margin: 0 0 16px; font-size: 14px; line-height: 1.65; overflow-wrap: anywhere; }
.business-facts { display: grid; gap: 10px; margin: 14px 0; font-size: 13px; line-height: 1.55; }
.business-facts div { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 12px; }
.business-facts dt { color: #58554f; }
.business-facts dd { margin: 0; overflow-wrap: anywhere; }
.business-opportunity__source { margin: 20px 0 0; font-size: 11px; color: #58554f; line-height: 1.65; }
.business-opportunity__source strong { font-weight: 700; }
.business-opportunity__action { display: flex; flex-direction: column; align-items: flex-start; border-left: 1px solid var(--line); padding-left: 26px; }
.business-opportunity__action > time { font: 700 26px/1.25 Georgia, serif; }
.business-opportunity__action > time small { display: block; margin-top: 8px; font: 500 12px/1.5 Inter, sans-serif; }
.business-opportunity__action.is-urgent > time { color: var(--red); }
.business-opportunity__action > p { margin: 12px 0; font-size: 12px; line-height: 1.6; }
.business-original { display: inline-flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; margin-top: 18px; font-size: 13px; font-weight: 800; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.business-original:hover { color: var(--red); text-decoration-thickness: 2px; }
.business-empty, .business-warning { margin: 0; padding: 24px 0; border-top: 1px solid var(--line); font-size: 14px; line-height: 1.65; }
.business-warning { color: #8a251b; }
.business-pagination { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 20px; padding-top: 20px; font-size: 13px; }
.business-pagination a { display: inline-flex; align-items: center; min-height: 44px; }
.business-related { padding: 30px 0; margin-top: 48px; border-block: 1px solid var(--ink); }
.business-related p, .business-sources p { max-width: 780px; font-size: 14px; line-height: 1.7; }
.business-sources { padding-top: 36px; scroll-margin-top: 110px; }
.business-sources ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px 30px; margin: 26px 0; padding: 0; list-style: none; }
.business-sources li a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; font-weight: 700; }
.business-sources small { display: block; color: #58554f; font-size: 11px; }
.business-page :focus-visible { outline: 3px solid var(--ink); outline-offset: 4px; }
.business-breadcrumb { display: flex; flex-wrap: wrap; gap: 8px 12px; margin-bottom: 32px; font-size: 12px; line-height: 1.6; }
.business-breadcrumb [aria-current] { color: #58554f; }
.business-categories { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 0 0 14px; }
.business-categories ol { display: flex; flex-wrap: wrap; align-items: center; gap: 0 10px; list-style: none; padding: 0; margin: 0; }
.business-categories li { display: flex; align-items: center; gap: 10px; min-width: 0; max-width: 100%; }
.business-categories li > span { color: #58554f; }
.business-categories a { display: inline-flex; align-items: center; max-width: 100%; min-height: 44px; font-size: 12px; font-weight: 700; line-height: 1.5; overflow-wrap: anywhere; text-underline-offset: 4px; }
.business-filters__procurement { grid-column: span 2; min-width: 0; margin: 0; padding: 0; border: 0; }
.business-filters__procurement legend { padding: 0 0 10px; font-size: 12px; font-weight: 700; }
.procurement-header { max-width: 1000px; }
.procurement-header h1 { font-size: clamp(34px, 5vw, 66px); line-height: 1.06; overflow-wrap: anywhere; }
.procurement-header > p:last-of-type { max-width: 850px; }
.procurement-intro { max-width: 850px; margin: 36px 0; font-size: 15px; line-height: 1.75; }
.procurement-intro h2, .procurement-explanation h2, .procurement-related h2 { font: 700 26px/1.2 Georgia, serif; }
.procurement-directory { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 40px; list-style: none; padding: 0; margin: 32px 0 0; }
.procurement-directory li { border-top: 1px solid var(--line); }
.procurement-directory a { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px 20px; padding: 24px 0; text-decoration: none; }
.procurement-directory small { grid-column: 1; color: #58554f; font-size: 11px; font-weight: 700; }
.procurement-directory strong { grid-column: 1; font: 700 24px/1.2 Georgia, serif; overflow-wrap: anywhere; }
.procurement-directory span { grid-column: 1; font-size: 13px; line-height: 1.65; }
.procurement-directory b { grid-column: 2; grid-row: 2; align-self: center; color: var(--red); }
.procurement-directory a:hover strong { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.procurement-explanation { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; padding-block: 30px; border-block: 1px solid var(--line); font-size: 15px; line-height: 1.75; }
.procurement-explanation h2 { margin-top: 0; }
.procurement-explanation ul { padding-left: 22px; }
.procurement-explanation li { margin-bottom: 8px; }
.procurement-related { margin-top: 32px; }
.procurement-related ul { display: flex; flex-wrap: wrap; gap: 8px 28px; list-style: none; padding: 0; }
.procurement-related a { display: inline-flex; align-items: center; min-height: 44px; font-size: 13px; line-height: 1.5; }
.procurement-list-filters { display: flex; flex-wrap: wrap; align-items: end; gap: 18px; margin-bottom: 24px; }
.procurement-list-filters label { display: grid; gap: 8px; font-size: 12px; font-weight: 700; }
.procurement-list-filters select { max-width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid #96938b; background: var(--white); color: var(--ink); font: inherit; }
.procurement-provenance { border-top: 1px solid var(--line); margin-top: 36px; padding-top: 24px; font-size: 12px; line-height: 1.7; }
.procurement-provenance p { max-width: 850px; }
.procurement-directory .procurement-directory__children { list-style: none; margin: 0 0 24px; padding: 0 0 0 16px; border-left: 2px solid var(--line); }
.procurement-directory__children li { border: 0; }
.procurement-directory .procurement-directory__children a { display: block; min-height: 44px; padding: 10px 0; font-size: 13px; line-height: 1.6; text-decoration: underline; text-underline-offset: 4px; }
.procurement-children { padding-block: 24px; border-top: 1px solid var(--line); }
.procurement-children h2, .procurement-faq h2 { font: 700 28px/1.2 Georgia, serif; }
.procurement-children ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 30px; margin: 24px 0; padding: 0; list-style: none; }
.procurement-children a { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 14px; min-height: 100%; padding: 18px 0; border-top: 1px solid var(--line); text-decoration: none; }
.procurement-children small { grid-column: 1; color: #58554f; font-size: 11px; }
.procurement-children strong { grid-column: 1; font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }
.procurement-children a:hover strong { text-decoration: underline; text-underline-offset: 4px; }
.procurement-children span { grid-column: 2; grid-row: 2; color: var(--red); }
.procurement-faq { padding-top: 36px; margin-top: 36px; border-top: 1px solid var(--ink); scroll-margin-top: 110px; }
.procurement-faq details { max-width: 1000px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.procurement-faq summary { min-height: 44px; align-content: center; padding-block: 10px; cursor: pointer; font-size: 15px; font-weight: 700; line-height: 1.6; overflow-wrap: anywhere; }
.procurement-faq p { max-width: 850px; margin: 8px 0 16px; font-size: 14px; line-height: 1.8; }
@media (max-width: 820px) {
  .procurement-children ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .business-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .business-opportunity { grid-template-columns: minmax(0, 1fr) 195px; gap: 24px; }
  .business-opportunity__action { padding-left: 18px; }
  .business-sources ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .procurement-children ul { grid-template-columns: minmax(0, 1fr); }
  .procurement-directory, .procurement-explanation { grid-template-columns: minmax(0, 1fr); }
  .procurement-list-filters label { width: 100%; }
  .business-page { padding-top: 36px; }
  .business-filters { gap: 16px 12px; }
  .business-filters__actions { align-items: center; }
  .business-opportunity { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .business-opportunity__action { padding: 18px 0 0; border-left: 0; border-top: 1px solid var(--line); }
  .business-facts div { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  .business-sources ul { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 360px) {
  .business-filters { grid-template-columns: minmax(0, 1fr); }
  .business-filters__search, .business-filters__funding, .business-filters__actions { grid-column: 1; }
  .business-filters__funding { grid-template-columns: minmax(0, 1fr); }
  .business-filters__procurement { grid-column: 1; }
}

.business-news-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.business-news-list > li { min-width: 0; }
.business-news-list article { display: flex; flex-direction: column; align-items: flex-start; height: 100%; padding: clamp(20px, 2.5vw, 32px); border: 1px solid var(--line, #d8dfdf); border-radius: 20px; background: #fff; box-shadow: 0 4px 18px #153c3406; }
.business-news-list article > p { margin: 0 0 14px; }
.business-news-list article > .network-label { padding: 4px 10px; border-radius: 6px; background: #edf3f1; color: #153c34; }
.business-news-list h3 { font-size: clamp(1.2rem, 2vw, 1.5rem); line-height: 1.25; margin: .6rem 0; overflow-wrap: anywhere; }
.business-news-list h3 a { color: inherit; text-decoration: none; }
.business-news-list h3 a:hover { text-decoration: underline; }
.business-news-list p { line-height: 1.65; }
.business-news-meta, .business-news-check { font-size: .85rem; color: #4b5960; }
.business-news-original { display: inline-flex; align-items: center; justify-content: space-between; gap: 20px; width: 100%; min-height: 44px; margin-top: auto; padding: 16px 0 0; border-top: 1px solid var(--line, #d8dfdf); font-weight: 700; text-underline-offset: 4px; }
.business-news-original span { display: grid; place-items: center; flex-shrink: 0; width: 34px; height: 34px; border-radius: 50%; background: #edf3f1; }
.business-news-list article:focus-within { border-color: var(--red); }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .business-news-list article { transition: border-color .18s ease, box-shadow .18s ease; }
  .business-news-list article:hover { border-color: #88a99c; box-shadow: 0 8px 24px #153c340d; }
}
.business-news-filters { grid-template-columns: 1fr 1fr; }
.business-related details { border-top: 1px solid #ced8d8; padding: 1rem 0; }
.business-related summary { cursor: pointer; font-weight: 700; line-height: 1.5; }
@media (max-width: 620px) { .business-news-list, .business-news-filters { grid-template-columns: 1fr; } }
.business-news-filters .business-filters__actions { grid-column: 1 / -1; }
.business-news-list h3 { font-family: Georgia, serif; }

/* Business edition: cool paper, deep teal navigation and a distinct working header. */
body.business-edition { --ink: #153c34; --paper: #edf3f1; --white: #ffffff; --red: #086759; --orange: #087469; --muted: #49635a; --line: #bbcdc5; }
.business-edition .site-header { background: #edf3f1; border-bottom-color: #bbcdc5; }
.business-edition .primary-nav > a { padding-block: 14px; text-transform: none; letter-spacing: 0; }
.business-edition .primary-nav > a:hover, .business-edition .primary-nav > a[aria-current] { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 7px; }
.business-edition .business-page { padding-top: 32px; }
.business-edition .business-header { max-width: none; margin-bottom: 36px; padding: clamp(24px, 4vw, 54px); background: #123f36; color: #ffffff; border-bottom: 5px solid #70b5a0; }
.business-edition .business-header h1 { font-family: Inter, ui-sans-serif, system-ui, sans-serif; font-size: clamp(38px, 5.7vw, 72px); font-weight: 750; line-height: 1.05; letter-spacing: -.045em; }
.business-edition .business-header .business-eyebrow { color: #b8ded0; }
.business-edition .business-header > p:last-of-type { max-width: 760px; color: #e1eeea; }
.business-edition .business-jumps { gap: 4px 24px; padding-top: 14px; border-top: 1px solid #527d70; }
.business-edition .business-jumps a { color: #ffffff; }
.business-edition .business-jumps span { color: #b8ded0; }
.business-edition .business-header :focus-visible { outline-color: #b8ded0; }
.business-edition .business-section h2, .business-edition .business-related h2, .business-edition .business-sources h2 { font-family: Inter, ui-sans-serif, system-ui, sans-serif; font-weight: 750; letter-spacing: -.035em; }
.business-edition .business-filters { border-block-color: #bbcdc5; }
.business-edition .business-filters input, .business-edition .business-filters select { border-color: #829b90; }
.business-edition .business-news-meta, .business-edition .business-news-check { color: #49635a; }
.business-edition .business-opportunity h3, .business-edition .business-news-list h3 { color: #153c34; }
.business-edition .site-footer { border-top-color: #bbcdc5; }
@media (max-width: 520px) {
  .business-edition .business-header { padding: 26px 20px; }
  .business-edition .business-page { padding-top: 18px; }
}
.business-edition .business-events-header { margin-top: 32px; }
.business-edition .business-section, .business-edition .business-sources { scroll-margin-top: var(--section-scroll-offset, 134px); }

.business-edition .news-ticker__item small { color: #086759; }
.business-edition .news-ticker__item strong { color: #153c34; }
.business-edition .news-ticker__item:hover strong { color: #086759; }
/* Business RSS has no thumbnail images: keep compact headlines readable on scroll. */
.news-ticker--business.is-peek .news-ticker__item { flex-basis: 260px; width: 260px; }
.news-ticker--business.is-peek .news-ticker__item > span { display: block; width: 100%; }
.news-ticker--business.is-peek .news-ticker__item small { display: none; }
.news-ticker--business.is-peek .news-ticker__item strong { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font: 600 11px/16px Inter, ui-sans-serif, system-ui, sans-serif; }

.company-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 44px; list-style: none; margin: 0; padding: 0; }
.company-list > li { min-width: 0; border-top: 1px solid var(--line); }
.company-list article { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 20px; padding: 28px 0; }
.company-initial { display: grid; place-items: center; width: 52px; height: 52px; background: #d8e7df; color: #123f36; font-size: 28px; font-weight: 750; }
.company-list h3 { margin: 0 0 6px; font-size: 25px; line-height: 1.2; letter-spacing: -.025em; }
.company-list h3 a { text-decoration: none; }
.company-list h3 a:hover { text-decoration: underline; }
.company-list p { max-width: 520px; font-size: 14px; line-height: 1.7; margin: 12px 0; }
.company-sector { font-size: 12px; font-weight: 650; }
.company-profile-link, .company-official { display: inline-flex; align-items: center; min-height: 44px; gap: 12px; font-size: 14px; font-weight: 700; }
.company-official { color: white; }
.company-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; padding: 24px 0; border-block: 1px solid var(--line); }
.company-facts dt { font-size: 12px; font-weight: 700; margin-bottom: 6px; }
.company-facts dd { margin: 0; font-size: 14px; }
.company-news { margin: 0; padding: 0; list-style: none; }
.company-news li { display: grid; grid-template-columns: 110px minmax(0,1fr); gap: 24px; padding: 20px 0; border-top: 1px solid var(--line); }
.company-news time { padding-top: 4px; font-size: 12px; color: var(--muted); }
.company-news h3 { margin: 0; font: 700 23px/1.35 Georgia, serif; }
.company-page .business-header { margin-top: 0; }
.business-edition .pagination { padding-block: 24px; }
.business-edition .pagination .nav-links { display: flex; flex-wrap: wrap; gap: 12px; }
.business-edition .pagination a, .business-edition .pagination span { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 4px 10px; }
.business-edition .pagination .current { background: var(--ink); color: #fff; }
@media (max-width: 620px) {
 .company-list, .company-facts { grid-template-columns: 1fr; }
 .company-list article { grid-template-columns: 40px minmax(0,1fr); gap: 14px; }
 .company-initial { width: 40px; height: 40px; font-size: 22px; }
 .company-news li { grid-template-columns: 1fr; gap: 8px; }
}
.business-edition .business-header h1 { overflow-wrap: anywhere; }
.company-directory .business-header, .company-page .business-header { padding: clamp(24px, 3vw, 36px); }
.company-directory .business-header h1 { font-size: clamp(38px, 4.5vw, 58px); }
@media (min-width: 721px) {
 .company-directory .business-news-filters { grid-template-columns: minmax(160px,1fr) minmax(160px,1fr) auto; align-items: end; }
 .company-directory .business-filters__actions { grid-column: auto; }
}

/* Opportunities and news share a white card surface on the business paper. */
.business-list { display: grid; gap: 20px; border-top: 0; }
.business-list > li { min-width: 0; }
.business-opportunity { padding: 28px; border: 1px solid var(--line); border-radius: 20px; background: #fff; box-shadow: 0 4px 18px #153c3406; }
@media (max-width: 720px) {
  .business-opportunity { padding: 20px; }
  .business-news-list { gap: 16px; }
}
