.vertical-nav {
  display: flex;
  gap: 5px 22px;
  flex-wrap: wrap;
  padding: 12px max(5vw, 20px);
  border-bottom: 1px solid var(--line);
  font-size: 13px;
  background: var(--cream);
}
.vertical-nav a {
  padding: 7px 0;
  text-decoration: none;
  min-height: 34px;
}
.vertical-nav [aria-current="page"] {
  font-weight: 600;
  border-bottom: 2px solid #825153;
}
.stock-page {
  padding-bottom: 54px;
}
.stock-page .intro {
  max-width: 750px;
}
.stock-heading {
  padding: 42px 0 28px;
  border-bottom: 1px solid var(--line);
}
.stock-heading h1 {
  max-width: 850px;
}
.stock-heading .badge {
  display: inline-block;
  margin-bottom: 16px;
}
.journey-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin: 32px 0 40px;
}
.journey-card {
  background: #fffdfa;
  border: 1px solid var(--line);
  border-top: 3px solid var(--rose);
  border-radius: 4px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.journey-card h2 {
  font-size: 31px;
}
.journey-card p {
  color: var(--slate);
  font-size: 14px;
}
.journey-card a {
  margin-top: auto;
}
.stock-cards {
  margin: 24px 0;
}
.stock-card h2 {
  font-size: 29px;
}
.stock-card .price {
  font-weight: 600;
  font-size: 16px;
}
.stock-card .location {
  margin-top: 16px;
}
.stock-card .card-actions {
  margin-top: auto;
}
.stock-card a {
  overflow-wrap: anywhere;
}
.stock-meta {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin: 15px 0 24px;
  font-size: 13px;
  color: var(--slate);
}
.stock-meta span {
  background: var(--cream);
  border: 1px solid var(--line);
  padding: 8px 12px;
  border-radius: 3px;
}
.stock-detail {
  max-width: 900px;
}
.stock-detail dl {
  font-size: 15px;
}
.stock-detail dl > div {
  grid-template-columns: 190px minmax(0, 1fr);
}
.stock-detail section {
  margin: 32px 0;
}
.stock-detail h2 {
  font-size: 34px;
}
.stock-detail li {
  margin: 10px 0;
}
.history-list {
  padding-left: 24px;
  border-left: 2px solid var(--rose);
  margin-left: 9px;
}
.history-list li {
  padding: 8px 0;
}
.history-list .verification {
  font-size: 12px;
}
.related {
  background: var(--cream);
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 4px;
}
.related nav {
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
}
.data-table-wrap {
  overflow-x: auto;
  margin: 24px 0;
  max-width: 100%;
  border: 1px solid var(--line);
}
.data-table {
  border-collapse: collapse;
  width: 100%;
  font-size: 14px;
  min-width: 540px;
  background: #fffdfa;
}
.data-table th,
.data-table td {
  text-align: left;
  padding: 14px;
  border-bottom: 1px solid var(--line);
  vertical-align: top;
}
.data-table th {
  background: var(--cream);
  font-weight: 500;
}
.data-table caption {
  text-align: left;
  padding: 16px;
  font-weight: 600;
}
.method {
  max-width: 840px;
  margin: 36px 0;
}
.method p,
.method li {
  color: var(--slate);
}
.guide-body {
  max-width: 840px;
  padding: 32px 0;
}
.guide-body h2 {
  font-size: 32px;
  margin: 34px 0 16px;
}
.guide-body h3 {
  font-size: 25px;
}
.guide-body p,
.guide-body li {
  line-height: 1.75;
}
.guide-body li {
  margin: 9px 0;
}
.breadcrumb {
  font-size: 13px;
  margin: 25px 0;
  color: var(--slate);
}
.stock-filter {
  grid-template-columns: 1.5fr 1fr 1fr;
}
.stock-empty {
  border: 1px dashed var(--line);
  padding: 28px;
  background: var(--cream);
}
.stock-filter button {
  align-self: end;
}
.stock-count {
  font-size: 14px;
}
.stock-card .field-note {
  font-size: 12px;
  color: var(--slate);
}
@media (max-width: 850px) {
  .journey-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 600px) {
  .vertical-nav {
    gap: 0 15px;
    padding: 8px 20px;
    font-size: 12px;
  }
  .vertical-nav a {
    min-height: 36px;
  }
  .stock-heading {
    padding-top: 28px;
  }
  .journey-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .stock-heading h1 {
    font-size: 38px;
    letter-spacing: -1px;
  }
  .stock-detail dl > div {
    grid-template-columns: 115px minmax(0, 1fr);
  }
  .stock-filter {
    grid-template-columns: 1fr 1fr;
  }
  .stock-filter label:first-child {
    grid-column: 1/-1;
  }
  .related {
    padding: 20px;
  }
  .stock-detail h2 {
    font-size: 30px;
  }
  .stock-card .price {
    font-size: 14px;
  }
}
/* V3: retain Tablier's cream, slate, rose and editorial typography. */
.main-journeys {
  margin-top: 18px;
}
.main-journeys .journey-card {
  background: var(--cream);
  padding: 28px;
}
.main-journeys h2 {
  font-size: 31px;
}
.main-journeys a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
}
.stock-heading {
  max-width: 940px;
}
.stock-heading .intro {
  max-width: 730px;
}
.stock-heading h1 {
  font-size: clamp(40px, 5.5vw, 70px);
  line-height: 1.04;
}
.direct-sections h2,
.featured-guide h2,
.contribute-teaser h2 {
  font-family: var(--serif);
  font-weight: 500;
  font-size: 36px;
  line-height: 1.15;
}
.rubric-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid var(--line);
  margin: 20px 0 32px;
}
.rubric-grid > a {
  display: grid;
  grid-template-columns: 130px 1fr 20px;
  gap: 14px;
  padding: 22px 16px;
  border-bottom: 1px solid var(--line);
  text-decoration: none;
  align-items: start;
}
.rubric-grid > a:nth-child(odd) {
  border-right: 1px solid var(--line);
}
.rubric-grid strong {
  font-size: 20px;
  font-weight: 500;
}
.rubric-grid span {
  font-size: 13px;
  color: var(--slate);
}
.featured-guide {
  padding: 38px;
  background: var(--cream);
  border-left: 4px solid var(--rose);
  margin: 36px 0;
}
.featured-guide p {
  max-width: 640px;
}
.contribute-teaser {
  padding: 20px 0;
}
.method-links {
  padding: 18px 0;
  border-top: 1px solid var(--line);
  font-size: 14px;
}
.qualification {
  padding: 9px 0;
  border-block: 1px solid var(--line);
  margin: 12px 0;
}
.qualification p {
  margin: 6px 0;
  font-size: 13px;
}
.qualification strong {
  font-weight: 500;
}
.selection-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 16px;
}
.selection-actions button,
.selection-bar a,
.print-button,
.project-grid button,
[data-copy-project],
.comparison-table button {
  border: 1px solid var(--line);
  background: #fffdfa;
  color: var(--slate);
  font: inherit;
  font-size: 13px;
  border-radius: 5px;
  padding: 10px 12px;
  min-height: 44px;
  cursor: pointer;
}
.selection-actions button[aria-pressed="true"] {
  background: var(--cream);
  border-color: var(--rose);
  color: var(--ink);
}
.selection-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  position: sticky;
  bottom: 12px;
  background: #fffdfaf5;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px;
  margin: 36px 0 16px;
  z-index: 3;
  box-shadow: 0 5px 22px #382f2110;
}
.selection-bar p {
  margin: 0;
  font-size: 13px;
  flex: 1 1 250px;
}
.selection-bar a {
  text-decoration: none;
}
.selection-bar a span {
  font-weight: 600;
}
.stock-filter {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.stock-filter input,
.stock-filter select {
  min-width: 0;
  width: 100%;
}
.chart-panel {
  padding: 24px 0;
  border-bottom: 1px solid var(--line);
}
.chart-panel h2 {
  font-size: 30px;
}
.stock-chart {
  display: block;
  width: 100%;
  max-width: 780px;
  overflow: visible;
  margin: 20px 0;
  font-size: 13px;
  fill: var(--ink);
}
.stock-chart rect {
  fill: var(--rose);
}
.stock-chart .missing {
  fill: #eae4da;
}
.stock-chart a:hover rect,
.stock-chart a:focus rect {
  fill: #925764;
}
.stock-chart a:focus {
  outline: 2px solid var(--ink);
}
.stock-page details > summary {
  min-height: 44px;
  cursor: pointer;
  padding: 10px 0;
}
.data-table-wrap {
  max-width: 100%;
  overflow-x: auto;
}
.data-table caption {
  caption-side: top;
}
.comparison-table {
  table-layout: fixed;
  min-width: 730px;
}
.comparison-table th:first-child {
  width: 190px;
}
.comparison-table td {
  min-width: 175px;
}
.guide-body table {
  border-collapse: collapse;
  font-size: 14px;
  width: 100%;
  display: block;
  overflow-x: auto;
  margin: 20px 0;
}
.guide-body th,
.guide-body td {
  padding: 12px;
  border: 1px solid var(--line);
  min-width: 140px;
  vertical-align: top;
  text-align: left;
}
.guide-body input[type="checkbox"] {
  width: 16px;
  height: 16px;
  margin-right: 8px;
}
.guide-body h2 {
  scroll-margin-top: 20px;
}
.guide-body a {
  overflow-wrap: anywhere;
}
.contribution-panel {
  max-width: 780px;
  margin: 40px 0;
  padding: 26px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fffdfa;
  scroll-margin-top: 20px;
}
.contribution-panel h2 {
  font-size: 32px;
}
.contribution-panel form {
  display: grid;
  gap: 18px;
}
.contribution-panel label {
  display: block;
  font-size: 14px;
  line-height: 1.65;
}
.contribution-panel input:not([type="checkbox"]),
.contribution-panel textarea,
.contribution-panel select {
  display: block;
  width: 100%;
  min-width: 0;
  padding: 12px;
  font: inherit;
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 4px;
  min-height: 46px;
}
.contribution-panel textarea {
  min-height: 115px;
}
.contribution-panel input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin-right: 8px;
}
.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.contribution-panel .honeypot {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.contribution-panel button {
  justify-self: start;
}
.contribute-nav {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}
.contribute-nav a {
  min-height: 44px;
  padding: 8px 0;
}
.project-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
button:focus-visible,
a:focus-visible,
select:focus-visible,
input:focus-visible,
textarea:focus-visible {
  outline: 2px solid #71464e;
  outline-offset: 3px;
}
[hidden] {
  display: none !important;
}
@media (max-width: 850px) {
  .stock-filter {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .rubric-grid {
    grid-template-columns: 1fr;
  }
  .rubric-grid > a:nth-child(odd) {
    border-right: 0;
  }
  .main-journeys {
    grid-template-columns: 1fr;
  }
  .project-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 600px) {
  .rubric-grid > a {
    grid-template-columns: 105px 1fr 16px;
    padding-inline: 0;
  }
  .rubric-grid strong {
    font-size: 18px;
  }
  .featured-guide {
    padding: 24px;
  }
  .featured-guide h2 {
    font-size: 32px;
  }
  .selection-bar {
    bottom: 5px;
    gap: 8px;
    padding: 8px;
  }
  .selection-bar p:empty {
    display: none;
  }
  .selection-bar p {
    font-size: 12px;
  }
  .stock-chart {
    font-size: 15px;
  }
  .stock-heading h1 {
    font-size: 40px;
  }
  .contribution-panel {
    padding: 20px 16px;
  }
  .form-grid,
  .project-grid {
    grid-template-columns: 1fr;
  }
  .stock-detail dl > div {
    grid-template-columns: 1fr;
    gap: 4px;
  }
  .stock-detail dd {
    overflow-wrap: anywhere;
  }
  .guide-body {
    padding-top: 16px;
  }
}
@media print {
  header,
  .vertical-nav,
  footer,
  .selection-bar,
  .print-button,
  .beta-info,
  .stock-filter,
  .contribute-nav {
    display: none !important;
  }
  .stock-page,
  .guide-body {
    max-width: none;
    margin: 0;
    padding: 0;
  }
  .guide-body table {
    display: table;
    font-size: 10pt;
  }
  .guide-body th,
  .guide-body td {
    min-width: 0;
    padding: 6px;
  }
  .guide-body h2,
  .guide-body h3 {
    break-after: avoid;
  }
  .guide-body li,
  .guide-body tr {
    break-inside: avoid;
  }
  .stock-heading {
    padding: 0;
  }
  .stock-heading h1 {
    font-size: 28pt;
  }
  .guide-body p,
  .guide-body li {
    font-size: 11pt;
    line-height: 1.4;
  }
  a {
    color: #222;
    text-decoration: underline;
  }
}
.hub-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:46px;align-items:center;margin:36px 0}.hub-hero .stock-heading{padding:0;margin:0}.hub-hero .stock-heading h1{font-size:clamp(38px,4.3vw,58px)}.hub-hero .intro{font-size:17px}.hub-photo{margin:0}.hub-photo img{display:block;width:100%;height:auto;border-radius:8px}.hub-photo figcaption{font-size:11px;color:var(--slate);margin:8px 0}.hub-photo a{color:inherit}@media(max-width:900px){.hub-hero{grid-template-columns:1fr;gap:22px;margin:28px 0}.hub-hero .stock-heading h1{font-size:40px}.hub-photo{max-width:650px}.hub-photo img{aspect-ratio:3/2}}

.guide-checklist { margin:24px 0; padding:20px; border:1px solid var(--line); background:#fffdfa; }
.guide-checklist > ul { list-style:none; padding:0; }
.guide-body .checklist-item { margin:0; }
.checklist-item label { display:flex; flex-direction:row; gap:12px; align-items:flex-start; padding:10px 0; cursor:pointer; }
.guide-body .checklist-item input[type="checkbox"] { flex:0 0 22px; width:22px; height:22px; min-height:22px; padding:0; margin:2px 0 0; accent-color:#825153; }
.checklist-item input:focus-visible { outline:3px solid #825153; outline-offset:4px; }
.checklist-tools { border-top:1px solid var(--line); padding-top:12px; }
.checklist-tools[hidden] { display:none; }
.checklist-tools p { font-size:14px; }
.checklist-tools button { font:inherit; color:var(--ink); background:var(--cream); border:1px solid #825153; padding:10px 14px; cursor:pointer; }
@media print { .checklist-tools { display:none !important; } .guide-checklist { padding:12px; background:white; } .checklist-item label { padding:4px 0; } .checklist-item input { appearance:auto; print-color-adjust:exact; } }
/* Consultation: controls remain usable with the existing Tablier palette. */
.criteria-note {border-left:3px solid var(--rose);padding:10px 12px;background:#f2e8dc;font-size:14px;}
.criteria-note[hidden] {display:none;}
.selection-actions {flex-wrap:wrap;margin:14px 0;}
.selection-actions button[aria-pressed="true"] {background:var(--ink);color:var(--cream);border-color:var(--ink);}
.difference-switch {display:flex;flex-direction:row;gap:12px;align-items:center;padding:14px 0;cursor:pointer;}
.difference-switch input[type="checkbox"] {width:22px;height:22px;min-height:22px;padding:0;flex:0 0 22px;accent-color:#825153;}
.corpus-audit {margin:38px 0;border-top:1px solid var(--line);padding-top:22px;}
.corpus-audit>summary {font-size:20px;font-family:var(--serif);cursor:pointer;padding:16px 0;}
.decision-reading {margin:28px 0;padding:28px;border:1px solid var(--line);background:#fffdfa;}
.decision-reading h2 {font-size:30px;line-height:1.25;}
.decision-reading h3 {margin-top:24px;}
.decision-reading table {width:100%;border-collapse:collapse;}
.decision-reading th,.decision-reading td {padding:10px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top;}
.decision-reading ul {padding-left:22px;}
.decision-reading .notice {font-size:14px;}
.source-groups {overflow-wrap:anywhere;}
@media(max-width:600px){.decision-reading{padding:16px}.decision-reading h2{font-size:26px}.stock-filter input,.stock-filter select{min-width:0;width:100%}.selection-actions button{flex:1 1 145px}}
.stock-filter {display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:14px;align-items:start}
.advanced-filters {grid-column:1/-1;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0}
.advanced-filters summary {cursor:pointer;font-weight:600;padding:8px 0}
.filter-options {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:16px 0}
.stock-filter .filter-explanation,.stock-filter [data-filter-error] {grid-column:1/-1;margin:0}
.source-register li {overflow-wrap:anywhere}
@media(max-width:700px){.filter-options{grid-template-columns:repeat(2,minmax(0,1fr))}.stock-filter{grid-template-columns:1fr}.stock-filter label:first-child{grid-column:auto}.stock-filter button{width:auto}}
@media(max-width:420px){.filter-options{grid-template-columns:1fr}}
.professional-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:28px 0}
.professional-card {padding:24px;background:#fffdfa;border:1px solid var(--line);border-radius:4px;overflow-wrap:anywhere}
.professional-card h3 {font-size:28px;margin:0 0 12px}
.professional-card .eyebrow {font-size:11px;letter-spacing:1px}
.professional-card .muted {font-size:13px;color:var(--slate)}
.professional-object-list {display:grid;grid-template-columns:140px 1fr;gap:12px 24px;margin:20px 0 36px}
.professional-object-list dt {font-weight:600}.professional-object-list dd{margin:0}
@media(max-width:700px){.professional-grid{grid-template-columns:1fr}.professional-object-list{grid-template-columns:1fr;gap:8px}.professional-object-list dd{margin-bottom:14px}}

.selection-titles{display:flex;gap:8px;flex-wrap:wrap;list-style:none;margin:0;padding:0;flex-basis:100%;font-size:12px}.selection-titles li{display:flex;gap:6px;align-items:center;max-width:32%}.selection-titles li a{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.selection-titles button{min-width:32px;min-height:32px;padding:2px}.selection-actions button:disabled{opacity:.65;cursor:wait}.selection-actions [data-selection-feedback]{flex-basis:100%;margin:0}.selection-actions [data-selection-feedback]:empty{display:none}.equipment-families{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0}.equipment-families a{padding:18px;border:1px solid var(--line);border-radius:4px;text-decoration:none;color:var(--ink);background:#fffdfa}.equipment-families strong,.equipment-families span{display:block}.equipment-families span{font-size:13px}.buy-paths{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}.buy-paths a{padding:14px 18px;border:1px solid var(--line);text-decoration:none;border-radius:4px}.buy-paths a:first-child{background:var(--ink);color:var(--cream)}@media(max-width:650px){.equipment-families{grid-template-columns:repeat(2,minmax(0,1fr))}.selection-titles{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.selection-titles li{max-width:86%;flex:0 0 86%}.selection-bar{max-height:180px;overflow:auto}}

.decision-points,.rental-timeline{margin:24px 0}.decision-points figcaption,.rental-timeline figcaption{font-weight:600;font-size:18px}.point-group{border-top:1px solid var(--line);padding:12px 0}.point-group>p{font-size:13px}.point-group ol{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.point-group a{font-size:14px;display:block;text-decoration:none}.point-group svg{display:block;width:100%;height:28px;max-width:320px}.point-group line{stroke:#cbbeb1;stroke-width:2}.point-group circle{fill:#825153}.timeline-row{padding:14px 0;border-top:1px solid var(--line)}.timeline-row ol{display:flex;gap:6px;list-style:none;padding:0}.timeline-row li{background:#efe5df;border:1px solid var(--line);padding:12px;flex:1}.timeline-row p{font-size:14px}@media(max-width:600px){.point-group ol{grid-template-columns:1fr}.timeline-row li{padding:8px;font-size:13px}}

/* Uncertain references remain available without posing as filtered matches. */
.stock-uncertain{grid-column:1 / -1;border:1px solid var(--line,#d6cdc2);padding:1rem;min-width:0}.stock-uncertain summary{cursor:pointer;font-weight:600;min-height:44px;display:list-item}.stock-uncertain>p{max-width:70ch}.stock-uncertain .cards{margin-top:1rem}[data-stock-list][hidden],[data-stock-pagination][hidden]{display:none!important}
