/* First-use guidance is scoped to the catalogue; the landing keeps its story layout. */
.work-hero { max-width:780px; padding-block:36px 28px; }
.work-hero h1 { max-width:none; font-size:clamp(2.6rem,5vw,4rem); line-height:1.1; margin-bottom:14px; }
.work-hero .lede { font-size:1.05rem; line-height:1.6; }
.catalogue-heading { padding-top:22px; margin-bottom:18px; }
.catalogue-heading h2 { font-family:var(--body); font-size:1.1rem; line-height:1.4; }
.catalogue-controls { grid-template-columns:minmax(220px,1fr) auto; background:transparent; border:0; padding:0; gap:14px 20px; }
/* Reserve the real control geometry until its module is ready, without exposing inert controls. */
.js-enabled .catalogue-controls[hidden] { display:grid !important; visibility:hidden; }
.catalogue-controls .search-field { grid-column:1; font-size:.875rem; }
.catalogue-controls .search-field input { font-size:1rem; caret-color:var(--accent); }
.work-filters { grid-column:1; grid-row:2; }
.work-filters button { font-size:.875rem; }
.catalogue-mode { display:none; }
.catalogue-subject { grid-column:2; grid-row:1; display:grid; gap:7px; font-size:.875rem; font-weight:750; }
.catalogue-controls select { min-height:46px; width:100%; min-width:0; max-width:100%; padding:8px 24px 8px 10px; color:var(--ink); background:var(--paper); border:1px solid var(--line-strong); border-radius:var(--control-radius); font:inherit; }
.catalogue-clear { grid-column:2; grid-row:2; justify-self:end; min-height:44px; padding:8px 0; color:var(--accent-dark); background:none; border:0; text-decoration:underline; text-underline-offset:4px; cursor:pointer; font-size:.875rem; }
.work-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.work-card:last-child { grid-column:auto; display:flex; }
.work-hero .inline-link { display:inline-flex; align-items:center; min-height:44px; margin-top:12px; }
.work-card-copy h3 { margin:0 0 10px; }
.work-card-copy > .work-access { margin:0 0 14px; color:var(--accent-dark); font-size:.875rem; font-weight:750; line-height:1.6; }
.work-card-copy > p { font-size:1rem; line-height:1.65; }
.work-card-proof { margin:18px 0; grid-template-columns:1fr; gap:14px; }
.work-card-proof dt { font-size:.8rem; text-transform:none; letter-spacing:0; }
.work-card-proof dd { font-size:.95rem; line-height:1.55; font-weight:500; }
.work-card-proof div:last-child dd { color:var(--muted); }
.work-launch { display:flex; align-items:center; justify-content:center; min-height:44px; padding:10px 12px; border:1px solid var(--ink); border-radius:var(--control-radius); color:var(--paper); background:var(--ink); text-decoration:none; font-size:.82rem; font-weight:800; }
.work-launch:hover { background:var(--accent-dark); border-color:var(--accent-dark); }
.work-card .project-link { display:flex; align-items:center; min-height:44px; margin:4px 0 0; font-size:.8rem; }
.work-first-steps { margin-top:8px; border-top:1px solid var(--line); font-size:.875rem; line-height:1.65; }
.work-first-steps summary { padding:12px 0; min-height:44px; cursor:pointer; color:var(--ink); font-weight:750; }
.work-first-steps ol { margin:4px 0 12px; padding-left:20px; }
.work-first-steps li + li { margin-top:8px; }
.work-first-steps p { margin:12px 0 0; color:var(--muted); }
.work-first-steps a { color:var(--accent); text-underline-offset:3px; }
.template-shelf { padding-top:56px; }
.template-row p { font-size:1rem; line-height:1.6; }
.template-row > span { font-size:.875rem; }
.catalogue-empty .button { margin-top:20px; }
@media (max-width:640px) {
  .topbar .nav-links a:first-child { display:none; }
  .topbar .nav-links a:nth-child(3) { display:inline-flex; }
  .work-grid { grid-template-columns:1fr; }
  .work-card:last-child { grid-column:auto; }
  .work-card-copy { padding:20px; }
  .work-hero { padding-block:24px; }
  .work-hero .lede { font-size:1rem; }
  .catalogue-controls { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-bottom:20px; }
  .catalogue-controls .search-field { grid-column:1/-1; }
  .catalogue-mode { grid-column:1; grid-row:2; display:grid; gap:7px; font-size:.875rem; font-weight:750; }
  .catalogue-subject { grid-column:2; grid-row:2; }
  .catalogue-controls select { font-size:1rem; }
  .catalogue-clear { grid-column:2; grid-row:3; margin-top:-8px; }
  .work-filters { display:none; }
  .catalogue-heading { align-items:baseline; flex-direction:row; flex-wrap:wrap; gap:4px 12px; padding-top:18px; margin-bottom:16px; }
  .catalogue-heading p { font-size:.8rem; }
}
@media print {
  .work-first-steps { display:none; }
}
