/* The form stays monochrome. Uploaded project artwork retains every original color. */
.project-brief-page .page-intro { max-width: 56rem; padding: 2rem 0 1.75rem; }
.project-brief-page .page-intro h1 { font-size: clamp(2rem, 3.4vw, 3.1rem); line-height: 1.12; margin-top: .75rem; max-width: 22ch; }
.project-brief-page .page-intro .page-lead { margin-top: .85rem; font-size: 1rem; line-height: 1.7; max-width: 49rem; }
.project-brief-page .mobile-consultation { display: none; }
.project-brief { --brief-ink: #151515; --brief-muted: #5a5a5a; --brief-line: #d8d8d8; --brief-soft: #f5f5f5; margin: 0 0 4rem; color: var(--brief-ink); }
.project-brief [hidden] { display: none !important; }
.project-brief *, .project-brief *::before, .project-brief *::after { box-sizing: border-box; }
.brief-layout { display: grid; grid-template-columns: 17rem minmax(0, 1fr); border: 1px solid var(--brief-line); border-radius: 1.25rem; overflow: clip; background: #fff; }
.brief-sidebar { background: var(--brief-soft); padding: 2rem 1.25rem; border-right: 1px solid var(--brief-line); min-width: 0; }
.brief-brand { display: flex; align-items: center; gap: .8rem; line-height: 1.5; }
.brief-brand img { object-fit: contain; flex: 0 0 3.25rem; }
.brief-brand span { font-size: .875rem; }
.brief-brand strong { font-weight: 650; }
.brief-sidebar-note { margin: 1.5rem 0; color: var(--brief-muted); font-size: .875rem; line-height: 1.7; }
.brief-step-list { padding: 0; margin: 0; list-style: none; display: grid; gap: .3rem; }
.brief-step-link { width: 100%; border: 1px solid transparent; border-radius: .6rem; display: flex; align-items: center; text-align: left; gap: .65rem; padding: .7rem .6rem; min-height: 2.75rem; background: none; line-height: 1.4; font-size: .8125rem; }
.brief-step-link:hover { background: #e9e9e9; }
.brief-step-link[aria-current="step"] { color: #fff; background: #151515; border-color: #151515; }
.brief-step-number { font-family: var(--mono, monospace); font-size: .6875rem; opacity: .7; flex: 0 0 1.35rem; }
.brief-step-check { margin-left: auto; }
.brief-draft { margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid var(--brief-line); }
.brief-draft > summary { min-height: 2.75rem; cursor: pointer; font-size: .75rem; font-weight: 600; line-height: 1.6; display: flex; align-items: center; justify-content: space-between; gap: .5rem; list-style: none; }
.brief-draft > summary::-webkit-details-marker { display: none; }
.brief-draft > summary::after { content: "+"; font-size: 1.1rem; }
.brief-draft[open] > summary::after { content: "−"; }
.brief-draft-label, .brief-consent label { display: flex; gap: .65rem; align-items: flex-start; min-height: 2.75rem; font-size: .8125rem; line-height: 1.6; }
.brief-draft input, .brief-consent input { width: 1.2rem; height: 1.2rem; margin: .15rem 0 0; flex: 0 0 1.2rem; accent-color: #111; }
.brief-draft > p { color: var(--brief-muted); font-size: .75rem; line-height: 1.65; margin: .5rem 0; }
.brief-draft .brief-text-button { display: block; text-align: left; font-size: .75rem; }
.brief-clear-confirm { margin-top: .5rem; padding: .75rem; border: 1px solid #888; border-radius: .5rem; }
.brief-clear-confirm p { font-size: .8125rem; line-height: 1.6; margin-bottom: .5rem; }
.brief-clear-confirm .brief-button { padding: .6rem; font-size: .75rem; }
.brief-main { min-width: 0; padding: clamp(1.25rem, 3vw, 3rem); }
.brief-progress { margin-bottom: 2.5rem; }
.brief-progress > div { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .5rem; font-size: .75rem; color: var(--brief-muted); line-height: 1.5; }
#brief-progress-label { font-weight: 650; color: #151515; }
.brief-progress progress { display: block; height: 4px; width: 100%; margin-top: .85rem; border: 0; border-radius: 2px; background: #e9e9e9; color: #151515; }
.brief-progress progress::-webkit-progress-bar { background: #e9e9e9; border-radius: 2px; }
.brief-progress progress::-webkit-progress-value { background: #151515; border-radius: 2px; }
.brief-progress progress::-moz-progress-bar { background: #151515; border-radius: 2px; }
.brief-panel { scroll-margin-top: 2rem; }
.brief-panel-heading { margin-bottom: 2rem; }
.brief-eyebrow { font-size: .6875rem; font-family: var(--mono, monospace); font-weight: 500; letter-spacing: .08em; line-height: 1.6; color: var(--brief-muted); }
.brief-panel h2, .brief-success h2 { font-family: var(--display, sans-serif); font-size: clamp(1.8rem, 3vw, 2.75rem); font-weight: 650; line-height: 1.15; letter-spacing: -.05em; margin: .8rem 0 1rem; }
.brief-panel-heading > p:last-child { color: var(--brief-muted); max-width: 40rem; line-height: 1.75; font-size: .9375rem; }
.brief-fields { display: grid; gap: 1.75rem; }
.brief-field { min-width: 0; padding: 0; margin: 0; border: 0; }
.brief-field > label, .brief-field > legend { display: block; width: 100%; padding: 0; font-size: .9375rem; font-weight: 650; line-height: 1.6; margin-bottom: .6rem; }
.brief-optional { font-size: .6875rem; font-weight: 450; color: var(--brief-muted); white-space: nowrap; margin-left: .4rem; }
.brief-hint { color: var(--brief-muted); font-size: .8125rem; line-height: 1.65; margin: .4rem 0 .75rem; }
.brief-field > input, .brief-field textarea { display: block; width: 100%; max-width: 100%; min-height: 3rem; border: 1px solid #888; border-radius: .6rem; background: #fff; color: #151515; padding: .85rem 1rem; font-size: 1rem; line-height: 1.6; }
.brief-field textarea { resize: vertical; }
.brief-color-tools { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; margin-top: .75rem; }
.brief-color-tools > label { display: inline-flex; align-items: center; gap: .6rem; min-height: 2.75rem; font-size: .8125rem; }
.brief-color-tools input { width: 2.75rem; height: 2.75rem; padding: .2rem; border: 1px solid #888; border-radius: .4rem; background: #fff; }
.brief-color-swatches { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .5rem; }
.brief-color-swatch { display: inline-flex; align-items: center; gap: .4rem; font-family: var(--mono, monospace); font-size: .6875rem; line-height: 1.6; }
.brief-color-swatch > i { display: inline-block; width: 1.2rem; height: 1.2rem; border: 1px solid #999; border-radius: .25rem; }
.brief-field input::placeholder, .brief-field textarea::placeholder { color: #727272; opacity: 1; }
.brief-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
.brief-project-options { grid-template-columns: minmax(0, 1fr); }
.brief-option { position: relative; display: flex; align-items: center; gap: .7rem; min-width: 0; min-height: 3.25rem; cursor: pointer; border: 1px solid var(--brief-line); border-radius: .6rem; padding: .8rem; line-height: 1.5; background: #fff; font-size: .875rem; overflow-wrap: anywhere; }
.brief-option input { margin: 0; width: 1.1rem; height: 1.1rem; accent-color: #151515; flex: 0 0 1.1rem; }
.brief-option > span:not(.brief-choice-mark) { flex: 1; }
.brief-choice-mark { color: #777; font-size: 1.2rem; flex: 0 0 1rem; text-align: center; }
.brief-project-options .brief-option > .brief-project-icon { display: grid; place-items: center; flex: 0 0 2.25rem; width: 2.25rem; height: 2.25rem; background: #f2f2f2; border: 1px solid #ddd; border-radius: .45rem; color: #333; }
.brief-project-icon svg { width: 1.6rem; height: 1.6rem; }
.brief-project-options .brief-option:has(input:checked) .brief-project-icon { background: #fff; border-color: #999; }
.brief-project-options .brief-option { min-height: 4.25rem; }
.brief-palette-picker { margin: 1rem 0; }
.brief-palette-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .65rem; }
.brief-palette { min-width: 0; min-height: 7.5rem; display: flex; flex-direction: column; gap: .75rem; padding: .85rem; border: 1px solid #aaa; border-radius: .65rem; background: #fff; color: #151515; text-align: left; }
.brief-palette:hover { border-color: #151515; background: #fafafa; }
.brief-palette[aria-pressed="true"] { border-color: #151515; box-shadow: inset 0 0 0 1px #151515; background: #f5f5f5; }
.brief-palette-title { display: flex; align-items: flex-start; justify-content: space-between; gap: .4rem; width: 100%; font-size: .8125rem; font-weight: 650; line-height: 1.5; }
.brief-palette-check { flex: 0 0 .8rem; font-size: .875rem; }
.brief-palette-swatches { display: flex; width: 100%; height: 2rem; border: 1px solid #aaa; border-radius: .35rem; overflow: hidden; }
.brief-palette-swatches i { flex: 1; min-width: 0; }
.brief-palette-action { font-size: .6875rem; line-height: 1.5; color: #595959; margin-top: auto; }
.brief-palette[aria-pressed="true"] .brief-palette-action { color: #151515; font-weight: 650; }
.brief-selected-palette { background: #f5f5f5; padding: 1rem; border: 1px solid #aaa; border-radius: .6rem; margin-top: 1rem; }
.brief-selected-palette > div { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.brief-selected-palette > div > p { font-size: .8125rem; font-weight: 650; line-height: 1.6; }
.brief-selected-palette .brief-text-button { flex-shrink: 0; font-size: .75rem; }
.brief-selected-palette ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 0; list-style: none; gap: .8rem; margin: .75rem 0 0; }
.brief-selected-palette li { min-width: 0; display: flex; align-items: center; gap: .6rem; font-size: .75rem; line-height: 1.5; }
.brief-selected-palette li > i { width: 1.75rem; height: 1.75rem; flex: 0 0 1.75rem; border: 1px solid #999; border-radius: .3rem; }
.brief-selected-palette code { display: block; font-family: var(--mono, monospace); font-size: .6875rem; color: #595959; }
.brief-selected-palette .brief-hint { margin: .85rem 0 0; }
.brief-color-note-label { font-size: .8125rem; font-weight: 600; line-height: 1.6; margin: .85rem 0 .5rem; }
.brief-visually-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.brief-style-grid, .brief-font-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; }
.brief-style-card, .brief-font-card { display: flex; flex-direction: column; min-width: 0; gap: .85rem; border: 1px solid #aaa; padding: 1rem; border-radius: .7rem; background: #fff; cursor: pointer; }
.brief-style-card:hover, .brief-font-card:hover { border-color: #151515; }
.brief-style-card:has(input:checked), .brief-font-card:has(input:checked) { border-color: #151515; box-shadow: inset 0 0 0 1px #151515; background: #f8f8f8; }
.brief-style-card:has(input:focus-visible), .brief-font-card:has(input:focus-visible) { outline: 2px solid #151515; outline-offset: 4px; }
.brief-style-card-top, .brief-font-card-top { display: flex; align-items: flex-start; gap: .55rem; font-size: .8125rem; font-weight: 650; line-height: 1.6; }
.brief-style-card input, .brief-font-card input { flex: 0 0 1.1rem; width: 1.1rem; height: 1.1rem; margin: .1rem 0 0; accent-color: #151515; }
.brief-style-selected { margin-left: auto; visibility: hidden; }
.brief-style-card:has(input:checked) .brief-style-selected { visibility: visible; }
.brief-style-description, .brief-font-description { display: block; font-size: .75rem; font-weight: 400; line-height: 1.65; color: #595959; }
.brief-style-caption { font-family: var(--mono, monospace); font-size: .5625rem; line-height: 1.5; color: #666; text-transform: uppercase; letter-spacing: .04em; }
.brief-style-samples { display: flex; align-items: flex-end; gap: .65rem; width: 100%; min-width: 0; height: 9.25rem; padding: .65rem; border: 1px solid #dedede; border-radius: .5rem; background: #eee; overflow: hidden; }
.brief-mini-site { display: flex; flex: 1; flex-direction: column; min-width: 0; height: 100%; border: 1px solid #aaa; border-radius: .25rem; overflow: hidden; background: #fff; }
.brief-mini-chrome { display: flex; align-items: center; gap: .15rem; height: .65rem; padding: 0 .3rem; background: #e6e6e6; border-bottom: 1px solid #ccc; flex: 0 0 .65rem; }
.brief-mini-chrome i { display: block; width: .15rem; height: .15rem; background: #999; border-radius: 50%; }
.brief-mini-page { display: flex; flex-direction: column; gap: .7rem; min-height: 0; padding: .5rem; flex: 1; overflow: hidden; color: #222; background: #fff; }
.brief-mini-nav { display: flex; align-items: center; gap: .25rem; min-height: .4rem; }
.brief-mini-nav b { font-size: .25rem; font-family: var(--sans, sans-serif); letter-spacing: .06em; line-height: 1.2; margin-right: auto; }
.brief-mini-nav > i { display: block; width: .6rem; height: .1rem; background: currentColor; opacity: .5; }
.brief-mini-layout { display: flex; flex-direction: column; align-items: flex-start; gap: .4rem; flex: 1; min-height: 0; position: relative; }
.brief-mini-heading { display: block; font-family: var(--display, sans-serif); font-size: .9rem; font-weight: 650; line-height: 1.1; letter-spacing: -.04em; max-width: 12ch; }
.brief-mini-copy { display: grid; gap: .15rem; width: 75%; }
.brief-mini-copy i { display: block; height: .1rem; background: currentColor; opacity: .25; }
.brief-mini-copy i:last-child { width: 70%; }
.brief-mini-action { display: inline-flex; padding: .22rem .4rem; background: #222; color: #fff; font-family: var(--sans, sans-serif); font-size: .25rem; line-height: 1.2; border: 1px solid transparent; }
.brief-mini-blocks { display: flex; gap: .25rem; width: 100%; min-height: 1.3rem; margin-top: auto; }
.brief-mini-blocks i { display: block; flex: 1; background: #e8e8e8; border: 1px solid #d8d8d8; }
.brief-mini-table { display: none; }
.brief-mini-phone { display: flex; flex-direction: column; flex: 0 0 3.2rem; width: 3.2rem; height: 7rem; border: 2px solid #333; border-radius: .65rem; background: #fff; color: #222; padding: .3rem .15rem .15rem; overflow: hidden; }
.brief-mini-speaker { display: block; width: .75rem; height: .12rem; background: #333; border-radius: 1rem; margin: 0 auto .3rem; flex: 0 0 .12rem; }
.brief-mini-app { display: flex; flex: 1; flex-direction: column; gap: .3rem; padding: .2rem; overflow: hidden; min-height: 0; }
.brief-mini-app-title { font-family: var(--sans, sans-serif); font-size: .42rem; font-weight: 650; line-height: 1.3; }
.brief-mini-app-feature { display: block; background: #e5e5e5; height: 1.55rem; border: 1px solid #d7d7d7; }
.brief-mini-app-rows { display: grid; gap: .25rem; }
.brief-mini-app-rows i { display: block; height: .45rem; background: #efefef; border: 1px solid #ddd; }
.brief-mini-app-tabbar { display: flex; justify-content: space-between; margin-top: auto; padding: .2rem; border-top: 1px solid #ddd; }
.brief-mini-app-tabbar i { width: .2rem; height: .2rem; background: #aaa; border-radius: 50%; }
.brief-style-clean .brief-mini-layout { gap: .55rem; }
.brief-style-clean .brief-mini-heading { font-weight: 500; font-size: 1rem; }
.brief-style-clean .brief-mini-blocks { min-height: .65rem; }
.brief-style-clean .brief-mini-blocks i { background: #fafafa; }
.brief-style-warm .brief-mini-page, .brief-style-warm .brief-mini-app { background: #f0f0f0; }
.brief-style-warm .brief-mini-heading { font-family: Georgia, serif; font-size: 1.05rem; font-weight: 400; letter-spacing: -.04em; }
.brief-style-warm .brief-mini-action, .brief-style-warm .brief-mini-blocks i, .brief-style-warm .brief-mini-app-feature, .brief-style-warm .brief-mini-app-rows i { border-radius: 1rem; }
.brief-style-warm .brief-mini-blocks i { background: #ddd; aspect-ratio: 1; max-height: 1.6rem; }
.brief-style-warm .brief-mini-app-feature { height: 2rem; border-radius: 1rem 1rem .3rem .3rem; background: #d5d5d5; }
.brief-style-bold .brief-mini-page, .brief-style-bold .brief-mini-app { background: #161616; color: #fff; }
.brief-style-bold .brief-mini-heading { font-size: 1.15rem; font-weight: 800; line-height: .95; letter-spacing: -.06em; }
.brief-style-bold .brief-mini-action { background: #fff; color: #111; font-weight: 750; }
.brief-style-bold .brief-mini-blocks i { background: #444; border: 1px solid #fff; }
.brief-style-bold .brief-mini-blocks i:nth-child(2) { background: #fff; }
.brief-style-bold .brief-mini-app-title { font-size: .75rem; font-weight: 800; line-height: 1; }
.brief-style-bold .brief-mini-app-feature { background: repeating-linear-gradient(135deg, #fff 0, #fff 3px, #171717 3px, #171717 6px); border: 0; }
.brief-style-bold .brief-mini-app-rows i { background: #333; border-color: #aaa; }
.brief-style-premium .brief-mini-layout { align-items: center; gap: .5rem; }
.brief-style-premium .brief-mini-heading { font-family: Georgia, serif; font-weight: 400; font-size: .95rem; text-align: center; line-height: 1.2; letter-spacing: -.03em; }
.brief-style-premium .brief-mini-copy { width: 60%; }
.brief-style-premium .brief-mini-action { background: transparent; color: #222; border-color: #999; font-size: .22rem; letter-spacing: .06em; }
.brief-style-premium .brief-mini-blocks { justify-content: center; min-height: 1.7rem; }
.brief-style-premium .brief-mini-blocks i { flex: 0 0 34%; border-radius: 50% 50% 0 0; background: #ddd; }
.brief-style-premium .brief-mini-blocks i:not(:first-child) { display: none; }
.brief-style-premium .brief-mini-app-title { font-family: Georgia, serif; font-weight: 400; text-align: center; font-size: .5rem; }
.brief-style-premium .brief-mini-app-feature { border-radius: 50% 50% 0 0; height: 2rem; background: #d4d4d4; }
.brief-style-playful .brief-mini-heading { font-size: 1rem; font-weight: 750; }
.brief-style-playful .brief-mini-action { border-radius: 1rem; transform: rotate(-4deg); }
.brief-style-playful .brief-mini-blocks i { border-radius: .6rem; background: #d8d8d8; transform: rotate(7deg); }
.brief-style-playful .brief-mini-blocks i:nth-child(2) { background: #999; transform: rotate(-8deg); }
.brief-style-playful .brief-mini-app-feature { border-radius: 50% 35% 45% 25%; background: #b5b5b5; transform: rotate(-5deg); }
.brief-style-playful .brief-mini-app-rows i { border-radius: 1rem; }
.brief-style-professional .brief-mini-nav { padding-bottom: .3rem; border-bottom: 1px solid #ccc; }
.brief-style-professional .brief-mini-heading { font-size: .85rem; line-height: 1.15; }
.brief-style-professional .brief-mini-blocks { min-height: 1.6rem; }
.brief-style-professional .brief-mini-blocks i { background: linear-gradient(to top, #bcbcbc 55%, #e9e9e9 55%); }
.brief-style-professional .brief-mini-blocks i:nth-child(2) { background: linear-gradient(to top, #bcbcbc 80%, #e9e9e9 80%); }
.brief-style-professional .brief-mini-app-feature { height: 1.25rem; background: #333; }
.brief-style-professional .brief-mini-app-rows i { height: .7rem; border-left: .3rem solid #888; }
.brief-style-practical .brief-mini-layout { padding-left: 1.2rem; }
.brief-style-practical .brief-mini-layout::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: .8rem; background: repeating-linear-gradient(to bottom, #ddd 0, #ddd 5px, transparent 5px, transparent 12px); border-right: 1px solid #ddd; }
.brief-style-practical .brief-mini-heading { font-size: .7rem; line-height: 1.15; font-weight: 650; max-width: none; }
.brief-style-practical .brief-mini-copy, .brief-style-practical .brief-mini-blocks { display: none; }
.brief-style-practical .brief-mini-action { padding: .18rem .3rem; }
.brief-style-practical .brief-mini-table { display: grid; width: 100%; flex: 1; gap: .25rem; }
.brief-style-practical .brief-mini-table i { display: block; background: repeating-linear-gradient(to right, #e8e8e8 0, #e8e8e8 18%, #fff 18%, #fff 21%); border-bottom: 1px solid #ccc; min-height: .8rem; }
.brief-style-practical .brief-mini-app-feature { display: none; }
.brief-style-practical .brief-mini-app-rows i { height: .95rem; border-left: .3rem solid #777; background: #f1f1f1; }
.brief-visual-more { border-block: 1px solid #d8d8d8; padding-bottom: 0; margin: .85rem 0; }
.brief-visual-more > summary { display: flex; align-items: center; justify-content: space-between; gap: .75rem; min-height: 3.5rem; padding-block: .65rem; cursor: pointer; font-size: .8125rem; font-weight: 650; line-height: 1.6; list-style: none; }
.brief-visual-more > summary::-webkit-details-marker { display: none; }
.brief-visual-more[open] > summary { margin-bottom: .75rem; }
.brief-visual-more[open] { padding-bottom: 1rem; }
.brief-style-open { margin-top: .5rem; }
.brief-font-teaser { display: inline-flex; align-items: baseline; gap: .6rem; font-size: 1.25rem; white-space: nowrap; }
.brief-font-teaser i { font-family: Georgia, serif; font-weight: 400; }
.brief-font-teaser code { font-family: var(--mono, monospace); font-size: 1rem; font-weight: 400; }
.brief-font-card { min-height: 10rem; gap: .9rem; }
.brief-font-card-top { font-size: .75rem; }
.brief-font-sample { display: block; font-size: 1.45rem; font-weight: 500; line-height: 1.25; letter-spacing: -.035em; margin-top: auto; }
.brief-font-modern .brief-font-sample { font-family: Manrope, Arial, sans-serif; font-weight: 650; }
.brief-font-friendly .brief-font-sample { font-family: "DM Sans", Arial, sans-serif; font-weight: 500; }
.brief-font-editorial .brief-font-sample { font-family: Georgia, "Times New Roman", serif; font-weight: 400; font-style: italic; }
.brief-font-classic .brief-font-sample { font-family: ui-serif, "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif; font-weight: 400; }
.brief-font-technical .brief-font-sample { font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace; font-size: 1.15rem; letter-spacing: -.04em; }
.brief-font-unsure .brief-font-sample { font-family: var(--sans, sans-serif); font-size: 1.2rem; }
.brief-reference-group { padding: 1.25rem; background: #f7f7f7; border: 1px solid #d8d8d8; border-radius: .65rem; }
.brief-reference-group h3 { font-size: .9375rem; line-height: 1.6; margin: 0; }
.brief-reference-group > .brief-hint { margin-bottom: 1.25rem; }
.brief-reference-group .brief-fields { gap: 1.25rem; }
.brief-social-rows { display: grid; gap: 1rem; }
.brief-social-row { display: grid; grid-template-columns: 2.25rem minmax(0, 1fr); align-items: start; gap: .65rem; }
.brief-social-mark { display: grid; place-items: center; width: 2.25rem; height: 2.25rem; margin-top: .15rem; color: #333; background: #f2f2f2; border: 1px solid #ccc; border-radius: .45rem; font-size: .875rem; font-weight: 650; font-family: var(--sans, sans-serif); }
.brief-social-row .brief-field > label { font-size: .8125rem; }
.brief-media-email { display: flex; align-items: flex-start; gap: .85rem; padding: 1.25rem; margin: 1.75rem 0; background: #f3f3f3; border: 1px solid #aaa; border-radius: .75rem; }
.brief-media-email > div { min-width: 0; flex: 1; }
.brief-media-email-icon { display: grid; place-items: center; flex: 0 0 2rem; width: 2rem; height: 2rem; background: #fff; border: 1px solid #aaa; border-radius: .4rem; font-size: 1.15rem; }
.brief-media-email h3 { font-size: 1rem; line-height: 1.6; margin: 0 0 .6rem; }
.brief-media-email p { font-size: .8125rem; line-height: 1.75; color: #595959; margin: .6rem 0; }
.brief-media-email a:not(.brief-button) { color: #151515; text-decoration: underline; text-underline-offset: .2rem; overflow-wrap: anywhere; }
.brief-media-email-actions { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; margin-top: .85rem; }
.brief-media-email-actions .brief-button { font-size: .8125rem; }
.brief-custom-palette { margin: 1rem 0 0; padding-top: 1rem; border-top: 1px solid #d8d8d8; }
.brief-custom-palette h3 { font-size: .9375rem; line-height: 1.6; margin: 0 0 .4rem; }
.brief-success-media { padding-top: 1.5rem; margin-top: 1.5rem; border-top: 1px solid #ccc; }
.brief-success-media h3 { font-size: 1rem; line-height: 1.6; }
.brief-success-media a { text-decoration: underline; text-underline-offset: .2rem; overflow-wrap: anywhere; }
.brief-option:has(input:checked) { border-color: #151515; background: #f3f3f3; box-shadow: inset 0 0 0 1px #151515; }
.brief-option:has(input:checked) .brief-choice-mark { color: #151515; }
.brief-option:hover { border-color: #777; }
.brief-option:has(input:focus-visible) { outline: 2px solid #151515; outline-offset: 3px; }
.brief-field-error { padding: .65rem .8rem; border-left: 3px solid #151515; background: #f1f1f1; font-size: .8125rem; line-height: 1.6; margin: .75rem 0 0; }
.brief-field [aria-invalid="true"] { border-color: #151515; outline: 1px solid #151515; }
.brief-advanced { margin-top: 2rem; border-block: 1px solid var(--brief-line); padding: 0 0 1rem; }
.brief-advanced summary { display: flex; gap: .5rem; align-items: center; justify-content: space-between; cursor: pointer; min-height: 3.5rem; font-size: .875rem; font-weight: 650; list-style: none; }
.brief-advanced summary::-webkit-details-marker { display: none; }
.brief-advanced summary::after { content: "+"; font-size: 1.3rem; font-weight: 400; }
.brief-advanced[open] summary::after { content: "−"; }
.brief-advanced summary .brief-optional { margin-left: auto; }
.brief-advanced > .brief-hint { margin-bottom: 1.5rem; }
.brief-panel-footer { color: var(--brief-muted); font-size: .8125rem; line-height: 1.6; margin-top: 2.5rem; }
.brief-navigation { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid var(--brief-line); }
.brief-navigation-next { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; margin-left: auto; }
.brief-button { display: inline-flex; justify-content: center; align-items: center; gap: .8rem; min-height: 3rem; border: 1px solid #151515; border-radius: .6rem; padding: .85rem 1.2rem; font-size: .875rem; font-weight: 600; line-height: 1.5; text-decoration: none; cursor: pointer; max-width: 100%; overflow-wrap: anywhere; }
.brief-button-primary { color: #fff; background: #151515; }
.brief-button-primary:hover { background: #333; }
.brief-button-secondary { color: #151515; background: #fff; border-color: #888; }
.brief-button-secondary:hover { background: #eee; }
.brief-text-button { display: inline-flex; justify-content: center; align-items: center; min-height: 2.75rem; font-size: .8125rem; text-decoration: underline; text-underline-offset: .2rem; border: 0; background: none; padding: .6rem .2rem; cursor: pointer; line-height: 1.5; }
.project-brief button:disabled, .project-brief input:disabled, .project-brief textarea:disabled { opacity: .6; cursor: wait; }
.project-brief button:focus-visible, .project-brief a:focus-visible, .project-brief input:focus-visible, .project-brief textarea:focus-visible, .project-brief summary:focus-visible { outline: 2px solid #151515; outline-offset: 4px; }
.brief-option input:focus-visible { outline: 0; }
.brief-bottom-note { color: var(--brief-muted); font-size: .8125rem; line-height: 1.7; margin-top: 1.5rem; }
.brief-bottom-note a { color: #151515; text-decoration: underline; text-underline-offset: .25rem; }
.brief-bottom-note [data-booking-link] { min-height: 2.75rem; }
.brief-notice, .brief-fallback { padding: 1rem; background: #f1f1f1; border: 1px solid #888; border-radius: .6rem; margin-bottom: 1.5rem; font-size: .875rem; line-height: 1.7; overflow-wrap: anywhere; }
.brief-fallback a { text-decoration: underline; }
.brief-honey { display: none; }
.brief-upload { margin-top: 2rem; padding: clamp(1rem, 2vw, 1.5rem); border: 1px solid var(--brief-line); background: #f8f8f8; border-radius: .75rem; }
.brief-upload-heading { display: flex; gap: .85rem; align-items: flex-start; margin-bottom: 1.25rem; }
.brief-upload-icon { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; flex: 0 0 2.5rem; border: 1px solid #888; border-radius: .5rem; font-size: 1.25rem; background: #fff; }
.brief-upload h3 { font-size: 1rem; line-height: 1.5; margin: 0 0 .4rem; }
.brief-upload-heading p, .brief-dropzone > p { font-size: .8125rem; line-height: 1.65; color: var(--brief-muted); }
.brief-dropzone { border: 1px dashed #aaa; padding: 1.25rem; background: #fff; border-radius: .6rem; }
.brief-dropzone.is-dragging { border-style: solid; background: #e9e9e9; outline: 2px solid #151515; }
.brief-file-label { position: relative; }
.brief-file-label:focus-within { outline: 2px solid #151515; outline-offset: 4px; }
.brief-file-label input { position: absolute; width: 1px; height: 1px; padding: 0; clip-path: inset(50%); overflow: hidden; white-space: nowrap; }
.brief-dropzone > p { margin-top: .75rem; }
.brief-file-list { list-style: none; padding: 0; margin: 1rem 0; display: grid; gap: .75rem; }
.brief-file-card { display: grid; grid-template-columns: 4rem minmax(0, 1fr); gap: .75rem; padding: .85rem; border: 1px solid var(--brief-line); border-radius: .6rem; background: #fff; min-width: 0; }
.brief-file-preview, .brief-file-document { width: 4rem; height: 4rem; border-radius: .35rem; border: 1px solid var(--brief-line); }
.brief-file-preview { object-fit: contain; filter: none !important; mix-blend-mode: normal; background: #f5f5f5; }
.brief-file-document { display: grid; place-items: center; font-family: var(--mono, monospace); font-size: .75rem; }
.brief-file-details { min-width: 0; }
.brief-file-name { font-size: .8125rem; line-height: 1.5; font-weight: 650; overflow-wrap: anywhere; }
.brief-file-size { font-size: .75rem; color: var(--brief-muted); line-height: 1.5; }
.brief-file-card .brief-text-button { font-size: .75rem; min-height: 2.75rem; }
.brief-file-caption { grid-column: 1 / -1; display: grid; gap: .45rem; font-size: .75rem; line-height: 1.5; }
.brief-file-caption input { width: 100%; min-width: 0; min-height: 2.75rem; font-size: 1rem; border: 1px solid #888; border-radius: .4rem; padding: .65rem; }
.brief-review-group { border: 1px solid var(--brief-line); border-radius: .75rem; margin: 1rem 0; padding: 1.25rem; min-width: 0; }
.brief-review-heading { display: flex; align-items: center; gap: 1rem; justify-content: space-between; margin-bottom: .75rem; }
.brief-review-heading h3 { font-size: .9375rem; line-height: 1.5; margin: 0; }
.brief-review-heading .brief-text-button { min-width: 2.75rem; flex: 0 0 auto; }
.brief-review-group dl { margin: 0; font-size: .875rem; line-height: 1.7; }
.brief-review-group dt { color: var(--brief-muted); margin: 1rem 0 .25rem; font-size: .75rem; }
.brief-review-group dt:first-child { margin-top: 0; }
.brief-review-group dd { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.brief-review-empty { color: var(--brief-muted); font-size: .8125rem; line-height: 1.6; }
.brief-review-files { display: flex; gap: .75rem; flex-wrap: wrap; }
.brief-review-file { min-width: 0; max-width: 8rem; }
.brief-review-file img { width: 8rem; height: 6rem; object-fit: contain; filter: none !important; border: 1px solid var(--brief-line); border-radius: .4rem; background: #f5f5f5; }
.brief-review-file p { font-size: .75rem; line-height: 1.6; overflow-wrap: anywhere; margin-top: .35rem; }
.brief-consent { padding: 1.25rem 0; margin-top: 1.5rem; border-top: 1px solid var(--brief-line); }
.brief-consent label { font-size: .875rem; }
.brief-consent a { text-decoration: underline; text-underline-offset: .2rem; }
.brief-send-note { color: var(--brief-muted); line-height: 1.7; font-size: .8125rem; overflow-wrap: anywhere; }
.brief-success { padding: clamp(1.5rem, 6vw, 5rem); text-align: center; max-width: 54rem; margin: auto; border: 1px solid var(--brief-line); border-radius: 1.25rem; background: #f8f8f8; }
.brief-success-symbol { display: grid; place-items: center; width: 4rem; height: 4rem; border-radius: 50%; color: #fff; background: #151515; font-size: 1.8rem; margin: 0 auto 1.5rem; }
.brief-success p:not(.brief-eyebrow) { color: var(--brief-muted); max-width: 40rem; margin: 1rem auto; font-size: .9375rem; line-height: 1.8; overflow-wrap: anywhere; }
.brief-success .brief-reference { font-family: var(--mono, monospace); font-size: .75rem !important; }
.brief-success-actions { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: .75rem; margin-top: 1.75rem; }
@media (max-width: 900px) { .brief-layout { grid-template-columns: 14rem minmax(0, 1fr); } .brief-sidebar { padding: 1.5rem 1rem; } .brief-main { padding: 1.5rem; } .brief-options { grid-template-columns: minmax(0, 1fr); } }
@media (min-width: 701px) and (max-width: 1050px) { .brief-style-grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 1050px) { .brief-palette-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) {
  .project-brief-page.content-page .page-header { min-height: 4.5rem; padding-block: .75rem; flex-wrap: nowrap; gap: .5rem; }
  .project-brief-page .page-header .wordmark { font-size: 1.125rem; gap: .35rem; white-space: nowrap; }
  .project-brief-page .page-header .brand-symbol { width: 2rem; height: 2rem; }
  .project-brief-page.content-page .page-nav { width: auto; margin-left: auto; }
  .project-brief-page .page-nav > a:not(.nav-contact) { display: none; }
  .project-brief-page.content-page .page-nav .nav-contact { width: auto; font-size: .6875rem; padding: .6rem; gap: .35rem; min-height: 2.75rem; }
  .project-brief-page .page-main { padding-top: 1rem; }
  .project-brief-page .breadcrumbs { font-size: .75rem; }
  .project-brief-page .page-intro { padding: 1.25rem 0; }
  .project-brief-page .page-intro > .eyebrow { display: none; }
  .project-brief-page .page-intro h1 { font-size: 1.85rem; margin-top: 0; max-width: 24ch; }
  .project-brief-page .page-intro .page-lead { font-size: .875rem; line-height: 1.65; margin-top: .75rem; }
  .brief-layout { grid-template-columns: minmax(0, 1fr); overflow: hidden; border-radius: .85rem; }
  .brief-sidebar { padding: 1rem; border-right: 0; border-bottom: 1px solid var(--brief-line); }
  .brief-brand, .brief-sidebar-note { display: none; }
  .brief-step-list { display: flex; overflow-x: auto; gap: .5rem; scrollbar-width: thin; padding-bottom: .6rem; }
  .brief-step-list li { flex: 0 0 auto; }
  .brief-step-link { width: auto; padding: .65rem .8rem; white-space: nowrap; border: 1px solid var(--brief-line); font-size: .75rem; background: #fff; }
  .brief-step-number { flex-basis: auto; font-size: .625rem; }
  .brief-step-check:empty { display: none; }
  .brief-draft { margin-top: .4rem; padding-top: .5rem; }
  .brief-draft-label { align-items: center; font-size: .75rem; min-height: 2.75rem; }
  .brief-draft > p { font-size: .6875rem; margin: 0; }
  .brief-draft .brief-text-button { display: inline-flex; margin-right: 1rem; }
  .brief-main { padding: 1.25rem; }
  .brief-style-grid { grid-template-columns: minmax(0, 1fr); }
  .brief-style-card, .brief-font-card { padding: .85rem; }
  .brief-style-samples { height: 9.5rem; }
  .brief-style-caption { font-size: .5625rem; }
  .brief-font-grid { grid-template-columns: minmax(0, 1fr); }
  .brief-font-card { min-height: 8.5rem; }
  .brief-font-card-top { font-size: .8125rem; }
  .brief-font-sample { font-size: 1.5rem; }
  .brief-reference-group { padding: 1rem; }
  .brief-social-row { grid-template-columns: 1.8rem minmax(0, 1fr); gap: .5rem; }
  .brief-social-mark { width: 1.8rem; height: 1.8rem; font-size: .75rem; }
  .brief-media-email { padding: 1rem; flex-direction: column; gap: .65rem; }
  .brief-media-email-actions { gap: .4rem; }
  .brief-media-email-actions .brief-button { width: 100%; font-size: .8125rem; padding-inline: .75rem; }
  .brief-project-options .brief-option > .brief-project-icon { flex-basis: 2rem; width: 2rem; height: 2rem; }
  .brief-project-icon svg { width: 1.4rem; height: 1.4rem; }
  .brief-project-options .brief-option { gap: .55rem; }
  .brief-palette { padding: .65rem; gap: .6rem; }
  .brief-palette-title { font-size: .75rem; min-height: 2.25rem; }
  .brief-palette-action { font-size: .625rem; }
  .brief-selected-palette { padding: .85rem; }
  .brief-selected-palette > div { align-items: flex-start; flex-direction: column; gap: .25rem; }
  .brief-selected-palette ul { gap: .7rem .5rem; }
  .brief-selected-palette li { font-size: .6875rem; gap: .4rem; }
  .brief-selected-palette li > i { width: 1.4rem; height: 1.4rem; flex-basis: 1.4rem; }
  .brief-progress { margin-bottom: 1.75rem; }
  #brief-answered-count { font-size: .6875rem; }
  .brief-panel-heading { margin-bottom: 1.25rem; }
  .brief-panel h2 { font-size: 1.7rem; }
  [data-brief-step="0"] .brief-panel-heading > .brief-eyebrow, [data-brief-step="0"] .brief-panel-heading > p:last-child { display: none; }
  [data-brief-step="0"] .brief-panel-heading h2 { margin-top: 0; }
  .brief-fields { gap: 1.5rem; }
  .brief-advanced summary { flex-wrap: wrap; gap: .25rem; }
  .brief-advanced summary .brief-optional { margin: 0; }
  .brief-navigation { align-items: stretch; }
  .brief-navigation > #brief-back { padding-inline: .9rem; }
  .brief-navigation-next { flex: 1; justify-content: flex-end; gap: .5rem; }
  .brief-navigation #brief-next { flex: 1; max-width: 13rem; }
  .brief-navigation #brief-skip { order: 2; width: 100%; justify-content: flex-end; min-height: 2.75rem; }
  .brief-review:has(~ .brief-navigation #brief-send:not([hidden])) + .brief-navigation { flex-direction: column-reverse; }
  #brief-send { width: 100%; }
  .brief-upload { padding: 1rem; }
  .brief-upload-heading { gap: .6rem; }
  .brief-upload-icon { width: 2rem; height: 2rem; flex-basis: 2rem; }
  .brief-dropzone { padding: .85rem; }
  .brief-file-label { width: 100%; padding-inline: .5rem; font-size: .8125rem; }
  .brief-review-group { padding: 1rem; }
  .brief-review-heading { gap: .5rem; }
  .brief-success-actions { flex-direction: column; align-items: stretch; }
}
@media (prefers-reduced-motion: reduce) { .project-brief *, .project-brief *::before, .project-brief *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; } }

/* Guided conversation: a single question, with optional navigation tucked away. */
.brief-layout { grid-template-columns: minmax(0,1fr); max-width: 850px; margin-inline:auto; }
.brief-sidebar { display:flex; align-items:center; flex-wrap:wrap; gap:1rem; border-right:0; border-bottom:1px solid var(--brief-line); padding:1rem 1.5rem; }
.brief-sidebar-note, .brief-sidebar .brief-brand span { display:none; }
.brief-sidebar .brief-draft { margin:0; padding:0; border:0; }
.brief-section-menu { flex:1; }
.brief-section-menu summary, .brief-draft summary { cursor:pointer; padding:.6rem; font-size:.8125rem; }
.brief-panel:not(.brief-review) > .brief-panel-heading, .brief-panel-footer { display:none; }
.brief-panel .brief-advanced { border:0; padding:0; margin:0; }
.brief-panel .brief-advanced > summary, .brief-panel .brief-advanced > .brief-hint { display:none; }
.brief-field > label, .brief-field > legend { font-size:clamp(1.25rem,3vw,1.8rem); line-height:1.3; margin-bottom:1.2rem; }
.brief-field > label .brief-optional, .brief-field > legend .brief-optional { display:block; margin:.5rem 0 0; }
.brief-question-tools { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.75rem; margin-top:1.5rem; font-size:.75rem; color:var(--brief-muted); }
.brief-question-tools label { display:flex; align-items:center; gap:.5rem; }
.brief-navigation { align-items:center; gap:.75rem; flex-wrap:wrap; }
.brief-navigation-next { flex-wrap:wrap; }
.brief-main { padding:clamp(1rem,4vw,2.5rem); }
.brief-progress { margin-bottom:1.75rem; }
.project-brief-page .page-intro { padding-block:1rem; }
.project-brief-page .page-intro .page-lead { display:block; max-width: 46rem; font-size: .9375rem; line-height: 1.65; }
@media(max-width:600px) { .brief-sidebar { padding:.75rem; gap:.5rem; } .brief-brand img { width:32px;height:32px;flex-basis:32px; } .brief-options { grid-template-columns:1fr; } .brief-navigation-next { gap:.5rem; } }
