/* Shared finishing layer for every public, account and workspace page.
   Fonts below are self-hosted; see fonts/README.md for sources and licenses. */
:root { --ink: #242c2a; --muted: #65706b; --line: #e4e8e1; --paper: #f6f7f2; }
.facility-auctions { margin-top: 32px; padding-top: 28px; border-top: 1px solid var(--line); scroll-margin-top: 90px; }
.facility-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; }
.facility-heading h2 { margin: 0; font-size: clamp(1.25rem, 2vw, 1.65rem); }
.facility-heading .eyebrow { margin: 0 0 8px; }
.facility-count { padding: 7px 12px; border-radius: 20px; background: #e6f0e9; color: #2d604c; font-size: .8rem; font-weight: 700; white-space: nowrap; }
.facility-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 18px; }
.facility-card { display: grid; grid-template-columns: 100px minmax(0, 1fr); gap: 14px; padding: 14px; background: #fff; border: 1px solid var(--line); border-radius: 14px; min-width: 0; }
.workspace .facility-photo { width: 100px; height: 120px; aspect-ratio: auto; border-radius: 9px; }
.workspace .facility-photo .photo-fallback { align-items: center; }
.facility-content { min-width: 0; }
.workspace .facility-content h3 { font-size: .92rem; line-height: 1.4; margin: 0 0 10px; }
.facility-content h3 a { color: var(--ink); text-decoration: none; }
.facility-content h3 a:hover { text-decoration: underline; }
.facility-bid { display: flex; align-items: center; flex-wrap: wrap; gap: 5px 7px; margin: 0 0 9px; font-size: .73rem; color: var(--muted); }
.facility-bid strong { color: var(--ink); font-size: 1.05rem; }
.facility-closing { margin: 0; color: var(--muted); font-size: .73rem; line-height: 1.5; }
.facility-closing > span { font-weight: 700; }
.facility-view { display: inline-flex; align-items: center; gap: 7px; min-height: 44px; font-size: .8rem; font-weight: 700; }
.facility-pager { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-top: 18px; }
.facility-pager > div { display: flex; flex-wrap: wrap; gap: 10px; }
@media (max-width: 1100px) { .facility-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) { .facility-grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 380px) { .facility-card { grid-template-columns: 80px minmax(0, 1fr); gap: 10px; padding: 12px; } .workspace .facility-photo { width: 80px; height: 110px; } }
body.workspace { background: var(--paper); }
/* A shared explorer: layout changes presentation, never the result set. */
.workspace.explore-workspace .board-page { width: min(1600px, calc(100% - 64px)); }
.workspace.explore-workspace .site-header { padding-inline: max(32px, calc((100% - 1600px) / 2)); }
.nav-group { position: relative; }
.nav-group > summary { display: flex; align-items: center; gap: 8px; min-height: 40px; padding: 9px 12px; border-radius: 9px; cursor: pointer; font-size: .85rem; font-weight: 700; list-style: none; }
.nav-group > summary::marker { content: ''; }
.nav-group > summary::-webkit-details-marker { display: none; }
.nav-group > summary .ui-icon { display: block; width: 16px; height: 16px; flex: none; stroke-width: 2.25; transition: transform 160ms ease; }
.nav-group[open] > summary .ui-icon { transform: rotate(180deg); }
.nav-group > summary:hover, .nav-group[open] > summary { background: #f3f5ef; }
.nav-group.is-current > summary { background: #fff0e5; color: #963b18; }
.nav-group-links { position: absolute; right: 0; top: calc(100% + 8px); width: 265px; padding: 8px; border: 1px solid var(--line); border-radius: 12px; background: #fff; box-shadow: 0 14px 40px #21362d1c; z-index: 30; }
.workspace .site-nav .nav-group-links a { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 3px; white-space: normal; }
.nav-group-links small { font-size: .7rem; color: var(--muted); font-weight: 500; }
.nav-group-caption { display: block; padding: 10px 12px; color: var(--muted); font-size: .68rem; text-transform: uppercase; letter-spacing: .07em; }
.nav-group-links form { padding-top: 8px; margin-top: 6px; border-top: 1px solid var(--line); }
.workspace .site-nav .nav-group-links .btn-nav { width: 100%; }
.view-description { color: var(--muted); font-size: .83rem; margin: 14px 0; }
.ranking-guide { margin: 0; }
.ranking-guide dt { font-weight: 800; margin-top: 12px; }
.ranking-guide dd { margin: 4px 0 0; color: var(--muted); line-height: 1.55; }
.explore-search .primary-filters { grid-template-columns: 1fr 1fr minmax(220px, 1.6fr) auto; }
.workspace .explore-search { border-radius: 14px 14px 0 0; }
.explore-quickbar { border: 1px solid var(--line); border-top: 0; margin-top: -1px; }
.explore-ranking-note { display: flex; align-items: baseline; justify-content: space-between; gap: 16px 28px; flex-wrap: wrap; margin-top: 16px; }
.explore-ranking-note p { display: flex; align-items: flex-start; gap: 8px; flex: 1 1 480px; font-size: .8rem; color: var(--muted); line-height: 1.6; margin: 0; }
.explore-ranking-note .ui-icon { flex: none; margin-top: 2px; }
.explore-ranking-note > a { display: inline-flex; align-items: center; gap: 7px; font-size: .8rem; font-weight: 800; min-height: 36px; }
.layout-switch { display: flex; gap: 4px; padding: 4px; background: #eaf0e7; border: 1px solid #dce3d8; border-radius: 10px; }
.layout-switch a { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 9px 16px; color: #4d6054; font-size: .82rem; font-weight: 800; text-decoration: none; border-radius: 7px; min-height: 40px; }
.layout-switch a[aria-current] { background: #fff; color: #294e3b; box-shadow: 0 1px 4px #21362d12; }
.explore-table th:first-child { width: 32%; }
.explore-table th:nth-child(2) { width: 9%; }
.explore-table th:nth-child(3), .explore-table th:nth-child(4), .explore-table th:nth-child(5) { width: 10%; }
.explore-table th:nth-child(6) { width: 15%; }
.explore-table th:last-child { width: 14%; }
.explore-table th a { white-space: normal; }
.explore-table th { position: sticky; top: 64px; z-index: 5; }
.explore-table-free th:first-child { width: 40%; }
.explore-table-free th:nth-child(4) { width: 20%; }
.explore-table .listing-score-cell small { display: block; color: var(--muted); font-size: .62rem; margin-top: 6px; white-space: nowrap; }
.explore-row-details { position: relative; font-size: .75rem; }
.explore-row-details > summary { color: #53675a; cursor: pointer; padding-block: 10px; }
.explore-row-details > div { position: absolute; z-index: 10; right: 0; width: 290px; max-width: 80vw; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: #fff; box-shadow: 0 12px 28px #21362d1c; }
.explore-row-details .card-actions { flex-wrap: wrap; border: 0; padding: 0; margin: 0 0 12px; }
.explore-row-details ul { padding-left: 18px; line-height: 1.5; }
.explore-table tr { scroll-margin-top: 80px; }
.card-status :is(.listing-seen, .listing-unseen, .listing-game) { font-size: .65rem; padding: 3px 6px; border-radius: 5px; font-weight: 800; }
@media (min-width: 1400px) { .workspace.explore-workspace .hunt-list { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 1120px) {
  .workspace .site-nav .nav-group > summary { min-height: 44px; justify-content: space-between; }
  .nav-group-links { position: static; width: auto; box-shadow: none; margin: 4px 0 8px; border-color: #edf0e8; background: #fafbf8; }
}
@media (max-width: 1100px) {
  .explore-table .listing-unit { flex-direction: row; }
  .explore-table .listing-unit-cell { padding-right: 64px; }
  .explore-table .listing-score-cell { text-align: center; }
  .explore-table .listing-row-actions { gap: 10px; }
}
@media (max-width: 700px) {
  .workspace.explore-workspace .board-page { width: calc(100% - 32px); }
  .workspace.explore-workspace .site-header { padding-inline: 16px; }
  .explore-search .primary-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .explore-search .ranking-select { grid-column: 1/-1; }
  .explore-table .listing-unit { flex-direction: column; }
  .explore-table .listing-unit-cell { padding-right: 60px; }
  .explore-table .listing-score { width: 46px; height: 42px; }
  .explore-row-details > div { width: min(280px, calc(100vw - 72px)); }
  .layout-switch a { min-height: 44px; }
  .explore-workspace .metric-caption, .explore-workspace .metric-icon { display: none; }
  .explore-workspace .metric-card { padding: 12px; }
  .explore-workspace .view-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: visible; gap: 0; }
  .explore-workspace .view-tabs a { text-align: center; padding: 12px 5px; }
}
main[id] { scroll-margin-top: 82px; }
.workspace .site-header { padding-inline: max(24px, calc((100% - 1280px) / 2)); }
.workspace .site-nav a, .workspace .site-nav button.btn-nav { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; }
.workspace .site-nav a[aria-current="page"] { color: #963b18; background: #fff0e5; }
.workspace .site-nav .btn-nav { margin-left: 0; box-shadow: none; }
.workspace :is(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid #2e8274; outline-offset: 3px; }
.workspace :is(h1, h2, h3) { overflow-wrap: anywhere; }
.workspace :is(.page-head, .workspace-heading) > div { min-width: 0; }
.workspace .page-head { margin-bottom: 24px; gap: 16px; }
.workspace :is(.panel, .split, .stack, .form-grid, .ops-layout, .table-scroll) { min-width: 0; }
.workspace :is(.form-grid, .stack, .inline-form) :is(input, select, textarea):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]) { min-height: 44px; min-width: 0; font-size: .9rem; background: #fafbf8; border-color: #dce2d9; }
.workspace textarea { max-width: 100%; resize: vertical; }
.workspace pre { max-width: 100%; overflow: auto; padding: 16px; background: #f5f7f2; border: 1px solid var(--line); border-radius: 10px; font-size: .8rem; }
.workspace .mini { min-height: 36px; border-radius: 8px; }
.workspace .form-grid { gap: 18px; }
.workspace .form-actions { gap: 12px; }
.workspace :is(.form-grid, .rule-form, .rule-add) { margin-top: 24px; }
.workspace .rule-row { border: 1px solid var(--line); box-shadow: none; border-radius: 12px; }
.workspace .rule-row input[type="number"] { min-height: 44px; background: #fafbf8; border-color: #dce2d9; }
.workspace .rule-name { min-width: 0; overflow-wrap: anywhere; }
.workspace .table-scroll { border: 1px solid var(--line); border-radius: 12px; background: #fff; overscroll-behavior-inline: contain; }
.workspace .data-table th { background: #f0f3ec; color: #516156; font-size: .75rem; padding: 14px 12px; }
.workspace .data-table td { padding: 14px 12px; }
.workspace .notice { border: 1px solid var(--line); line-height: 1.6; }
.workspace :is(.notice-ok, .auth-card .notice-ok) { background: #e8f4ef; color: #226452; border-color: #cce2d7; }
.workspace :is(.notice-bad, .form-error, .auth-card .form-error) { background: #fff0eb; color: #8f3527; border-color: #eacbc3; }
.workspace .notice-warn { background: #fbf4dd; border-color: #e8dcae; color: #655524; }
.workspace .legal-links { width: min(1280px, calc(100% - 64px)); margin: 0 auto; padding: 22px 0; border-color: var(--line); gap: 8px 24px; }
.workspace .legal-links a { display: inline-flex; align-items: center; min-height: 36px; color: #526258; font-size: .8rem; }
.workspace .site-footer { width: min(1280px, calc(100% - 64px)); padding: 28px 0; border-top: 1px solid var(--line); font-size: .85rem; }
.workspace .site-footer a { display: inline-flex; align-items: center; min-height: 36px; }

/* Account entry and email links use the same calm surfaces as the dashboard. */
.workspace.auth-body { min-height: 100dvh; }
.workspace .auth-card { width: min(500px, calc(100% - 32px)); margin: 48px auto; padding: 32px; border: 1px solid var(--line); border-radius: 16px; box-shadow: 0 8px 30px #21362d06; }
.workspace .auth-card h1 { font-size: clamp(1.65rem, 4vw, 2.1rem); line-height: 1.2; }
.workspace .auth-card p { line-height: 1.65; }
.workspace .auth-card .eyebrow { margin: 0 0 12px; }
.workspace .auth-card form { gap: 18px; margin-top: 24px; }
.workspace .auth-card label { color: #44594c; font-size: .85rem; gap: 7px; }
.workspace .auth-card input:not([type="checkbox"]):not([type="hidden"]) { width: 100%; min-width: 0; min-height: 48px; background: #fafbf8; border: 1px solid #dce2d9; border-radius: 9px; font-size: 1rem; }
.workspace .auth-card .btn { box-shadow: none; min-height: 48px; }
.workspace .auth-card .fine { font-size: .82rem; }
.workspace .auth-card .policy-checkbox { font-size: .85rem; font-weight: 500; }
.workspace .auth-card .policy-checkbox input { padding: 0; accent-color: #315f4d; flex: none; }
.workspace.auth-body .legal-links { margin-top: auto; }
.account-data-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; align-items: start; }
.account-data-grid p { color: var(--muted); line-height: 1.7; }
.account-data-grid .eyebrow { display: block; margin-bottom: 12px; }
.workspace .account-delete-section { border-color: #e8c8bf; }
.workspace .btn.btn-danger { background: #a63324; color: #fff; }
.workspace .btn.btn-danger:hover { background: #84291d; }

/* Public information and comparison cards retain readable line lengths. */
.workspace .plans-page { padding-top: 40px; }
.workspace .plans-intro h1 { font-size: clamp(2rem, 4vw, 2.7rem); }
.workspace .plan-options { gap: 24px; }
.workspace .plan-option { display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 14px; padding: 28px; }
.workspace .plan-option-pro { border-color: #b5cbbb; background: #f0f5ef; }
.workspace .plan-option h2 { font-size: 1.5rem; margin: 0; }
.workspace .plan-option .plan-price { font-size: 1.85rem; margin: 16px 0 12px; }
.workspace .plan-option ul { flex: 1; font-size: .95rem; }
.workspace .plan-option > .btn { align-self: flex-start; }
.workspace .plan-fine { font-size: .82rem; }
.workspace .plan-current { border-radius: 14px; }
.workspace .policy-page { margin-top: 40px; }
.workspace .policy-page section { padding: 28px; border-radius: 14px; border-color: var(--line); }
.workspace .policy-page h1 { font-size: clamp(1.85rem, 3.5vw, 2.7rem); }
.workspace.explainer-page .area-page { width: min(1100px, calc(100% - 64px)); padding: 40px 0 64px; }
.workspace.explainer-page .area-page > .lede { max-width: 75ch; }
.workspace.explainer-page ul.facts { gap: 16px; padding: 0; }
.workspace.explainer-page ul.facts li { border: 1px solid var(--line); border-radius: 14px; padding: 24px; }
.workspace.explainer-page section { margin-top: 32px; }
.workspace.explainer-page .note { background: #e8f1eb; color: #294d3b; border: 1px solid #d9e5dc; border-radius: 14px; padding: 24px; }
.workspace.explainer-page .access { border-radius: 14px; padding: 24px; border: 1px solid var(--line); background: #fff; }
.workspace.explainer-page .prices article { border: 1px solid var(--line); border-radius: 14px; }
.workspace .crumbs { overflow-wrap: anywhere; }
.workspace .area-card { border-radius: 14px; box-shadow: none; }
.workspace .area-card-body h3 { font-size: 1rem; }
.workspace .photo-load-failed { position: relative; background: #e9eee4; }
.workspace .area-photo-link.photo-load-failed { position: absolute; }
.workspace .photo-load-failed img[hidden], .workspace .photo-unavailable[hidden] { display: none; }
.workspace .photo-unavailable { position: absolute; inset: 0; display: grid; place-items: center; padding: 16px; color: #526258; font-size: .85rem; text-align: center; }
.workspace .listing-thumb.photo-load-failed > .ui-icon { visibility: hidden; }
.workspace .listing-thumb .photo-unavailable { font-size: .68rem; padding: 4px; }
.workspace .st-photo-error { color: #fff; text-align: center; max-width: 32ch; padding: 24px; }
.workspace .st-photo-error[hidden], .workspace #st-lightbox-img[hidden] { display: none; }

/* Collapse before the full admin menu can collide with the brand on tablets. */
@media (max-width: 1120px) {
  .workspace .site-header { padding-inline: 24px; }
  .workspace .nav-toggle { display: block; right: 24px; top: 10px; z-index: 2; }
  .workspace .nav-toggle-btn { display: inline-flex; }
  .workspace .site-nav { display: none; position: absolute; top: 100%; left: 0; right: 0; margin: 0; flex-direction: column; align-items: stretch; gap: 4px; padding: 12px 24px 20px; background: #fff; border-bottom: 1px solid var(--line); box-shadow: 0 12px 24px #21362d0d; max-height: calc(100dvh - 64px); overflow-y: auto; }
  .workspace .nav-toggle:checked ~ .site-nav { display: flex; }
  .workspace .site-nav a { justify-content: flex-start; padding: 12px; min-height: 44px; }
  .workspace .site-nav .btn-nav, .workspace .site-nav form { width: 100%; margin: 0; }
  .workspace .site-nav .btn-nav { justify-content: center; min-height: 44px; }
}
@media (min-width: 1121px) { .workspace .nav-toggle, .workspace .nav-toggle-btn { display: none; } }
@media (max-width: 700px) {
  .workspace .site-header { padding-inline: 16px; }
  .workspace .nav-toggle { right: 16px; }
  .workspace .site-nav { padding-inline: 16px; }
  .workspace .auth-card { margin: 24px auto 32px; padding: 24px; }
  body.workspace :is(input, select, textarea):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]) { font-size: 1rem; }
  .workspace .listing-tags > span { font-size: .72rem; }
  .workspace :is(.listing-money small, .listing-more, .listing-open) { font-size: .78rem; }
  .workspace .mini { min-height: 44px; }
  .workspace .page-head { align-items: stretch; }
  .workspace .page-head > div { width: 100%; }
  .workspace .page-head .actions { display: flex; flex-wrap: wrap; gap: 10px; }
  .workspace .legal-links, .workspace .site-footer { width: calc(100% - 32px); }
  .workspace .legal-links { gap: 6px 18px; }
  .workspace .legal-links a { min-height: 44px; }
  .account-data-grid { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .workspace .account-data-page .panel { padding: 22px; }
  .workspace .plan-option { padding: 24px; }
  .workspace .policy-page section { padding: 22px; }
  .workspace.explainer-page .area-page { width: calc(100% - 32px); padding-top: 24px; }
  .workspace .inline-form { flex-wrap: wrap; }
}
@media (max-width: 360px) {
  .workspace :is(.primary-filters, .listing-search, .extra-fields) { grid-template-columns: minmax(0, 1fr); }
  .workspace .listing-search > * { grid-column: 1/-1; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* cyrillic-ext */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(fonts/nunito-cyrillic-ext-v32.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(fonts/nunito-cyrillic-v32.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(fonts/nunito-vietnamese-v32.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(fonts/nunito-latin-ext-v32.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(fonts/nunito-latin-v32.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(fonts/sora-latin-ext-v17.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(fonts/sora-latin-v17.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Account-owned deep research uses the same panels as the workspace. */
.research-callout { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(240px,1fr); gap:32px; margin:24px 0; padding:28px; }
.research-callout h2 { margin:8px 0 12px; }
.research-start { border-left:1px solid var(--line, #dce5dc); padding-left:28px; align-self:center; }
.research-start .actions { margin-top:20px; flex-wrap:wrap; }
.research-quota { margin:24px 0; }
.research-photos { display:grid; gap:24px; margin-top:24px; }
.research-photo { display:grid; grid-template-columns:minmax(220px, .8fr) minmax(0,1.2fr); gap:28px; padding:24px; }
.research-image img { display:block; width:100%; max-height:480px; object-fit:contain; background:#f3f5f1; border-radius:12px; }
.research-finding { padding:0 0 20px; overflow-wrap:anywhere; }
.research-finding + .research-finding { border-top:1px solid #dce5dc; padding-top:20px; }
.research-finding h3 { margin:10px 0; }
.research-price { font-size:1.2rem; font-weight:700; color:#2e5b4c; }
.research-price .meta { font-size:.85rem; font-weight:400; }
.research-callout progress { width:100%; height:12px; accent-color:#2e5b4c; }
@media(max-width:700px) {
 .research-callout, .research-photo { grid-template-columns:minmax(0,1fr); padding:20px; gap:20px; }
 .research-start { border-left:0; border-top:1px solid #dce5dc; padding:20px 0 0; }
 .research-image img { max-height:360px; }
}
