:root{--ink:#161a24;--muted:#606b7e;--blue:#5875eb;--line:#dbe0ed;--bg:#f7f8fb}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;overflow-x:hidden;background:var(--bg);color:var(--ink);font:16px/1.6 'DM Sans',sans-serif}button,input,textarea{font:inherit}a{color:inherit}.shell{width:min(1210px,calc(100% - 48px));margin:auto}.skip-link{position:absolute;left:-9999px;top:10px;background:#fff;padding:10px;z-index:10}.skip-link:focus{left:10px}.brief-header{background:#11151e;color:#fff}.brief-header .shell{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;font:700 18px Manrope,sans-serif}.brand span{display:grid;place-items:center;width:43px;height:43px;border-radius:10px;background:var(--blue);font-weight:800}.back-link{color:#c8d1e4;font-size:14px;text-decoration:none}.back-link:hover{text-decoration:underline}.intro{max-width:890px;padding:76px 0 60px}.eyebrow,.sidebar-label{color:#5270df;font-size:12px;font-weight:800;letter-spacing:.14em}.intro h1{margin:15px 0 16px;font:800 clamp(39px,5.4vw,68px)/1.08 Manrope,sans-serif;letter-spacing:-.065em}.intro h1 em{font-style:normal;color:#637be6}.intro>p:not(.eyebrow){max-width:720px;color:var(--muted);font-size:18px}.intro-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.intro-meta span{padding:7px 12px;border:1px solid #d7def0;border-radius:99px;background:#fff;color:#425173;font-size:13px;font-weight:700}.brief-layout{display:grid;grid-template-columns:265px minmax(0,1fr);gap:44px;padding-bottom:120px}.sidebar-sticky{position:sticky;top:20px}.sidebar-label{margin:0 0 13px}.progress-track{height:6px;border-radius:99px;background:#dce2ee;overflow:hidden}.progress-track span{display:block;height:100%;width:0;background:var(--blue);transition:width .2s}.progress-text{margin:10px 0 20px;color:var(--muted);font-size:13px}#step-nav{display:grid;max-height:calc(100vh - 195px);overflow:auto;gap:4px}#step-nav button{width:100%;display:flex;align-items:center;gap:12px;padding:10px 12px;border:0;border-radius:9px;background:none;color:#657084;text-align:left;font-size:13px;cursor:pointer}#step-nav button:hover{background:#e9edfa}#step-nav button[aria-current=step]{background:#e9eeff;color:#2945ae;font-weight:800}#step-nav b{flex:none;display:grid;place-items:center;width:27px;height:27px;border:1px solid #d4dbee;border-radius:7px;font-size:11px}.clear-draft{margin:20px 0 0;padding:0;border:0;background:none;color:#66738a;font-size:12px;text-align:left;text-decoration:underline;cursor:pointer}.brief-workspace{min-width:0}.step-panel{min-height:360px;padding:clamp(26px,5vw,62px);border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 18px 55px rgba(20,31,58,.05)}.step-kicker{margin:0 0 11px;color:#5270df;font-size:12px;font-weight:800;letter-spacing:.12em}.step-panel h2{margin:0 0 12px;font:800 clamp(29px,4vw,44px)/1.15 Manrope,sans-serif;letter-spacing:-.045em}.step-lead{max-width:680px;margin:0 0 34px;color:var(--muted)}.form-section{margin:36px 0 0;padding-top:32px;border-top:1px solid var(--line)}.form-section h3{margin:0 0 8px;font:800 19px Manrope,sans-serif;letter-spacing:-.02em}.form-section>p{margin:0;color:var(--muted);font-size:14px}.question{display:block;margin:25px 0 0}.question>span,.choice-group legend{display:block;margin:0 0 9px;color:var(--ink);font-size:15px;font-weight:700;overflow-wrap:anywhere}.question input,.question textarea{display:block;width:100%;min-height:49px;padding:12px 14px;border:1px solid #cbd2e0;border-radius:9px;background:#fbfcff;color:var(--ink);font-size:16px}.question textarea{min-height:105px;resize:vertical}.question small{display:block;margin-top:5px;color:var(--muted);font-size:13px}.question-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.choice-group{margin:26px 0 0;padding:0;border:0}.choice-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.choice{display:flex;align-items:flex-start;gap:9px;min-height:47px;padding:11px;border:1px solid #d9deea;border-radius:9px;line-height:1.35;font-size:14px;cursor:pointer}.choice:has(input:checked){border-color:#7389ee;background:#f0f3ff}.choice input{flex:none;width:17px;height:17px;margin:1px 0 0;accent-color:#5270df}.question input:focus-visible,.question textarea:focus-visible,.choice:focus-within,.button:focus-visible,#step-nav button:focus-visible{outline:3px solid #8095ef;outline-offset:2px}.step-note{margin:32px 0 0;padding:18px;border-radius:11px;background:#f0f3fa;color:#4e5a72;font-size:14px}.consent{display:flex;align-items:flex-start;gap:11px;margin:30px 0 0;font-size:14px}.consent input{width:18px;height:18px;flex:none;accent-color:#5270df}.consent a,.brief-footnote a{color:#3454c4}.form-actions{display:flex;justify-content:flex-end;gap:11px;margin-top:22px}.button{min-height:49px;padding:12px 19px;border-radius:9px;border:1px solid transparent;font-weight:800;cursor:pointer}.button.primary{background:#5875eb;color:#fff}.button.secondary{background:#fff;border-color:#d7deed;color:#39445a}.button:hover{filter:brightness(.95)}.button:disabled{opacity:.6;cursor:wait}.form-status{margin-top:16px;padding:16px;border-radius:10px;background:#eaf7ef;color:#24623a}.form-status.error{background:#fff0f0;color:#9b3030}.brief-footnote{margin-top:27px;color:#667085;font-size:13px}.success-panel{padding:54px;border-radius:18px;background:#fff;border:1px solid var(--line)}.success-panel h2{font:800 36px Manrope,sans-serif;letter-spacing:-.04em}.success-panel a{color:#3454c4;font-weight:700}@media(max-width:930px){.brief-layout{grid-template-columns:1fr;gap:24px}.sidebar-sticky{position:static;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff}#step-nav{display:flex;overflow:auto;max-height:none;margin:0 -4px;padding:0 4px 6px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}#step-nav button{flex:0 0 auto;width:auto;max-width:210px;white-space:nowrap;scroll-snap-align:start}.clear-draft{margin-top:8px}.question-row,.choice-list{grid-template-columns:1fr}.material-options{grid-template-columns:1fr}}@media(max-width:600px){.shell{width:100%;padding-inline:16px}.brief-header .shell{min-height:62px}.brand{min-width:0;font-size:15px}.brand strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand span{width:36px;height:36px;border-radius:9px}.back-link{display:none}.intro{padding:34px 0 24px}.eyebrow{font-size:11px}.intro h1{margin:11px 0 12px;font-size:34px;line-height:1.08;letter-spacing:-.04em}.intro>p:not(.eyebrow){font-size:15px;line-height:1.55}.intro-meta{margin-top:20px}.intro-meta span{font-size:12px}.brief-layout{gap:16px;padding-bottom:46px}.sidebar-label{margin-bottom:9px}.progress-text{margin:8px 0 12px}#step-nav button{max-width:170px;padding:9px 10px;font-size:12px}#step-nav b{width:24px;height:24px}.clear-draft{font-size:12px}.step-panel{min-height:0;padding:22px 16px;border-radius:16px;box-shadow:0 12px 34px rgba(20,31,58,.05)}.step-kicker{font-size:11px}.step-panel h2{font-size:27px;line-height:1.16;letter-spacing:-.035em}.step-lead{margin-bottom:24px;font-size:15px}.form-section{margin-top:28px;padding-top:24px}.form-section h3{font-size:18px}.question{margin-top:20px}.question>span,.choice-group legend{font-size:14px}.question input,.question textarea{min-height:52px;padding:13px 14px}.choice-group{margin-top:22px}.choice{min-height:50px;padding:12px;font-size:14px}.step-note{margin-top:24px;padding:15px;font-size:13px}.material-section{margin-top:28px;padding-top:24px}.material-section h3{font-size:19px}.material-option{padding:17px}.material-steps{padding-left:18px}.consent{font-size:13px}.form-actions{position:sticky;bottom:0;z-index:5;margin:20px -16px 0;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(247,248,251,0),var(--bg) 22%,var(--bg));justify-content:stretch}.button{flex:1;min-height:52px;padding:11px 12px;font-size:14px}.form-status{font-size:14px}.brief-footnote{padding-bottom:8px}.success-panel{padding:32px 22px}.success-panel h2{font-size:29px}}@media(max-width:380px){.shell{padding-inline:12px}.intro h1{font-size:31px}.step-panel{padding:20px 14px}.form-actions{margin-inline:-12px;padding-inline:12px}.button{font-size:13px}}
.required-star{color:#bd2737;font-weight:800}.question.is-invalid input,.question.is-invalid textarea{border:2px solid #bc3041;background:#fff9fa}.consent.is-invalid{padding:12px;border:2px solid #bc3041;border-radius:9px;background:#fff9fa}.question .field-error,.field-error.consent-error{color:#a32232;font-size:14px;font-weight:700}.error-summary{margin:22px 0 30px;padding:16px 20px;border:1px solid #d3616b;border-left:5px solid #bc3041;border-radius:9px;background:#fff4f5;color:#6b1b27}.error-summary ul{margin:7px 0 0;padding-left:21px}.error-summary button{padding:2px 0;border:0;background:none;color:#8e2433;text-align:left;text-decoration:underline;cursor:pointer}.error-summary button:focus-visible{outline:3px solid #8e2433;outline-offset:2px}
.material-section{margin-top:35px;padding-top:30px;border-top:1px solid var(--line)}.material-section h3{margin:0 0 8px;font:800 21px Manrope,sans-serif}.material-intro{margin:0 0 20px;color:var(--muted)}.material-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.material-option{min-width:0;padding:22px;border:1px solid #d8deeb;border-radius:14px;background:#f9faff}.material-option strong{display:block;font:800 17px Manrope,sans-serif}.material-option p{margin:9px 0 17px;color:#4f5b70;font-size:14px}.material-steps{margin:12px 0 17px;padding-left:20px;color:#4f5b70;font-size:14px}.material-steps li{margin:0 0 8px;padding-left:4px}.material-option small{display:block;color:#667085;font-size:13px}.cloud-option{background:#f1f4ff;border-color:#d5defc}.file-picker{display:block;color:#344ca5;font-weight:800;font-size:14px;cursor:pointer}.file-picker input{display:block;width:100%;margin-top:9px;padding:10px;border:1px dashed #8b9bd8;border-radius:9px;background:#fff;color:var(--ink);font-size:13px;cursor:pointer}.file-picker input:focus-visible{outline:3px solid #8095ef;outline-offset:2px}.file-selection{overflow-wrap:anywhere}.file-selection.file-error{color:#a32232;font-weight:700}.material-section>.question{margin-top:20px}.material-section.is-invalid{border-top-color:#bc3041}.material-section>.field-error{margin:10px 0 0;color:#a32232;font-weight:700;font-size:14px}@media(max-width:700px){.material-options{grid-template-columns:1fr}.material-option{padding:19px}}
.clear-files{padding:0;border:0;background:none;color:#344ca5;text-decoration:underline;font-weight:700;font-size:13px;cursor:pointer}.clear-files:focus-visible{outline:3px solid #8095ef;outline-offset:2px}.clear-files[hidden]{display:none}
.selected-file-list{display:grid;gap:7px;margin:8px 0 10px;padding:0;list-style:none}.selected-file{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border:1px solid #d8deeb;border-radius:8px;background:#fff;font-size:13px}.selected-file-name{min-width:0;overflow-wrap:anywhere}.selected-file-name small{display:inline;color:#667085;font-size:12px}.remove-file{flex:none;padding:5px 7px;border:0;border-radius:5px;background:#f4f5fb;color:#344ca5;font-weight:700;font-size:12px;cursor:pointer}.remove-file:hover{background:#e9edfa}.remove-file:focus-visible{outline:3px solid #8095ef;outline-offset:2px}.file-error{color:#a32232!important;font-weight:700}.file-error[hidden]{display:none}

@media(max-width:700px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  .shell,.brief-header .shell,.intro,.brief-layout,.brief-sidebar,.sidebar-sticky,.brief-workspace,#online-brief-form,.step-panel,.question,.question input,.question textarea,.choice-group,.choice-list,.material-section,.material-options,.material-option{width:100%;max-width:100%;min-width:0}
  .brief-header{width:100%}
  .brief-header .shell{padding:0 16px}
  .brief-layout{display:block;padding-bottom:42px}
  .sidebar-sticky{margin:0 0 14px;padding:15px 16px;overflow:hidden}
  #step-nav{display:none}
  .progress-text{font-size:14px}
  .clear-draft{display:inline-block;margin-top:6px}
  .step-panel{overflow:hidden}
  .choice{width:100%;min-width:0}
  .intro-meta{display:grid;grid-template-columns:1fr;align-items:start}
  .intro-meta span{width:max-content;max-width:100%}
  .form-actions{position:static;margin:20px 0 0;padding:0;background:none}
  .button{width:100%;white-space:normal}
  .button.secondary[hidden],.button.primary[hidden]{display:none}
}

@media(max-width:430px){
  .shell{padding-inline:14px}
  .brief-header .shell{padding-inline:14px}
  .intro h1{font-size:32px}
  .step-panel h2{font-size:25px}
  .step-panel{padding:20px 14px}
  .form-actions{display:grid;grid-template-columns:1fr;gap:9px}
}

/* Keep mobile forms and navigation within the screen, including landscape. */
@media (max-width: 930px) {
  .brief-layout > *, .brief-sidebar, .sidebar-sticky, .step-panel, .question, .question-row > *, .choice-group, .material-options > * { min-width: 0; }
  .choice-group { margin-inline: 0; max-width: 100%; }
  .question input, .question textarea, .file-picker input { min-width: 0; max-width: 100%; font-size: 16px; }
  .choice { overflow-wrap: anywhere; }
  #step-nav { max-width: 100%; overscroll-behavior-x: contain; }
  #step-nav button { min-height: 44px; }
  .clear-draft, .clear-files, .remove-file { min-height: 44px; }
  .brief-header .back-link { min-height: 44px; align-items: center; }
  .form-actions .button[hidden] { display: none; }
}
@media (max-width: 600px) {
  .form-actions { margin-inline: 0; padding-inline: 0; gap: 8px; flex-wrap: wrap; }
  .form-actions .button { min-width: 0; white-space: normal; line-height: 1.4; }
  .selected-file { align-items: flex-start; }
  .step-panel h2, .success-panel h2 { overflow-wrap: anywhere; }
  .material-option { padding: 16px; }
  .error-summary { padding: 14px; overflow-wrap: anywhere; }
}
