/* Spacious, one-at-a-time choices. Each closed bubble keeps its answer visible. */
.brief-stage__content { grid-template-columns:minmax(0,1.08fr) minmax(360px,.86fr); gap:clamp(28px,4vw,64px); width:min(100%,1540px); min-height:100svh; padding:94px clamp(24px,4.5vw,76px) 28px; align-items:center; }
.brief-copy { min-width:0; max-width:none; }
.brief-copy .flow-kicker { font-size:9px; }
.brief-copy h1 { margin:16px 0 8px; font-size:clamp(32px,3.1vw,48px); letter-spacing:-.055em; line-height:1.16; }
.brief-copy > p { margin:0 0 12px; color:#70829e; font-size:13px; }
.brief-copy .incoming-idea { max-width:none; min-height:60px; padding:11px 15px; border-radius:17px; border-color:#dbe5f9; background:linear-gradient(110deg,#eef4ff,#fff); }
.incoming-idea .one-avatar { flex:0 0 28px; width:28px; height:28px; }
.brief-copy .incoming-idea small { color:#7091c6; font-size:10px; font-weight:500; letter-spacing:0; }
.brief-copy .incoming-idea strong { color:#304868; font-size:12px; line-height:1.6; }
.brief-command-board { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:14px; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.brief-field--wide { grid-column:auto; }
.brief-field { position:relative; padding:0; border:1px solid #e0e7f4; border-radius:22px; overflow:hidden; background:rgba(255,255,255,.9); box-shadow:0 4px 16px #294d8d04; transition:border-color .3s,box-shadow .3s,background .3s; }
.brief-field:hover { background:#fff; border-color:#bbcffa; }
.brief-field.is-open { grid-column:1 / -1; border-color:#adc4fa; border-radius:26px; background:linear-gradient(135deg,#fff 55%,#f4f8ff); box-shadow:0 12px 34px #2f63f211; }
.brief-field header { display:block; margin:0; }
.brief-bubble-toggle { display:flex; align-items:center; gap:12px; width:100%; min-height:54px; padding:10px 16px; border:0; color:#14213d; background:transparent; text-align:left; cursor:pointer; }
.brief-field header .brief-bubble-toggle > i { display:grid; place-items:center; flex:0 0 31px; height:31px; border:1px solid #e1e9f8; border-radius:50%; color:#8097bb; background:#f8faff; font-size:10px; font-weight:600; font-style:normal; transition:color .3s,background .3s,transform .3s; }
.brief-bubble-toggle > span { display:flex; align-items:center; flex:1; min-width:0; gap:17px; }
.brief-field:not(.is-open) .brief-bubble-toggle > span { display:block; }
.brief-field:not(.is-open) .brief-bubble-summary { margin-top:4px; }
.brief-field header .brief-bubble-toggle strong { flex:0 0 auto; color:#314965; font-size:14px; font-weight:600; }
.brief-field header .brief-bubble-summary { display:block; min-width:0; overflow:hidden; margin:0; color:#899bb5; font-size:11px; text-overflow:ellipsis; white-space:nowrap; text-align:left; }
.brief-bubble-count { flex:0 0 auto; padding:4px 7px; border-radius:100px; color:#859bc0; background:#f1f5fc; font-size:9px; font-style:normal; }
.brief-bubble-toggle > b { flex:0 0 16px; color:#8da4c8; font-size:15px; font-weight:400; line-height:1; transition:transform .3s; }
.brief-field.is-open .brief-bubble-toggle { min-height:66px; padding-top:14px; }
.brief-field.is-open header .brief-bubble-toggle > i { color:#fff; border-color:#2f63f2; background:#2f63f2; box-shadow:0 5px 17px #2f63f226; transform:scale(1.06); }
.brief-field.is-open header .brief-bubble-toggle strong { color:#234eb1; font-size:16px; }
.brief-field.is-open .brief-bubble-toggle > b { transform:rotate(45deg); color:#2f63f2; }
.brief-bubble-body { padding:0 17px 14px; transform-origin:50% 0; animation:brief-bubble-open .34s cubic-bezier(.2,.75,.2,1) both; }
.brief-bubble-body[hidden] { display:none; }
.brief-options,.brief-options--compact { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; padding:0; overflow:visible; }
.brief-options button,.brief-options--compact button { position:relative; min-width:0; min-height:48px; padding:9px 10px; border:1px solid #dbe4f4; border-radius:16px; color:#5c7293; background:#fff; font-size:13px; line-height:1.4; white-space:normal; transition:transform .2s,background .2s,border-color .2s,box-shadow .2s; }
.brief-options button:hover { transform:translateY(-3px); border-color:#9bb8fa; color:#2f63f2; box-shadow:0 7px 16px #2f63f20d; }
.brief-options button.is-selected { border-color:#2f63f2; color:#2f63f2; background:#edf3ff; box-shadow:0 0 0 1px #2f63f210; font-weight:600; }
.brief-options button.is-selected::after { content:"✓"; position:absolute; top:-5px; right:-4px; display:grid; place-items:center; width:16px; height:16px; border:2px solid #fff; border-radius:50%; color:#fff; background:#2f63f2; font-size:9px; animation:brief-tick-in .25s ease both; }
.brief-bubble-body > footer { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:12px; }
.brief-bubble-note { color:#8d9eb9; font-size:10px; }
.brief-bubble-body > footer button { display:flex; align-items:center; gap:16px; min-height:32px; padding:0 12px; border:0; border-radius:100px; color:#2f63f2; background:#edf3ff; font-size:11px; cursor:pointer; }
.brief-bubble-body > footer button:hover { color:#fff; background:#2f63f2; }
.brief-bubble-body > footer button i { font-style:normal; }
.brief-field.is-recorded:not(.is-open) .brief-bubble-count { color:#178261; background:#eaf8f1; }
.brief-field button:focus-visible { outline:3px solid #16c3e0; outline-offset:2px; }
.brief-action-row { display:flex; align-items:center; gap:20px; margin-top:16px; }
.brief-action-row .flow-primary-button { height:48px; min-width:220px; border-radius:100px; font-size:13px; }
.brief-action-row > small { color:#8195b4; font-size:10px; }
.brief-action-row > small b { color:#2f63f2; }
.living-brief { width:100%; min-height:0; padding:26px; border:1px solid #dfe7f5; border-radius:30px; background:linear-gradient(145deg,#fff 55%,#f0f6ff); box-shadow:0 24px 70px #315bad0b; }
.living-brief::before { opacity:.25; }
.living-brief__head { gap:12px; padding-bottom:20px; }
.living-brief__head small { font-size:10px; }
.living-brief__head strong { color:#263f60; font-size:15px; }
.living-brief__head em { font-size:9px; }
.living-brief .brief-signal { margin-top:14px; padding:16px; border-radius:17px; }
.living-brief .brief-signal > span { font-size:10px; }
.living-brief .brief-signal > strong { margin:9px 0; color:#2f63f2; font-size:clamp(13px,1.2vw,18px); line-height:1.5; }
.living-brief .signal-wave { height:22px; }
.brief-facts { margin-top:18px; }
.brief-facts > div { min-height:48px; grid-template-columns:75px minmax(0,1fr) auto; gap:12px; padding-block:9px; }
.brief-facts dt { color:#8597b2; font-size:11px; }
.brief-facts dd,.brief-facts dd span { color:#354e70; font-size:12px; line-height:1.65; overflow-wrap:anywhere; }
.brief-facts > div > em { font-size:9px; color:#9aabc3; }
.brief-output-map { margin-top:20px; }
.brief-output-map > small { color:#8296b7; font-size:10px; }
.brief-output-map > div { gap:9px; margin-top:11px; }
.brief-output-map span { min-height:56px; padding:10px; border-radius:14px; gap:5px 10px; }
.brief-output-map b { color:#344e73; font-size:12px; }
.brief-output-map em { color:#8c9db7; font-size:9px; line-height:1.5; }
.brief-boundary { margin-top:15px; color:#8b9db8; font-size:10px; line-height:1.7; }
.brief-boundary p { font-size:10px; line-height:1.7; }
@keyframes brief-bubble-open { from{opacity:0;transform:translateY(-8px) scale(.985)}to{opacity:1;transform:none} }
@keyframes brief-tick-in { from{transform:scale(.3);opacity:0}to{transform:scale(1);opacity:1} }
@media(min-width:1200px) and (max-height:860px){
  .brief-stage__content { align-items:start; padding-top:87px; }
  .brief-copy h1 { font-size:34px; margin-top:10px; }
  .brief-copy .incoming-idea { min-height:52px; padding-block:8px; }
  .brief-command-board { gap:6px; margin-top:10px; }
  .brief-bubble-toggle { min-height:46px; padding-block:7px; }
  .brief-field.is-open .brief-bubble-toggle { min-height:56px; padding-top:10px; }
  .brief-options button { min-height:46px; }
  .brief-action-row { margin-top:10px; }
  .living-brief { padding:22px; }
}
@media(max-width:1100px){
  .brief-stage__content { grid-template-columns:minmax(0,1fr) minmax(300px,.76fr); gap:22px; padding-inline:24px; align-items:start; }
  .brief-copy h1 { font-size:34px; }
  .brief-bubble-toggle { gap:9px; padding-inline:12px; }
  .brief-bubble-toggle > span { gap:10px; }
  .brief-field header .brief-bubble-summary { max-width:160px; }
  .brief-options button { font-size:11px; }
  .living-brief { padding:20px; }
  .brief-facts > div { grid-template-columns:64px minmax(0,1fr); }
  .brief-facts > div > em { display:none; }
  .living-brief__head em { display:none; }
  .brief-output-map span { padding:9px; }
}
@media(max-width:800px){
  .brief-stage__content { grid-template-columns:1fr; gap:26px; padding:96px 19px 36px; }
  .brief-copy h1 { font-size:39px; }
  .brief-field header .brief-bubble-summary { max-width:none; }
  .brief-bubble-toggle { min-height:59px; }
  .brief-field.is-open .brief-bubble-toggle { min-height:68px; }
  .brief-options button { min-height:49px; font-size:13px; }
  .brief-facts > div { grid-template-columns:85px minmax(0,1fr) auto; }
  .brief-facts > div > em { display:block; }
}
@media(max-width:480px){
  .brief-stage__content { padding:94px 14px 28px; }
  .brief-copy h1 { font-size:34px; }
  .brief-bubble-toggle > span { display:block; }
  .brief-field header .brief-bubble-summary { max-width:205px; margin-top:4px; font-size:10px; }
  .brief-field header .brief-bubble-toggle strong { font-size:14px; }
  .brief-options { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .brief-command-board { grid-template-columns:1fr; }
  .brief-options button { font-size:12px; }
  .brief-action-row { gap:12px; }
  .brief-action-row .flow-primary-button { min-width:190px; }
  .brief-action-row > small { font-size:9px; }
  .living-brief { padding:18px; }
  .brief-facts > div { grid-template-columns:70px minmax(0,1fr); }
  .brief-facts > div > em { display:none; }
}
@media(prefers-reduced-motion:reduce){
  .brief-field,.brief-field * { animation:none!important; transition:none!important; }
}
