.welcome-kit { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); background: var(--slate); color: var(--paper); margin-top: 38px; border: 1px solid var(--slate); }
.welcome-words { padding: 48px 44px 42px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.welcome-kit .section-tab { background: var(--rose-bright); color: var(--slate); border-color: var(--rose-bright); }
.welcome-kit h1 { font-size: clamp(2.8rem, 4.5vw, 4.25rem); max-width: 13.5ch; margin: 28px 0 23px; line-height: 1.02; }
.search-term { color: var(--rose-bright); display: block; margin-bottom: .14em; }
.welcome-brief { font-size: 21px; line-height: 1.55; max-width: 42ch; margin-bottom: 18px; }
.guide-frame { font-size: 17px; color: #cbd0d6; max-width: 43ch; }
.welcome-scope { color: #cbd0d6; font-size: 16px; margin-bottom: 8px; }
.welcome-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 12px; width: 100%; }
.primary-link, .quiet-link { display: inline-flex; justify-content: space-between; gap: 20px; align-items: center; min-height: 54px; padding: 13px 18px; font-size: 17px; line-height: 1.4; text-decoration: none; }
.primary-link { background: var(--rose-bright); color: var(--slate); font-weight: 650; }
.primary-link:hover { background: #f0bfca; }
.quiet-link { color: var(--paper); border: 1px solid #727b87; }
.quiet-link:hover { background: #30373f; }
.welcome-kit a:focus-visible { outline-color: var(--rose-bright); }
.desk-still-life { margin: 0; }
.still-life-frame { background: #d3c9cb; overflow: hidden; }
.desk-still-life img { width: 100%; height: 100%; object-fit: cover; font-size: 16px; color: var(--slate); line-height: 1.5; }
.desk-still-life figcaption { font-size: 16px; line-height: 1.5; padding: 14px 20px; }
.welcome-still-life { display: flex; flex-direction: column; border-left: 1px solid var(--ink-rule); }
.welcome-still-life .still-life-frame { flex: 1; min-height: 500px; background: #bab0b3; }
.welcome-still-life img { aspect-ratio: 13 / 16; }
.welcome-still-life figcaption { display: flex; justify-content: flex-end; padding: 15px 22px; border-top: 1px solid var(--ink-rule); color: #d6dbe0; }
.opening-question { display: grid; grid-template-columns: .8fr 1.2fr; column-gap: 70px; }
.opening-question .section-tab { justify-self: start; align-self: start; }
.opening-question h2 { grid-column: 1; grid-row: 2 / 5; }
.opening-question p, .opening-question ul { grid-column: 2; }
.opening-question p:first-of-type { margin-top: 0; }
.desk-map { padding: 56px 0; border-bottom: 1px solid var(--rule); }
.map-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 0 80px; margin-bottom: 25px; }
.map-intro .section-tab { grid-column: 1 / -1; justify-self: start; }
.map-intro p { align-self: center; color: var(--muted-ink); margin-top: 24px; }
.desk-map-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; border: 1px solid var(--rule); background: var(--rule); }
.desk-choice { position: relative; display: block; min-height: 220px; padding: 25px 26px 42px; background: var(--white); text-decoration: none; }
.desk-choice:nth-child(3n + 2) { background: #e9ecef; }
.desk-choice:hover { background: var(--rose-light); }
.choice-tab { font-size: 16px; line-height: 1.5; color: var(--rose-ink); }
.desk-choice h3 { margin: 14px 0 13px; font-size: 23px; max-width: 20ch; }
.desk-choice p { margin: 0; color: var(--muted-ink); font-size: 17px; line-height: 1.55; max-width: 29ch; }
.choice-arrow { position: absolute; bottom: 16px; right: 24px; font-size: 24px; }
.reading-list { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; border: 1px solid var(--rule); background: var(--rule); margin-top: 24px; }
.reading-entry { margin: 0; padding: 25px 28px 27px; background: var(--white); }
.reading-entry:nth-child(even) { background: #e9ecef; }
.reading-entry h3 { margin: 5px 0 12px; font-size: 21px; }
.reading-entry h3 a { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 48px; padding: 8px 0; line-height: 1.35; }
.reading-entry h3 a span { flex-shrink: 0; }
.reading-entry p { font-size: 17px; line-height: 1.6; }
.reading-entry .source-name { font-size: 16px; color: var(--muted-ink); line-height: 1.5; margin-bottom: 8px; }
.reading-limit { color: var(--muted-ink); padding-top: 12px; margin-bottom: 0; border-top: 1px solid var(--rule); }
.visit-words { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 22px 0 28px; border: 1px solid var(--rule); }
.visit-word { padding: 25px; background: white; border-right: 1px solid var(--rule); }
.visit-word:last-child { border-right: none; }
.visit-word:nth-child(2) { background: #e9ecef; }
.visit-word dt { font-weight: 650; font-size: 19px; margin-bottom: 12px; }
.visit-word dd { margin: 0; font-size: 17px; line-height: 1.65; }
.wide-still-life { display: grid; grid-template-columns: 2fr 1fr; border-bottom: 1px solid var(--rule); padding: 38px 0; align-items: end; gap: 40px; }
.wide-still-life .still-life-frame { aspect-ratio: 3 / 2; width: 100%; }
.wide-still-life figcaption { border-top: 1px solid var(--rose); padding: 18px 0 0; color: var(--muted-ink); }
.cost-sheet { margin: 40px 0 0; padding: 34px 36px; background: var(--slate); color: var(--paper); }
.cost-sheet .section-tab { color: var(--slate); background: var(--rose-bright); }
.cost-sheet h2 { max-width: 28ch; }
.cost-lines { margin: 25px 0 28px; border-top: 1px solid #626b75; }
.cost-line { display: grid; grid-template-columns: 170px 1fr; padding: 20px 0; gap: 25px; border-bottom: 1px solid #626b75; }
.cost-line dt { color: var(--rose-bright); font-weight: 600; font-size: 18px; }
.cost-line dd { font-size: 18px; margin: 0; max-width: 58ch; }
.cost-sheet .question-list li::before { border-color: var(--rose-bright); }
.urgent-help { margin-top: 38px; padding: 32px; background: var(--rose-light); border-top: 3px solid var(--rose-ink); }
.urgent-help .section-tab { background: #fff7f8; }
.next-desks { display: grid; grid-template-columns: 1fr 1fr; gap: 0 36px; border-bottom: 1px solid var(--rule); margin-top: 32px; }
.next-label { grid-column: 1 / -1; color: var(--muted-ink); font-size: 16px; margin: 0; padding-top: 12px; }
.desk-link { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 56px; padding: 16px 0; font-size: 18px; line-height: 1.5; }
.desk-link span { flex-shrink: 0; }
.missing-links { list-style: none; max-width: 600px; padding-left: 0; }
.missing-links li { border-bottom: 1px solid var(--rule); }

@media (max-width: 1040px) {
  .welcome-words { padding: 34px 30px; }
  .welcome-kit h1 { font-size: 3.25rem; }
  .opening-question { column-gap: 35px; }
}

@media (max-width: 760px) {
  .welcome-kit { grid-template-columns: 1fr; margin-top: 20px; }
  .welcome-words { padding: 27px 25px 30px; }
  .welcome-kit h1 { font-size: 2.85rem; margin-top: 22px; max-width: 13.5ch; }
  .welcome-brief { font-size: 19px; }
  .welcome-actions { gap: 12px; margin-top: 8px; }
  .primary-link, .quiet-link { width: 100%; }
  .welcome-still-life { border-left: 0; border-top: 1px solid var(--ink-rule); }
  .welcome-still-life .still-life-frame { min-height: 0; height: 300px; }
  .welcome-still-life img { aspect-ratio: auto; }
  .opening-question, .map-intro { display: block; }
  .map-intro p { margin-top: 0; }
  .desk-map { padding: 34px 0; }
  .desk-map-links { grid-template-columns: 1fr; }
  .desk-choice { min-height: 175px; padding: 23px 25px 35px; }
  .desk-choice p { max-width: 34ch; }
  .desk-choice:nth-child(3n + 2) { background: var(--white); }
  .desk-choice:nth-child(even) { background: #e9ecef; }
  .reading-list { grid-template-columns: 1fr; }
  .reading-entry { padding: 23px 22px; }
  .reading-entry h3 { font-size: 20px; }
  .visit-words { grid-template-columns: 1fr; }
  .visit-word { border-right: 0; border-bottom: 1px solid var(--rule); padding: 22px; }
  .visit-word:last-child { border-bottom: 0; }
  .wide-still-life { grid-template-columns: 1fr; gap: 15px; padding: 30px 0; }
  .cost-sheet { padding: 26px 22px; margin-top: 30px; }
  .cost-line { grid-template-columns: 1fr; gap: 8px; padding: 20px 0; }
  .cost-line dd { font-size: 17px; }
  .urgent-help { padding: 25px 22px; }
  .next-desks { grid-template-columns: 1fr; gap: 0; }
  .next-desks .desk-link { border-bottom: 1px solid var(--rule); }
  .next-desks .desk-link:last-child { border-bottom: none; }
}

@media print {
  .reading-list { display: block; border: none; }
  .reading-entry { break-inside: avoid; padding: 15px 0; background: white; border-bottom: 1px solid #ccc; }
  .cost-sheet { color: black; background: white; padding: 0; }
  .cost-line dt { color: black; }
}
