/* Taste 2.5 applied to the approved narrative, rather than a new brand template. */
:root {
  --page-gutter: clamp(24px, 5.55vw, 80px);
  --muted: #716656;
  --line: #d8cdbf;
  --m-ease: cubic-bezier(.2,.8,.2,1);
}
body { line-height: 1.6; }
.handwritten { color: #b74a0d; }
.site-header { padding-inline: var(--page-gutter); }
.brand-mark { display: flex; align-items: center; width: auto; gap: 9px; }
.brand-mark svg { width: 45px; height: 50px; flex: none; }
.header-wordmark { font-family: Fraunces,Georgia,serif; font-size: 30px; letter-spacing: -.05em; }
.header-nav { display: flex; align-items: center; gap: 32px; background: var(--paper); padding: 8px 24px; border-radius: 30px; font-size: 14px; }
.header-nav a { border-bottom: 1px solid transparent; transition: border-color .16s; }
.header-nav a:hover { border-color: var(--ink); }
html[data-chapter=opening] .header-nav { visibility: hidden; }
.intro-copy h1 { font-size: clamp(72px, 6.7vw, 103px); line-height: .98; }
.intro-description { font-size: 25px; line-height: 1.5; margin-top: 28px; }
.intro-description .handwritten { font-size: 30px; margin-left: 3px; }
.direct-link { color: var(--muted); }
.opening-scroll { color: var(--ink); background: var(--paper); padding: 6px 12px; border-radius: 8px; font-size: 20px; white-space: nowrap; }
.button { font-size: 17px; min-height: 48px; transition: background .14s var(--m-ease), transform .14s var(--m-ease); }
.button:hover { transform: translateY(-1px); }
.button:active { transform: translateY(1px) scale(.985); }
.text-link { font-size: 14px; min-height: 30px; }
.text-link:hover { color: #9c3e0a; }
.path-section { padding: 100px var(--page-gutter) 90px; min-height: 690px; }
.path-section h2 { font-size: 46px; line-height: 1.2; }
.notes { gap: 30px; max-width: 1220px; margin-top: 72px; }
.paper-note { font-size: 30px; min-height: 240px; }
.note-one:hover { transform: rotate(8deg) translateY(-2px); }
.note-two:hover { transform: rotate(-5deg) translateY(-2px); }
.note-three:hover { transform: rotate(1deg) translateY(-2px); }
.note-four:hover { transform: rotate(4deg) translateY(-2px); }
.path-caption { font-size: 14px; margin-top: 58px; color: var(--muted); }
.selection-worktable, .branding-worktable { padding: 104px var(--page-gutter) 64px; min-height: 100svh; }
.worktable-heading, .worktable-layout, .table-endnote { max-width: 1280px; width: 100%; }
.worktable-heading { padding: 0; margin-bottom: 28px; align-items: center; }
.worktable-heading > .handwritten { font-size: 30px; }
.worktable-heading > .text-link { color: var(--ink); font-size: 14px; }
.collection-choices { max-width: 1280px; width: 100%; margin: 0 auto 26px; display: flex; gap: 32px; border-top: 0; border-bottom: 1px solid var(--line); }
.collection-choices > button { width: auto; flex: 1; border: 0; border-bottom: 2px solid transparent; padding: 12px 0 15px; display: flex; justify-content: space-between; gap: 16px; font-size: 18px; line-height: 1.3; text-align: left; }
.collection-choices small { display: block; font-size: 13px; font-weight: 400; color: var(--muted); margin-top: 4px; }
.collection-choices > button[aria-pressed=true] { color: #355b40; border-bottom-color: #355b40; background: none; font-weight: 500; }
.collection-choices > button:hover { background: none; color: #355b40; }
.collection-choices > button > span:last-child { font-family: var(--body); font-size: 16px; align-self: center; }
.worktable-layout { grid-template-columns: minmax(300px, 370px) minmax(0,1fr); gap: 56px; align-items: center; }
.worktable-layout > .chapter-panel { background: transparent; border: 0; border-radius: 0; box-shadow: none; overflow: visible; }
.worktable-layout .chapter-panel h2 { padding: 0; font-size: clamp(40px, 3.8vw, 54px); line-height: 1.1; font-weight: 450; }
.selection-panel { align-self: center; padding-bottom: 80px; }
.selection-aside { font-size: 28px; margin: 25px 0; }
.selected-style-copy { padding: 0; color: var(--ink); font-size: 16px; line-height: 1.65; }
.selected-style-copy > p { min-height: 0; max-width: 34ch; }
.quote-details { margin-top: 28px; border-top: 1px solid var(--line); padding-top: 14px; }
.quote-details summary { font-size: 14px; cursor: pointer; list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.quote-details summary::after { content: '+'; font-size: 20px; }
.quote-details[open] summary::after { content: '−'; }
.quote-details p { margin-top: 14px; font-size: 14px; color: var(--muted); line-height: 1.6; }
.piece-stage { min-height: 630px; }
.piece-stage-title { padding-top: 0; }
.piece-stage-title h3 { font-size: 30px; margin: 3px 0 5px; }
.piece-stage-title > span, .piece-stage-title p { font-size: 13px; color: var(--muted); }
.piece-view { min-height: 450px; }
.piece-full-image { inset: -8% -3% 0; width: 106%; height: 108%; }
.piece-full-image img { transform: scale(1.06); filter: drop-shadow(6px 13px 8px #4e2d1414); }
.piece-full-image:hover img { transform: scale(1.08); }
.piece-annotation { bottom: 1%; left: 0; font-size: 27px; }
.inspect-invitation { right: 0; bottom: 8%; font-size: 13px; min-height: 44px; border-color: #9c8a73; }
.selection-actions { padding: 16px 0 5px; display: flex; flex-direction: row; align-items: center; justify-content: center; gap: 24px; }
.selection-actions .button { padding-inline: 22px; font-size: 17px; white-space: nowrap; }
.selection-actions .text-link { font-size: 13px; white-space: nowrap; }
.piece-stage-caption { font-size: 13px; margin: 16px 0 0; }
.table-endnote { margin-top: 24px; padding-top: 18px; font-size: 13px; color: var(--muted); }
.table-endnote .text-link { font-size: 14px; }
.inspection-image { height: 360px; }
.inspection-footer p { font-size: 14px; }
.back-to-whole, .detail-views button { font-size: 13px; }
.detail-views button { min-height: 36px; }
.branding-worktable { background: #fdfaf5; }
.branding-worktable .worktable-layout { align-items: center; }
.branding-worktable .chapter-list { border-top: 1px solid var(--line); margin-top: 32px; }
.branding-worktable .chapter-list button { padding: 16px 0; font-size: 17px; min-height: 72px; }
.branding-worktable .chapter-list button > span:last-child { width: 20px; height: 20px; border: 1px solid #ac9e8c; border-radius: 50%; color: transparent; font-size: 0; }
.branding-worktable .chapter-list button[aria-pressed=true] { background: none; box-shadow: none; color: #355b40; }
.branding-worktable .chapter-list button[aria-pressed=true] > span:last-child { border: 5px solid #355b40; }
.branding-worktable .chapter-list button:hover { background: none; color: #355b40; }
.branding-worktable .chapter-list small { font-size: 13px; }
.branding-worktable .brand-controls { padding: 22px 0 0; }
.branding-worktable .brand-controls .quiet, .branding-scope { font-size: 13px; color: var(--muted); }
#brand-logo-fields > label { font-size: 14px; }
#brand-logo-fields > input { min-height: 48px; font-size: 16px; }
.brand-upload-row > label, .brand-upload-row > button { font-size: 13px; min-height: 35px; }
.branding-worktable .brand-workspace { min-height: 650px; }
.branding-worktable .brand-product { inset: 1% -3% 13%; }
.branding-worktable .brand-tag { background: #fffdf8; box-shadow: 1px 6px 13px #5d381619; }
.branding-worktable .brand-tag > span:last-child { font-size: 12px; }
.branding-worktable .package-box > small { font-size: 12px; }
.brand-context > small { font-size: 13px; }
.brand-context > .handwritten { font-size: 30px; }
.next-conversation { margin-top: 30px; font-size: 15px; }
.assurance { padding: 88px var(--page-gutter) 84px; border-bottom: 1px solid var(--line); }
.assurance h2 { font-size: 44px; }
.assurance > p { font-size: 24px; }
.assurance-notes { max-width: 1100px; gap: 60px; }
.assurance-notes > span { font-size: 27px; }
.questions { max-width: 1280px; padding: 96px 0; margin: 0 var(--page-gutter); display: grid; grid-template-columns: 370px minmax(0,1fr); gap: 0 56px; }
.questions h2 { grid-column: 1; grid-row: 1 / 5; text-align: left; font-size: 44px; margin: 0; max-width: 10ch; }
.questions details { grid-column: 2; padding: 20px 0; }
.questions details:first-of-type { padding-top: 0; }
.questions summary { font-size: 23px; }
.questions details p { font-size: 16px; color: var(--ink); }
.proposal-conversation { max-width: 1440px; padding: 70px var(--page-gutter) 110px; gap: 80px; }
.proposal-sheet { transform: rotate(-1.5deg); padding: 36px; box-shadow: 1px 12px 26px #5b361214; }
.proposal-count, .proposal-facts, .proposal-item span, .proposal-item button, .proposal-sheet > .text-link { font-size: 14px; }
.proposal-facts > div { padding: 9px 0; }
.proposal-conversation .conversation-copy > p:nth-of-type(2) { font-size: 16px; color: var(--ink); }
.proposal-conversation .conversation-copy > p:last-child { font-size: 14px; }
.proposal-empty, .branding-scope, .proposal-conversation .conversation-copy > p:last-child { color: #564a3d; }
footer { padding-inline: var(--page-gutter); }
footer > div { max-width: 1280px; margin: auto; }
footer h2 { font-size: 44px; }
.footer-wordmark { font-size: clamp(160px, 24vw, 360px); margin-top: 55px; }
footer > p { font-size: 13px; }
.dialog-copy ul { font-size: 14px !important; line-height: 1.6; }
.dialog-copy > p { font-size: 15px !important; }
.dialog-copy label, .brief-fields label, .brief-item-controls label { font-size: 13px; }
.brief-item-copy h3 { font-size: 17px !important; }
.brief-item-copy p, .brief-empty, .message-panel .quiet { font-size: 13px; }
.brief-quantity { min-height: 44px; font-size: 16px; }
@media (min-width:1441px) { .questions { margin-inline: auto; } }
@media (max-width:1100px) and (min-width:761px) {
  .worktable-layout { grid-template-columns: 300px minmax(0,1fr); gap: 32px; }
  .worktable-layout .chapter-panel h2 { font-size: 42px; }
  .piece-stage { min-height: 600px; }
  .selection-actions { flex-direction: column; gap: 12px; }
  .selected-style-copy { font-size: 15px; }
  .questions { grid-template-columns: 300px minmax(0,1fr); gap: 0 32px; }
  .header-nav { gap: 22px; font-size: 13px; }
  .intro-description { font-size: 22px; }
  .intro-description .handwritten { font-size: 28px; }
  .assurance-notes { gap: 36px; }
}
@media (max-width:760px) {
  .site-header { padding-inline: 24px; height: 76px; }
  .brand-mark svg { width: 36px; height: 40px; }
  .header-wordmark { font-size: 25px; }
  .header-nav { display: none; }
  .header-action { font-size: 15px; padding: 8px 12px; min-height: 42px; }
  .intro-copy { left: 24px; top: 13svh; right: 24px; }
  .intro-copy h1 { font-size: clamp(47px, 12.4vw, 68px); line-height: 1; }
  .salutation { font-size: 25px; }
  .intro-description { font-size: 19px; margin-top: 20px; line-height: 1.5; }
  .intro-description .handwritten { font-size: 24px; white-space: normal; }
  .intro-action { left: 24px; gap: 17px; }
  .intro-action .button { font-size: 17px; }
  .direct-link { font-size: 14px; }
  .path-section { padding: 76px 24px 70px; }
  .path-section h2 { font-size: 32px; }
  .notes { margin-top: 50px; gap: 24px; }
  .paper-note { font-size: 24px; min-height: 188px; padding: 28px 10px; }
  .path-caption { margin-top: 40px; font-size: 13px; }
  .selection-worktable, .branding-worktable { padding: 94px 24px 50px; }
  .worktable-heading { margin-bottom: 22px; }
  .selection-worktable > .worktable-heading { display: flex; align-items: flex-start; gap: 16px; }
  .selection-worktable > .worktable-heading > .handwritten { max-width: 200px; }
  .selection-worktable > .worktable-heading > .text-link { white-space: nowrap; margin-top: 0; gap: 12px; }
  .worktable-heading > .handwritten { font-size: 27px; max-width: 240px; }
  .worktable-heading > .text-link { font-size: 13px; margin-top: 14px; }
  .collection-choices { gap: 12px; margin-bottom: 28px; }
  .collection-choices > button { font-size: 15px; min-height: 66px; padding: 9px 0 12px; }
  .collection-choices small { display: none; }
  .collection-choices > button > span:last-child { display: none; }
  .worktable-layout { gap: 32px; }
  .selection-panel { order: 2; padding: 0; }
  .selection-panel h2 { position: absolute; width: 1px; height: 1px; clip-path: inset(50%); overflow: hidden; }
  .selection-aside { display: none; }
  .selected-style-copy { font-size: 16px; }
  .selected-style-copy > p { max-width: none; }
  .quote-details { margin-top: 20px; }
  .quote-details summary, .quote-details p { font-size: 14px; }
  .piece-stage { min-height: 0; }
  .piece-stage-title h3 { font-size: 28px; }
  .piece-stage-title > span { display: none; }
  .piece-stage-title p { font-size: 13px; }
  .piece-view { min-height: 345px; }
  .piece-full-image { inset: -6% -5% 0; width: 110%; height: 106%; }
  .piece-annotation { font-size: 24px; bottom: 0; }
  .inspect-invitation { font-size: 12px; bottom: 12%; }
  .selection-actions { flex-direction: column; gap: 15px; padding: 25px 4px 0; }
  .selection-actions .button { width: 100%; font-size: 18px; }
  .selection-actions .text-link { font-size: 14px; }
  .piece-stage-caption { font-size: 13px; margin-top: 17px; }
  .table-endnote { margin-top: 25px; font-size: 13px; }
  .table-endnote .text-link { display: none; }
  .inspection-image { height: 285px; }
  .inspection-footer p { font-size: 13px; }
  .detail-views button { font-size: 13px; min-height: 40px; }
  .branding-worktable .worktable-heading > p:last-child { font-size: 13px; }
  .branding-worktable .worktable-layout > .chapter-panel { order: 2; }
  .branding-worktable .worktable-layout .chapter-panel h2 { font-size: 38px; }
  .branding-worktable .brand-workspace { min-height: 440px; }
  .branding-worktable .brand-product { inset: -4% -5% 19%; }
  .branding-worktable .brand-context > small { font-size: 12px; }
  .branding-worktable .chapter-list { margin-top: 25px; }
  .branding-worktable .chapter-list button { padding: 15px 0; font-size: 17px; }
  .branding-worktable .brand-controls { padding: 23px 0 0; }
  .branding-worktable .brand-controls > .button { width: 100%; font-size: 18px; }
  .brand-context { left: 0; right: 0; }
  .brand-context > .handwritten { font-size: 27px; }
  .brand-controls .quiet, .branding-scope { font-size: 13px; }
  .next-conversation { margin-top: 28px; }
  .assurance { padding: 70px 24px; }
  .assurance h2 { font-size: 34px; }
  .assurance > p { font-size: 23px; }
  .assurance-notes { gap: 32px; }
  .assurance-notes > span { font-size: 25px; }
  .questions { display: block; margin-inline: 24px; padding: 76px 0; }
  .questions h2 { font-size: 34px; margin-bottom: 36px; max-width: 15ch; }
  .questions summary { font-size: 21px; }
  .questions details p { font-size: 16px; }
  .proposal-conversation { padding: 32px 24px 80px; gap: 52px; }
  .proposal-sheet { padding: 28px 22px; transform: rotate(-1deg); }
  .proposal-heading h3 { font-size: 30px; }
  .proposal-heading .handwritten { font-size: 25px; }
  .proposal-item { grid-template-columns: 64px 1fr auto; gap: 10px; }
  .proposal-item img { width: 64px; height: 64px; }
  .proposal-item strong { font-size: 19px; }
  .proposal-item span, .proposal-item button, .proposal-count, .proposal-facts { font-size: 13px; }
  .proposal-conversation .conversation-copy h2 { font-size: 44px; }
  .proposal-conversation .conversation-copy > .button { width: 100%; font-size: 18px; }
  footer { padding: 55px 24px 25px; border-radius: 36px 36px 0 0; }
  footer h2 { font-size: 33px; }
  footer .button { width: 100%; font-size: 18px; }
  footer > p { font-size: 13px; }
}
@media (max-width: 350px) {
  .intro-copy h1 { font-size: clamp(35px, 13vw, 44px); }
  .intro-description { font-size: 16px; }
  .intro-description .handwritten { font-size: 21px; }
}
