/* The collection extends the studio's paper, timber and deep-green palette. */
.studio-header { grid-template-columns: minmax(210px, 1fr) auto auto; gap: 15px; padding-inline: 24px; }
.studio-nav button { padding-inline: 10px; font-size: 12px; }
.brand-subtitle { font-size: 10px; }
.level-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 18px; background: #f8faf0; border-bottom: 1px solid #dde3d5; }
.level-toolbar .muted, .level-toolbar .toggle { font-size: 11px; }
.level-controls .field-row { gap: 7px; }
.collection-books { margin-bottom: 45px; }
.collection-books .section-heading p { margin-top: 8px; }
.collection-bookshelf { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px; }
.collection-book { position: relative; min-width: 0; padding: 20px 15px 18px; border: 1px solid #dbe1d2; border-radius: 12px; background: linear-gradient(145deg, #fffefa, #eeeede); text-align: left; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.collection-book:hover { transform: translateY(-5px); border-color: #9bb3a1; box-shadow: 0 13px 23px #1c393a12; }
.collection-jacket { position: relative; width: 124px; aspect-ratio: 8.5 / 11; max-width: 84%; margin: 2px auto 20px; padding: 15px 12px 12px; display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; border: 1px solid #ffffff60; border-left: 5px solid #00000025; border-radius: 1px 4px 4px 1px; background: var(--book-accent, #31584e); color: #fff9e9; transform: perspective(650px) rotateY(-9deg) rotateZ(-2deg); box-shadow: 7px 10px 11px #213b3824, 3px 0 0 #ece8da; }
.collection-jacket:has(img) { padding: 0; background: #f7f5ed; }
.collection-jacket img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; }
.jacket-series { font-size: 5px; letter-spacing: .12em; opacity: .8; }
.collection-jacket strong { font-family: var(--serif); font-size: 19px; font-weight: 400; line-height: 1.15; overflow-wrap: anywhere; }
.jacket-line { display: block; height: 1px; margin: 10px 0; background: #d9bb7e; }
.collection-jacket small { font-size: 6px; line-height: 1.5; opacity: .8; }
.collection-jacket.small { width: 155px; min-width: 155px; margin: 0; }
.collection-book-copy { display: block; padding-right: 15px; }
.collection-book-copy strong { display: block; font-size: 14px; line-height: 1.35; min-height: 38px; }
.collection-book-copy > span { display: block; font-size: 11px; color: #72806c; margin-top: 6px; }
.collection-book-arrow { position: absolute; right: 15px; bottom: 18px; color: #9b8055; font-size: 21px; }
.collection-tool-section { margin: 35px 0 42px; }
.collection-tool-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; }
.collection-tool { position: relative; display: flex; flex-direction: column; align-items: flex-start; text-align: left; padding: 24px 24px 30px; min-height: 205px; border: 1px solid #d8e0d2; border-radius: 12px; background: #fdfdf7; transition: background .18s, border-color .18s; }
.collection-tool:hover { background: #e9eee2; border-color: #b0bd9d; }
.collection-tool-number { color: #a78a5a; font-size: 13px; letter-spacing: .08em; margin-bottom: 18px; }
.collection-tool > strong { font-family: var(--serif); font-size: 23px; font-weight: 400; line-height: 1.22; margin-bottom: 9px; }
.collection-tool > span:not(.collection-tool-number) { color: #748268; font-size: 12px; line-height: 1.7; padding-right: 9px; }
.collection-tool b { position: absolute; bottom: 15px; right: 20px; color: #9f8b64; font-size: 18px; font-weight: 400; }
.collection-page { max-width: 1460px; margin-inline: auto; padding: 30px 40px 60px; }
.collection-book-tabs { display: flex; gap: 7px; flex-wrap: wrap; margin: 0 0 30px; }
.collection-book-tabs button { border: 1px solid #d7dfcc; border-radius: 30px; padding: 9px 16px; background: #fffdf6; font-size: 12px; color: #6b7b61; }
.collection-book-tabs button.active { background: #20493f; border-color: #20493f; color: #fffcef; }
.collection-book-tabs button:hover:not(.active) { background: #e7eeda; }
.collection-library-hero { display: grid; grid-template-columns: 1fr auto; gap: 60px; align-items: center; padding: 17px 0 40px; }
.collection-library-hero h1, .collection-book-intro h1 { font-family: var(--serif); font-size: clamp(37px, 4.4vw, 60px); font-weight: 400; line-height: 1.08; letter-spacing: -.035em; margin: 14px 0 18px; }
.collection-library-hero h1 em { color: #9b7449; font-weight: 400; }
.collection-library-hero p { max-width: 680px; color: #6b7c63; font-size: 15px; line-height: 1.8; }
.collection-library-stat { display: flex; align-items: center; flex-direction: column; border-left: 1px solid #d3dcc6; padding: 20px 15px 20px 65px; text-align: center; }
.collection-library-stat strong { font-family: var(--serif); font-weight: 400; font-size: 92px; line-height: 1; color: #b49159; }
.collection-library-stat span { margin-top: 8px; font-size: 15px; }
.collection-library-stat small { margin-top: 12px; font-size: 11px; color: #7b886d; }
.collection-book-hero { display: flex; align-items: center; gap: 42px; padding: 25px 30px 32px; margin-bottom: 25px; background: linear-gradient(115deg, #edf0e3, #f8f6ee); border: 1px solid #e1e4d5; border-radius: 16px; }
.collection-book-intro { flex: 1; min-width: 0; }
.collection-book-intro h1 { font-size: clamp(30px, 3vw, 43px); margin-block: 10px 15px; }
.collection-book-intro > p { max-width: 730px; font-size: 14px; color: #6f7d66; line-height: 1.8; }
.collection-book-hero-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 20px; }
.collection-book-intro p.collection-edition { font-size: 11px; margin-top: 13px; color: #849077; }
.collection-chapter-guide { margin: 0 0 27px; padding: 15px 18px; border: 1px solid #dce2d1; border-radius: 8px; background: #fcfcf5; }
.collection-chapter-guide summary { cursor: pointer; color: #46684f; font-size: 13px; }
.collection-chapter-guide ul { columns: 2; column-gap: 50px; font-size: 13px; color: #697c5c; line-height: 1.8; }
.collection-chapter-guide li { break-inside: avoid; margin-block: 5px; }
.collection-chapter-guide > p { font-size: 12px; color: #839071; margin-top: 10px; }
.collection-decision-focus { padding: 15px 0 0; }
.collection-decision-focus > h2 { font-family: var(--serif); font-size: 36px; font-weight: 400; line-height: 1.2; margin: 13px 0; }
.collection-decision-focus > p { color: #76836a; max-width: 720px; font-size: 14px; }
.collection-decision-focus .collection-tool-section .section-heading { display: none; }
.collection-filters { display: grid; grid-template-columns: minmax(220px, 1.8fr) 1fr .8fr 1.15fr; gap: 13px; padding: 18px 20px 5px; border: 1px solid #dce3d1; border-radius: 12px; background: #eef1e5; }
.collection-filters .field > span { font-size: 11px; }
.collection-filters .field input, .collection-filters .field select { font-size: 13px; }
.collection-results-bar { display: flex; align-items: center; justify-content: space-between; padding: 20px 2px 17px; font-size: 12px; color: #7d8b6e; }
.collection-plan-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.collection-plan-grid > .empty-state { grid-column: 1 / -1; }
.collection-plan-card { display: flex; flex-direction: column; border: 1px solid #dbe2d0; background: #fffef9; border-radius: 12px; overflow: hidden; min-width: 0; }
.collection-plan-image { position: relative; padding: 10px 12px; display: flex; justify-content: center; align-items: center; height: 270px; width: 100%; border: 0; background: #f1f2e8; overflow: hidden; }
.collection-plan-image img, .collection-plan-image svg { object-fit: contain; height: 100%; width: 100%; }
.collection-plan-image img { transition: transform .2s ease; }
.collection-plan-image:hover img { transform: scale(1.035); }
.collection-mode { position: absolute; left: 13px; top: 12px; font-size: 9px; font-weight: 650; letter-spacing: .045em; padding: 5px 7px; background: #fffdf1ef; border: 1px solid #e3dbc5; border-radius: 4px; color: #90794f; }
.collection-mode.editable { background: #264e43ee; color: #fffdf1; border-color: #264e43; }
.collection-plan-body { padding: 19px 21px 20px; display: flex; flex: 1; flex-direction: column; }
.collection-plan-body .eyebrow { font-size: 10px; margin-bottom: 8px; }
.collection-plan-body h3 { font-family: var(--serif); font-size: 25px; font-weight: 400; line-height: 1.2; letter-spacing: -.02em; }
.collection-plan-facts { display: flex; flex-direction: column; gap: 4px; margin-top: 13px; color: #718069; font-size: 12px; }
.collection-plan-facts strong { font-weight: 650; }
.collection-plan-body > p { margin: 12px 0 20px; font-size: 12px; line-height: 1.75; color: #7c8a70; }
.collection-plan-actions { display: flex; gap: 7px; flex-wrap: wrap; margin-top: auto; padding-top: 14px; border-top: 1px solid #e4e9dc; }
.collection-plan-actions .btn.secondary { flex: 1; }
.collection-area-note { border-left: 2px solid #bfa576; padding: 13px 17px; margin-top: 26px; max-width: 940px; color: #7c8269; font-size: 12px; line-height: 1.75; }
.reference-placeholder { display: flex; flex-direction: column; align-items: center; font-family: var(--serif); font-size: 38px; color: #90a283; }
.reference-placeholder small { font-family: var(--font); margin-top: 12px; font-size: 12px; }
.collection-reference-modal { max-width: 1040px !important; }
.reference-context { display: flex; flex-wrap: wrap; gap: 10px 17px; align-items: center; font-size: 12px; color: #7b896e; margin-bottom: 15px; }
.reference-description { font-size: 14px; line-height: 1.8; color: #67785f; margin-bottom: 19px; }
.reference-metrics { display: flex; flex-wrap: wrap; gap: 20px; padding: 16px 20px; border: 1px solid #dfe5d5; background: #f2f5e9; border-radius: 8px; margin-bottom: 22px; }
.reference-metrics > div { display: flex; flex-direction: column; gap: 3px; }
.reference-metrics strong { font-size: 16px; font-weight: 550; }
.reference-metrics span { font-size: 11px; color: #819071; }
.reference-pages { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.reference-pages figure { margin: 0; padding: 10px; border: 1px solid #e0e4d8; border-radius: 7px; background: #fff; }
.reference-pages img { width: 100%; object-fit: contain; }
.reference-pages figcaption { font-size: 11px; padding: 9px 1px 1px; color: #80916d; }
.reference-insights { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; margin-top: 24px; }
.reference-insights h3 { font-size: 14px; font-weight: 600; }
.reference-insights li { color: #728267; font-size: 13px; line-height: 1.8; margin-top: 6px; }
.reference-source-notes { margin-top: 20px; padding: 15px 17px; background: #f5efdf; border: 1px solid #e5d8b9; border-radius: 7px; }
.reference-source-notes h3 { font-size: 13px; margin-bottom: 7px; color: #887047; }
.reference-source-notes p, .reference-source-notes li { font-size: 12px; line-height: 1.7; color: #877957; margin-top: 7px; }
.collection-share { display: grid; grid-template-columns: 210px 1fr; gap: 26px; align-items: center; }
.collection-share > img { width: 210px; padding: 10px; border: 1px solid #e3e7da; border-radius: 8px; }
.collection-share p { font-size: 14px; color: #718268; margin-top: 14px; line-height: 1.8; }
.collection-public-link { display: block; font-size: 13px; overflow-wrap: anywhere; margin-top: 18px; }
.collection-planning-page { max-width: 1440px; padding: 24px 38px 55px; margin: 0 auto; }
.collection-project-context { display: flex; align-items: center; gap: 25px; margin-bottom: 22px; border: 1px solid #dce3d2; border-radius: 11px; padding: 17px 22px; background: #fdfdf7; }
.collection-project-context > div { flex: 1; }
.collection-project-context > div strong { display: block; font-family: var(--serif); font-size: 27px; font-weight: 400; }
.collection-project-context .eyebrow { font-size: 10px; }
.collection-project-context .field { width: 290px; margin: 0; }
.collection-project-context .field > span { font-size: 10px; margin-bottom: 4px; }
.collection-project-context .field select { min-height: 36px; font-size: 12px; }
.collection-context-tip { flex-shrink: 0; margin-top: 20px; border: 1px solid #d8dfce; border-radius: 9px; background: #ecf0e2; padding: 16px 14px; }
.collection-context-tip .eyebrow { font-size: 9px; }
.collection-context-tip > strong { display: block; font-size: 13px; line-height: 1.4; margin-top: 7px; }
.collection-context-tip > p { font-size: 12px; color: #7b8a6b; line-height: 1.7; margin: 8px 0 12px; }
.collection-context-tip .text-button { font-size: 11px; }
.collection-project-source { margin-top: 14px; padding-top: 12px; border-top: 1px solid #cfdac4; }
.collection-project-source > span { display: block; font-size: 10px; color: #7d8b6e; margin-bottom: 5px; }
#collection-brief-summary { margin-top: 20px; }

@media (min-width: 1151px) and (max-width: 1420px) {
  .studio-header { grid-template-columns: 210px 1fr auto; padding-inline: 18px; gap: 10px; }
  .studio-nav { justify-content: center; }
  .studio-nav button { padding-inline: 8px; font-size: 11px; }
  .header-actions .save-indicator { display: none; }
}
@media (max-width: 1150px) {
  :root { --header-height: 122px; }
  .studio-header { display: flex; flex-wrap: wrap; gap: 12px; padding: 13px 20px; }
  .studio-header .brand { flex: 1; }
  .studio-nav { order: 3; width: 100%; overflow: auto; justify-content: center; }
  .studio-nav button { flex: 1; }
  .header-actions .save-indicator { display: none; }
  .collection-bookshelf { gap: 12px; }
  .collection-book { padding-inline: 10px; }
  .collection-book-copy strong { font-size: 12px; }
  .collection-book-copy > span { font-size: 10px; }
  .collection-tool-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .collection-tool { min-height: 170px; }
  .collection-plan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .collection-library-stat { padding-left: 30px; }
  .collection-library-stat small { max-width: 150px; }
}
@media (max-width: 720px) {
  .studio-header { padding: 11px 14px; }
  .studio-header .brand { min-width: 195px; }
  .studio-nav { justify-content: flex-start; border-radius: 6px; }
  .studio-nav button { flex: 0 0 auto; padding: 8px 10px; font-size: 11px; }
  .header-actions [data-action="help"] { display: none; }
  .header-actions .btn { font-size: 11px; padding: 7px 9px; }
  .collection-books .section-heading { align-items: flex-start; flex-direction: column; gap: 10px; }
  .collection-bookshelf { grid-template-columns: repeat(5, 155px); overflow-x: auto; padding: 7px 3px 17px; margin-inline: -3px; scroll-snap-type: x proximity; }
  .collection-book { scroll-snap-align: start; }
  .collection-jacket { width: 98px; }
  .collection-book-copy strong { min-height: 34px; }
  .collection-tool-grid { gap: 10px; }
  .collection-tool { padding: 18px 16px 27px; min-height: 200px; }
  .collection-tool > strong { font-size: 21px; }
  .collection-tool > span:not(.collection-tool-number) { font-size: 11px; }
  .collection-tool-number { margin-bottom: 13px; }
  .collection-page, .collection-planning-page { padding: 22px 18px 40px; }
  .collection-book-tabs { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 9px; margin-bottom: 15px; }
  .collection-book-tabs button { white-space: nowrap; padding: 7px 12px; font-size: 11px; }
  .collection-library-hero { gap: 20px; padding-bottom: 27px; }
  .collection-library-hero h1 { font-size: 39px; }
  .collection-library-hero p { font-size: 13px; }
  .collection-library-stat { display: none; }
  .collection-book-hero { gap: 20px; padding: 23px 20px; align-items: flex-start; }
  .collection-jacket.small { display: none; }
  .collection-book-intro h1 { font-size: 34px; }
  .collection-book-intro > p { font-size: 13px; }
  .collection-chapter-guide ul { columns: 1; }
  .collection-filters { grid-template-columns: 1fr 1fr; padding: 14px 13px 0; gap: 4px 10px; }
  .collection-filters .collection-search { grid-column: 1 / -1; }
  .collection-filters .field:last-child { grid-column: 1 / -1; }
  .collection-plan-grid { grid-template-columns: 1fr; gap: 17px; }
  .collection-plan-image { height: 270px; }
  .collection-plan-body { padding-inline: 19px; }
  .collection-decision-focus > h2 { font-size: 31px; }
  .collection-project-context { flex-wrap: wrap; gap: 14px; padding: 17px; }
  .collection-project-context > div { flex-basis: 100%; }
  .collection-project-context .field { width: 100%; }
  .collection-project-context > .btn { width: 100%; }
  .reference-pages, .reference-insights { grid-template-columns: 1fr; }
  .reference-metrics { gap: 15px 24px; padding: 14px; }
  .reference-metrics strong { font-size: 14px; }
  .collection-share { grid-template-columns: 1fr; gap: 8px; }
  .collection-share > img { width: 190px; margin: 0 auto; }
  .collection-share .eyebrow { margin-top: 12px; }
}

@media print {
  .collection-context-tip, .collection-project-context, .collection-books, .collection-tool-section { display: none !important; }
  .planning-summary { break-inside: auto; }
}
