/* Personalized brief preview and PDF print layout. */
.project-brief{--brief-ink:#161616;--brief-paper:#f3f3f0;--brief-line:#d3d3cd;--brief-lime:#dfff00}
.project-brief[hidden]{display:none}
.project-brief{grid-column:1/-1;min-width:0;background:var(--brief-paper);color:var(--brief-ink);border:1px solid var(--brief-ink);scroll-margin-top:24px}
.brief-toolbar{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 28px;border-bottom:1px solid var(--brief-line);flex-wrap:wrap}
.brief-toolbar h3{font-size:20px;font-weight:500;line-height:1.4;letter-spacing:-.5px;margin:0}
.brief-toolbar h3:focus{outline:none}
.brief-toolbar h3:focus-visible{outline:2px solid var(--brief-ink);outline-offset:5px}
.brief-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.brief-controls button{font:inherit;font-size:14px;font-weight:500;min-height:46px;padding:10px 16px;border:1px solid var(--brief-ink);background:transparent;color:var(--brief-ink);cursor:pointer}
.brief-controls button:first-child{background:var(--brief-ink);color:var(--brief-lime)}
.brief-controls button:hover{background:#e3e3da}
.brief-controls button:first-child:hover{background:#353535}
.brief-controls button:focus-visible{outline:3px solid var(--brief-ink);outline-offset:4px}
.brief-help{font-size:13px;line-height:1.7;padding:18px 28px;margin:0;border-bottom:1px solid var(--brief-line);color:#555}
.brief-document{font-family:'Space Grotesk',Arial,sans-serif;padding:44px 48px;color:var(--brief-ink,#161616);background:#fff;overflow-wrap:anywhere}
.brief-masthead{display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:2px solid var(--brief-ink);padding-bottom:22px;margin-bottom:30px}
.brief-document .brief-brand{display:flex;align-items:center;gap:10px;font-family:'Space Grotesk',Arial,sans-serif;font-size:28px;font-weight:700;letter-spacing:-1px;white-space:nowrap}
.brief-document .brand-proof{display:block;width:36px;height:30px;flex:none}
.brief-document .brand-period{color:var(--brief-ink)}
.brief-kicker{font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:500;letter-spacing:1px;line-height:1.7;margin:0;color:#555}
.brief-business{font-size:clamp(26px,3vw,40px);font-weight:500;line-height:1.2;letter-spacing:-1px;margin:12px 0 28px;max-width:900px}
.brief-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px 36px;margin:0 0 32px;padding:24px 0;border-top:1px solid var(--brief-line);border-bottom:1px solid var(--brief-line)}
.brief-fields>div{min-width:0}
.brief-fields dt{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.8px;color:#666;margin-bottom:6px}
.brief-fields dd{font-size:16px;line-height:1.6;margin:0;white-space:pre-wrap}
.brief-goals h4,.brief-goals h2{font-size:21px;line-height:1.4;letter-spacing:-.5px;font-weight:500;margin:0 0 16px}
.brief-goals p{font-size:16px;line-height:1.8;margin:0 0 32px;white-space:pre-wrap;overflow-wrap:anywhere}
.brief-note{font-size:13px;line-height:1.8;color:#555;border-left:3px solid var(--brief-lime);padding:0 0 0 16px;margin:0 0 28px}
.brief-local-notice{font-size:11px;line-height:1.8;color:#666;border-top:1px solid var(--brief-line);padding-top:18px;margin:0}
.brief-plan{border-top:12px solid var(--brief-paper)}
.brief-plan-client{font-size:12px;line-height:1.6;color:#555;margin:0 0 12px}
.brief-plan-client span{font-weight:500;color:var(--brief-ink)}
.brief-plan-title{font-size:clamp(28px,3vw,40px);line-height:1.2;font-weight:500;letter-spacing:-1px;margin:0 0 16px;max-width:800px}
.brief-plan-objective{font-size:16px;line-height:1.65;margin:0 0 24px;max-width:780px}
.brief-plan-context{padding:15px 18px;border-left:3px solid var(--brief-lime);background:#f7f7f3;margin:0 0 24px;max-width:800px}
.brief-plan-excerpt{font-size:13px;line-height:1.7;margin:7px 0 0;white-space:pre-wrap}
.brief-plan-section-label{margin-bottom:10px}
.brief-plan-steps{padding:0;list-style:none;margin:0 0 26px;max-width:800px}
.brief-plan-steps>li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:16px;padding:16px 0;border-bottom:1px solid var(--brief-line)}
.brief-plan-step-number{font-family:'IBM Plex Mono',monospace;font-size:11px;color:#666;padding-top:3px}
.brief-plan-steps h5{font-size:18px;font-weight:500;line-height:1.4;letter-spacing:-.3px;margin:0 0 7px}
.brief-plan-steps p{font-size:14px;line-height:1.65;margin:0}
.brief-plan-bottom{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;margin:0 0 22px;max-width:800px}
.brief-plan-bottom h5{font-size:17px;font-weight:500;line-height:1.5;margin:0 0 10px;letter-spacing:-.3px}
.brief-plan-bottom ul{font-size:13px;line-height:1.65;padding-left:16px;margin:0}
.brief-plan-bottom li{margin-bottom:8px}
.brief-plan-next{font-size:13px;line-height:1.65;margin:0 0 16px;max-width:800px}
.brief-plan-notice{border-top:1px solid var(--brief-line);padding-top:14px;font-size:11px;line-height:1.65;color:#555;margin:0;max-width:800px}
@media(max-width:760px){
  .brief-toolbar{padding:18px;gap:16px}
  .brief-controls{gap:10px;width:100%}
  .brief-controls button{flex:1 1 auto;padding:10px 12px}
  .brief-help{padding:16px 18px}
  .brief-document{padding:28px 20px}
  .brief-masthead{gap:16px;align-items:flex-start;flex-wrap:wrap;margin-bottom:24px}
  .brief-fields{grid-template-columns:minmax(0,1fr);gap:18px;padding:20px 0}
  .brief-business{font-size:30px;letter-spacing:-.6px}
  .brief-plan-bottom{grid-template-columns:minmax(0,1fr);gap:20px}
  .brief-plan-title{font-size:30px;letter-spacing:-.6px}
  .brief-plan-steps>li{grid-template-columns:24px minmax(0,1fr);gap:12px}
}
@media print{
  @page{size:A4;margin:17mm 16mm}
  body.brief-printing{margin:0!important;padding:0!important;background:#fff!important;color:#161616!important}
  body.brief-printing>header,body.brief-printing>main,body.brief-printing .footer-meta,body.brief-printing #contact>:not(.project-brief){display:none!important}
  body.brief-printing .site-footer,body.brief-printing #contact{display:block!important;margin:0!important;padding:0!important;border:0!important;background:#fff!important;max-width:none!important;width:auto!important}
  body.brief-printing .project-brief{display:block!important;margin:0!important;padding:0!important;border:0!important;background:#fff!important}
  body.brief-printing .brief-toolbar,body.brief-printing .brief-help,body.brief-printing .brief-offline-help{display:none!important}
  body.brief-printing .brief-document{padding:0;margin:0;max-width:none;background:#fff;font-size:11pt;overflow:visible}
  body.brief-printing .brief-masthead{break-inside:avoid;padding-bottom:5mm;margin-bottom:8mm}
  body.brief-printing .brief-business{font-size:24pt;line-height:1.2;margin:3mm 0 7mm}
  body.brief-printing .brief-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:5mm 9mm;padding:6mm 0;margin-bottom:8mm}
  body.brief-printing .brief-fields>div{break-inside:avoid}
  body.brief-printing .brief-fields dd,body.brief-printing .brief-goals p{font-size:11pt;line-height:1.7}
  body.brief-printing .brief-goals h4,body.brief-printing .brief-goals h2{font-size:15pt;break-after:avoid}
  body.brief-printing .brief-goals p{orphans:3;widows:3}
  body.brief-printing .brief-note{border-color:#161616;break-inside:avoid}
  body.brief-printing .brief-local-notice{break-inside:avoid}
  body.brief-printing .brief-plan{break-before:page;border-top:0}
  body.brief-printing .brief-plan .brief-masthead{margin-bottom:5mm}
  body.brief-printing .brief-plan-client{font-size:8.5pt;margin-bottom:3mm}
  body.brief-printing .brief-plan-title{font-size:24pt;line-height:1.15;margin-bottom:3mm}
  body.brief-printing .brief-plan-objective{font-size:10pt;line-height:1.5;margin-bottom:4mm}
  body.brief-printing .brief-plan-context{background:none;padding:0 0 0 12pt;border-color:#161616;margin-bottom:4mm;break-inside:avoid}
  body.brief-printing .brief-plan-excerpt{font-size:9pt;line-height:1.5;margin-top:1.5mm}
  body.brief-printing .brief-plan-section-label{font-size:8pt;margin-bottom:2mm}
  body.brief-printing .brief-plan-steps{margin-bottom:4mm}
  body.brief-printing .brief-plan-steps>li{grid-template-columns:24pt minmax(0,1fr);gap:12pt;padding:3mm 0;break-inside:avoid}
  body.brief-printing .brief-plan-step-number{font-size:8pt;padding-top:2pt}
  body.brief-printing .brief-plan-steps h5{font-size:11pt;line-height:1.4;margin-bottom:1.5mm}
  body.brief-printing .brief-plan-steps p{font-size:9.5pt;line-height:1.5}
  body.brief-printing .brief-plan-bottom{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24pt;margin-bottom:3mm}
  body.brief-printing .brief-plan-bottom section{break-inside:avoid}
  body.brief-printing .brief-plan-bottom h5{font-size:10.5pt;margin-bottom:2mm}
  body.brief-printing .brief-plan-bottom ul{font-size:8.5pt;line-height:1.5}
  body.brief-printing .brief-plan-bottom li{margin-bottom:1.5mm;break-inside:avoid}
  body.brief-printing .brief-plan-next{font-size:9pt;line-height:1.5;margin-bottom:3mm;break-inside:avoid}
  body.brief-printing .brief-plan-notice{font-size:8pt;line-height:1.5;padding-top:3mm;break-inside:avoid}
}

.brief-insights{border-top:12px solid #f3f3f0}
.brief-insights-title{font-size:clamp(28px,3vw,40px);font-weight:500;line-height:1.2;letter-spacing:-1px;margin:0 0 18px}
.brief-insights-intro,.brief-insights-close{font-size:15px;line-height:1.7;margin:0 0 26px;max-width:750px}
.brief-readiness{--label-width:210px;--plot-gap:18px;--plot-end:36px;margin:30px 0 28px;padding:22px 0 20px;border-top:1px solid var(--brief-line);border-bottom:1px solid var(--brief-line);max-width:800px}
.brief-readiness h5{font-size:19px;line-height:1.4;font-weight:500;margin:10px 0 8px;letter-spacing:-.3px}
.brief-chart-sample,.brief-chart-note,.brief-connection-sample{font-size:11px;line-height:1.6;color:#555;margin:0}
.brief-readiness-data{list-style:none;padding:0;margin:22px 0 12px}
.brief-readiness-row{display:grid;grid-template-columns:var(--label-width) minmax(0,1fr);gap:var(--plot-gap);align-items:center;min-height:48px;padding:4px 0;font-size:13px;line-height:1.45}
.brief-chart-label{max-width:var(--label-width)}
.brief-chart-track{position:relative;display:block;height:20px;margin-right:var(--plot-end)}
.brief-chart-guide{position:absolute;inset:0;width:100%;height:100%}
.brief-chart-point{position:absolute;left:var(--point);top:50%;display:flex;align-items:center;gap:7px;transform:translate(-6px,-50%);white-space:nowrap}
.brief-chart-point svg{display:block;width:12px;height:12px;flex:none}
.brief-chart-point b{font-size:12px;font-weight:500}
.brief-chart-axis{position:relative;display:flex;justify-content:space-between;margin:0 var(--plot-end) 18px calc(var(--label-width) + var(--plot-gap));font-size:10px;line-height:1.5;color:#666}
.brief-chart-axis span{transform:translateX(-50%)}
.brief-chart-axis span:last-child{transform:translateX(50%)}
.brief-chart-note{max-width:680px}
.brief-connection{max-width:800px;margin:0 0 28px}
.brief-connection-finding{display:flex;align-items:flex-start;gap:24px;margin-top:12px}
.brief-connection-value{font-size:34px;line-height:1.15;letter-spacing:-1px;font-weight:500;margin:0;flex:none}
.brief-connection-label{font-size:16px;line-height:1.5;margin:0 0 6px;max-width:530px}
.brief-practical{border-left:3px solid var(--brief-lime);padding-left:18px;margin:0 0 22px;max-width:800px}
.brief-practical h5{font-size:18px;line-height:1.45;font-weight:500;letter-spacing:-.3px;margin:0 0 8px}
.brief-practical .brief-insights-close{font-size:14px;line-height:1.65;margin:0}
.brief-research-note{font-size:11px;line-height:1.65;color:#555;margin:0 0 18px;max-width:800px}
.brief-sources{border-top:1px solid var(--brief-line);padding-top:16px;font-size:10px;line-height:1.7}
.brief-sources p{margin:0 0 5px}
.brief-sources a{color:#161616;text-decoration:underline;text-underline-offset:3px}
.brief-source-scope{color:#555}
@media(max-width:760px){
  .brief-readiness{--label-width:155px;--plot-gap:12px;--plot-end:30px}
  .brief-readiness-row{font-size:12px;min-height:52px}
  .brief-connection-finding{gap:16px}
  .brief-connection-label{font-size:14px}
}
@media(max-width:520px){
  .brief-readiness-row{grid-template-columns:minmax(0,1fr);gap:8px;padding:9px 0;min-height:0}
  .brief-chart-label{max-width:none;font-size:13px}
  .brief-chart-track{margin-left:6px}
  .brief-chart-axis{margin-left:6px}
  .brief-insights .brief-kicker{font-size:10px;letter-spacing:.7px}
  .brief-connection-finding{display:block}
  .brief-connection-value{margin-bottom:10px}
}
@media print{
  body.brief-printing .brief-insights{break-before:page;border-top:0}
  body.brief-printing .brief-insights .brief-masthead{padding-bottom:5mm;margin-bottom:6mm}
  body.brief-printing .brief-insights-title{font-size:25pt;line-height:1.12;margin:0 0 4mm}
  body.brief-printing .brief-insights-intro{font-size:10pt;line-height:1.5;margin:0 0 5mm}
  body.brief-printing .brief-readiness{--label-width:155pt;--plot-gap:16pt;--plot-end:30pt;margin:0 0 5mm;padding:4mm 0;break-inside:avoid}
  body.brief-printing .brief-readiness h5{font-size:12pt;line-height:1.4;margin:2mm 0 1.5mm}
  body.brief-printing .brief-chart-sample,body.brief-printing .brief-chart-note,body.brief-printing .brief-connection-sample{font-size:8.5pt;line-height:1.5}
  body.brief-printing .brief-readiness-data{margin:4mm 0 2mm}
  body.brief-printing .brief-readiness-row{grid-template-columns:var(--label-width) minmax(0,1fr);min-height:29pt;padding:2pt 0;gap:var(--plot-gap);font-size:10pt}
  body.brief-printing .brief-chart-label{font-size:10pt;max-width:var(--label-width)}
  body.brief-printing .brief-chart-track{margin-left:0}
  body.brief-printing .brief-chart-point b{font-size:9pt}
  body.brief-printing .brief-chart-axis{font-size:8pt;margin:0 var(--plot-end) 3mm calc(var(--label-width) + var(--plot-gap))}
  body.brief-printing .brief-connection{margin:0 0 5mm;break-inside:avoid}
  body.brief-printing .brief-connection-finding{display:flex;gap:18pt;margin-top:2.5mm}
  body.brief-printing .brief-connection-value{font-size:30pt;margin:0}
  body.brief-printing .brief-connection-label{font-size:10.5pt;line-height:1.5;margin-bottom:1mm}
  body.brief-printing .brief-practical{padding-left:12pt;margin:0 0 4mm;break-inside:avoid;border-color:#161616}
  body.brief-printing .brief-practical h5{font-size:12pt;margin-bottom:2mm}
  body.brief-printing .brief-practical .brief-insights-close{font-size:10pt;line-height:1.5;margin:0}
  body.brief-printing .brief-research-note{font-size:8.5pt;line-height:1.5;margin-bottom:3mm}
  body.brief-printing .brief-sources{font-size:8pt;line-height:1.5;padding-top:3mm;break-inside:avoid}
  body.brief-printing .brief-sources a{color:#161616;text-decoration:none}
}
