.brief-layout{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.5fr);min-height:calc(100svh - 96px)}
.brief-aside{background:var(--green);color:white;padding:65px clamp(25px,4vw,65px);display:flex;flex-direction:column;align-items:flex-start;position:relative}
.brief-aside h1{font-size:clamp(32px,3.3vw,54px);line-height:1.1;font-weight:400;letter-spacing:-1.8px;margin:70px 0 28px}.brief-aside h1 em{font-family:Georgia,serif;font-weight:400}.brief-aside>p{font-size:16px;line-height:1.7;max-width:350px;color:#e2ebe5}.brief-aside-bottom{display:grid;gap:14px;margin-top:auto;padding-top:80px;font-size:14px;line-height:1.5}.brief-aside-bottom span:last-child{max-width:240px;color:#c8d8cf}
.brief-workspace{padding:32px clamp(22px,4vw,70px) 50px;max-width:1150px;width:100%}.brief-preview{font-size:14px;line-height:1.5;background:var(--surface);padding:12px 16px;margin-bottom:30px;border-left:2px solid var(--green)}.brief-progress-row{display:flex;justify-content:space-between;font-size:14px;gap:15px}.brief-progress-row>span:first-child{font-variant-numeric:tabular-nums;letter-spacing:1px}#brief-progress{display:block;width:100%;height:2px;border:0;background:var(--line);margin:16px 0 40px;appearance:none}#brief-progress::-webkit-progress-bar{background:var(--line)}#brief-progress::-webkit-progress-value{background:var(--green);transition:width .35s}#brief-progress::-moz-progress-bar{background:var(--green)}
#brief-step h2{font-size:clamp(28px,3vw,40px);font-weight:400;letter-spacing:-.9px;line-height:1.2;margin-bottom:15px}#brief-step h2:focus{outline:none}.brief-hint{font-size:16px;line-height:1.6;color:var(--muted);margin-bottom:28px}.brief-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.brief-option{position:relative;text-align:left;border:1px solid var(--line);padding:23px 22px;min-height:82px;font-size:17px;line-height:1.3;background:white;transition:background .2s,border-color .2s}.brief-option:hover{border-color:var(--green);background:var(--surface)}.brief-option[aria-pressed=true]{border-color:var(--green);background:var(--green);color:white}.brief-option[aria-pressed=true]::after{content:'✓';position:absolute;right:12px;top:10px;font-size:14px}.brief-option small{display:block;font-size:14px;margin-top:10px;opacity:.8}
.brief-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:35px;padding-top:24px;border-top:1px solid var(--line)}.brief-actions button{font-size:16px;min-height:48px}.brief-primary{background:var(--green);color:white;padding:16px 30px;min-width:145px}.brief-primary:hover{background:#0d3024}#brief-back{padding:12px 0}#brief-error{color:#993522;font-size:15px;line-height:1.5;margin-top:18px}#brief-error:empty{display:none}
.brief-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px}.brief-field{display:flex;flex-direction:column;gap:10px;font-size:16px;line-height:1.4}.brief-field.wide{grid-column:1/-1}.brief-field input,.brief-field select,.brief-field textarea{width:100%;font:inherit;line-height:1.5;padding:14px 12px;border:1px solid #a7b3aa;border-radius:0;background:white;color:var(--ink);min-width:0}.brief-field textarea{resize:vertical;min-height:95px}.brief-field input:focus-visible,.brief-field select:focus-visible,.brief-field textarea:focus-visible{outline:2px solid var(--green);outline-offset:2px}.brief-field small{color:var(--muted);font-size:14px}.brief-section-label{font-size:16px;font-weight:400;margin:28px 0 14px}.brief-check{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.6;margin-top:25px}.brief-check input{accent-color:var(--green);width:18px;height:18px;flex-shrink:0;margin-top:3px}.brief-storage{font-size:14px;color:var(--muted);line-height:1.5;margin-top:10px}
.brief-style-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.brief-style{padding:0;border:1px solid var(--line);background:white;text-align:left;overflow:hidden;position:relative}.brief-style[aria-pressed=true]{outline:2px solid var(--green);outline-offset:2px}.brief-style[aria-pressed=true]::after{content:'✓';display:grid;place-items:center;position:absolute;right:9px;top:9px;width:28px;height:28px;background:var(--green);color:white;border-radius:50%}.brief-style-image{display:block;aspect-ratio:1;background-size:300% 200%;background-repeat:no-repeat}.brief-style-label{display:block;padding:13px 11px;font-size:16px;line-height:1.3}.brief-style-label small{display:block;font-size:14px;color:var(--muted);margin-top:7px;line-height:1.4}.brief-reference-note{font-size:14px;line-height:1.5;color:var(--muted);margin:16px 0 22px}.brief-summary{margin:0}.brief-summary-row{display:grid;grid-template-columns:minmax(110px,.75fr) minmax(0,1.25fr);gap:20px;border-bottom:1px solid var(--line);padding:17px 0;font-size:16px;line-height:1.55;overflow-wrap:anywhere}.brief-summary dt{color:var(--muted)}.brief-summary dd{margin:0}.brief-download-note{font-size:14px;color:var(--muted);line-height:1.6;margin-top:18px}.brief-link{display:inline-block;margin-top:22px;border-bottom:1px solid;padding-bottom:4px;font-size:15px}.brief-empty{border:1px solid var(--line);padding:25px;line-height:1.65}
@media(max-width:1050px){.brief-layout{grid-template-columns:300px minmax(0,1fr)}.brief-style-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.brief-workspace{padding-left:25px;padding-right:25px}}
@media(max-width:760px){.brief-layout{display:block}.brief-aside{padding:28px var(--pad)}.brief-aside>.eyebrow,.brief-aside-bottom{display:none}.brief-aside h1{font-size:32px;letter-spacing:-1px;margin:0 0 15px}.brief-aside h1 br{display:none}.brief-aside h1 em::before{content:' '}.brief-aside>p{max-width:100%;font-size:15px}.brief-workspace{padding:25px var(--pad) 45px}.brief-choice-grid{gap:10px}.brief-option{padding:20px 15px;font-size:16px}.brief-fields{gap:20px 14px}.brief-preview{margin-bottom:25px}#brief-progress{margin-bottom:30px}.brief-summary-row{grid-template-columns:1fr;gap:6px}.brief-layout~.footer{display:none}}
@media(max-width:380px){.brief-fields{grid-template-columns:1fr}.brief-style-grid{gap:10px}.brief-style-label{font-size:14px}.brief-style-label small{font-size:14px}}

.brief-trap{position:absolute;left:-10000px;width:1px;height:1px}.brief-actions[hidden]{display:none}.brief-primary:disabled{opacity:.55;cursor:wait}
@media(max-width:600px){body[data-page="brief"] .header-right{flex-direction:column;align-items:flex-end;gap:4px}body[data-page="brief"] .header-right>a{font-size:14px;white-space:nowrap}}
