/* High-end form pattern shared by every form on the site (partner application and the client briefings).
   .lx            root; state classes .is-capa | .is-form | .is-fim; defines its own tokens, so it works on any page
   .lx-capa       cover: __texto (h2/h3 __titulo, paragraphs, __regra) + __lado (dl __resumo, __acoes, __rasc)
   .lx-shell      form layout: .lx-rail (progress: __nome, __parte, __barra, __lista, __nota) + .lx-palco (the questions)
   .lx-grupo      short group of questions: h4 + fields
   .lx-btn        flat buttons: --ouro (cover/close), --tinta (primary in the form), --linha (secondary on dark)
   .lx-fim        submitted screen: __selo, h2/h3, paragraphs, buttons
   Each form keeps its own field markup (.pf-* in parceiro.css, .bf-* in briefing.css) styled to the same values:
   56px fields with a 1px #c9c9ce edge, tiles that turn ink with a gold check, #f2f2f4 panels instead of lines. */
.lx{--lx-ink:#1d1d1f;--lx-ink-2:#424245;--lx-tone:#f2f2f4;--lx-field:#c9c9ce;--lx-gold:#A08B34;--lx-gold-ink:#6b5a17;--lx-dark:#0b0b0c;--lx-dark-2:#18181a;--lx-on-dark:#ececf0;--lx-on-dark-2:#b4b4ba;
  --lx-head:"SF Pro Display",-apple-system,BlinkMacSystemFont,"Inter","Helvetica Neue",Helvetica,Arial,sans-serif;
  --lx-body:"SF Pro Text",-apple-system,BlinkMacSystemFont,"Inter","Helvetica Neue",Helvetica,Arial,sans-serif;
  --lx-ease:cubic-bezier(.22,1,.36,1);--lx-gutter:clamp(16px,4vw,40px)}
.lx-noscript{max-width:60ch;margin:0 auto;padding:80px var(--lx-gutter);font-size:17px}

/* buttons */
.lx-btn{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:56px;padding:0 30px;border-radius:999px;font:600 16.5px/1 var(--lx-body);letter-spacing:-.01em;text-decoration:none;transition:transform .3s var(--lx-ease),background-color .25s,color .25s}
.lx-btn svg{transition:transform .3s var(--lx-ease)}
.lx-btn:hover svg{transform:translateX(3px)}
.lx-btn:active{transform:scale(.98)}
.lx-btn:focus-visible{outline:3px solid var(--lx-gold);outline-offset:3px}
.lx-btn--ouro{background:var(--lx-gold);color:#141414}
.lx-btn--ouro:hover{background:#b39c3e}
.lx-btn--tinta{background:var(--lx-ink);color:#fff}
.lx-btn--tinta:hover{background:#000}
.lx-btn--linha{color:var(--lx-on-dark);box-shadow:inset 0 0 0 1.5px rgba(236,236,240,.42)}
.lx-btn--linha:hover{box-shadow:inset 0 0 0 1.5px var(--lx-on-dark)}
.lx-link{all:unset;cursor:pointer;font-weight:600;color:inherit;text-decoration:underline;text-underline-offset:3px;padding:6px 0}
.lx-link:focus-visible{outline:2px solid var(--lx-gold);outline-offset:2px;border-radius:4px}

/* cover */
.lx.is-capa{background:var(--lx-dark-2);color:var(--lx-on-dark)}
.lx-capa{max-width:1200px;margin:0 auto;min-height:min(100svh,900px);padding:clamp(64px,8vw,112px) var(--lx-gutter);display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(40px,7vw,112px);align-items:center}
.lx-capa__titulo{margin:0 0 32px;font:600 clamp(38px,4.4vw,62px)/1.04 var(--lx-head);letter-spacing:-.04em;color:#E2C969;background:linear-gradient(100deg,#FBF0C8 0%,#E8D17A 38%,#C6A743 72%,#A08B34 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-wrap:balance;max-width:16ch;padding-bottom:.08em}
.lx-capa__titulo:focus{outline:none}
.lx-capa__texto p:last-child{margin-bottom:0}
.lx-capa__texto p{margin:0 0 18px;max-width:58ch;font-size:clamp(17px,1.3vw,19px);line-height:1.6;color:var(--lx-on-dark)}
.lx-capa__regra{padding-top:4px}
.lx-capa__regra b{color:#EFE2B4;font-weight:600}
.lx-capa__acoes{display:flex;flex-direction:column;gap:12px;margin-top:20px}
.lx-capa__acoes .lx-btn{width:100%}
.lx-capa__rasc{margin-top:18px!important;font-size:15px!important;color:var(--lx-on-dark-2)!important}
.lx-capa__resumo{margin:0;padding:clamp(26px,2.6vw,36px);background:#242427;border-radius:28px;display:grid;gap:22px}
.lx-capa__resumo dt{font:600 15px/1.3 var(--lx-body);color:#EFE2B4;margin-bottom:6px}
.lx-capa__resumo dd{margin:0;font-size:16px;line-height:1.55;color:var(--lx-on-dark)}

/* form shell */
.lx.is-form{padding:clamp(48px,7vw,104px) var(--lx-gutter)}
.lx-shell{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:272px minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:start}
.lx-rail{position:sticky;top:28px}
.lx-rail__nome{margin:0 0 4px;font:600 20px/1.2 var(--lx-head);letter-spacing:-.02em;color:var(--lx-ink)}
.lx-rail__parte{margin:0 0 14px;font-size:15px;color:var(--lx-ink-2)}
.lx-rail__barra{height:6px;border-radius:6px;background:#e3e3e7;overflow:hidden;margin-bottom:26px}
.lx-rail__barra i{display:block;height:100%;background:var(--lx-gold);border-radius:6px;transition:width .6s var(--lx-ease)}
.lx-rail__lista{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.lx-rail__lista li > button,.lx-rail__lista li > span{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:8px 12px;border-radius:14px;font:500 15.5px/1.3 var(--lx-body);color:#8a8a90}
.lx-rail__lista li > button{cursor:pointer;color:var(--lx-ink)}
.lx-rail__lista li > button:hover{background:var(--lx-tone)}
.lx-rail__lista li > button:focus-visible{outline:2px solid var(--lx-gold);outline-offset:1px}
.lx-rail__lista i{flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#e3e3e7}
.lx-rail__lista .is-feita i{background:var(--lx-ink);color:#fff}
.lx-rail__lista .is-atual > span{background:#fff;color:var(--lx-ink);font-weight:600}
.lx-rail__lista .is-atual i{background:var(--lx-gold);box-shadow:inset 0 0 0 7px #fff}
.lx-rail__nota{margin:24px 0 0;padding:0 12px;font-size:14px;line-height:1.5;color:var(--lx-ink-2)}
.lx-palco{background:#fff;border-radius:32px;padding:clamp(24px,5vw,64px)}


/* submitted */
.lx.is-fim{background:var(--lx-dark-2);color:var(--lx-on-dark)}
.lx-fim{max-width:760px;margin:0 auto;min-height:min(86svh,820px);padding:clamp(80px,12vw,160px) var(--lx-gutter);display:flex;flex-direction:column;justify-content:center;animation:lx-entra .6s var(--lx-ease) both}
.lx-fim__selo{width:68px;height:68px;border-radius:50%;background:var(--lx-gold);color:#141414;display:grid;place-items:center;margin-bottom:32px}
.lx-fim h2,.lx-fim h3{margin:0 0 22px;font:600 clamp(36px,4.6vw,60px)/1.04 var(--lx-head);letter-spacing:-.04em;color:#fff}
.lx-fim h2:focus,.lx-fim h3:focus{outline:none}
.lx-fim p{margin:0 0 16px;max-width:56ch;font-size:clamp(17px,1.35vw,19px);line-height:1.6}
.lx-fim .lx-btn{align-self:flex-start;margin-top:22px}
.lx-fim__demo{margin-top:36px!important;font-size:14px!important;color:var(--lx-on-dark-2)}

/* question groups */
.lx-grupo{margin-top:clamp(36px,4vw,52px)}
.lx-grupo h4{margin:0 0 20px;font:600 19px/1.25 var(--lx-head);letter-spacing:-.015em;color:var(--lx-ink)}

@keyframes lx-entra{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  .lx-fim{animation:none}
  .lx-btn,.lx-btn svg,.lx-rail__barra i{transition:none}
}
@media (max-width:980px){
  .lx-capa{grid-template-columns:1fr;align-items:start;min-height:0}
  .lx-shell{grid-template-columns:1fr}
  .lx-rail{position:static}
  .lx-rail__lista{display:none}
  .lx-rail__nota{display:none}
  .lx-rail__barra{margin-bottom:0}
}
@media (max-width:640px){
  .lx.is-form{padding:28px 12px 56px}
  .lx-rail{padding:0 6px}
  .lx-palco{border-radius:24px;padding:28px 18px}
}

/* capa: bloco "Para que serve este briefing" */
.lx-capa__serve{margin:0 0 34px;max-width:62ch;padding:clamp(22px,2.4vw,30px);border:1px solid rgba(226,201,105,.28);border-radius:24px;background:linear-gradient(160deg,rgba(226,201,105,.09),rgba(255,255,255,.02))}
.lx-capa__texto .lx-capa__serve-t{margin:0 0 18px;font:600 13px/1.2 var(--lx-body);letter-spacing:.14em;text-transform:uppercase;color:#E2C969}
.lx-capa__serve ol{list-style:none;margin:0;padding:0;display:grid;gap:20px}
.lx-capa__serve li{display:grid;grid-template-columns:36px 1fr;gap:16px;align-items:start}
.lx-capa__serve li i{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font:600 15px/1 var(--lx-head);font-style:normal;color:#1d1d1f;background:linear-gradient(140deg,#F4E3A0,#C6A743)}
.lx-capa__serve li b{display:block;margin-bottom:4px;font:600 18px/1.3 var(--lx-head);letter-spacing:-.01em;color:#fff}
.lx-capa__serve li span{display:block;font-size:16px;line-height:1.55;color:var(--lx-on-dark)}
.lx-capa__texto .lx-capa__abre{margin-bottom:26px;font-size:clamp(19px,1.5vw,22px);line-height:1.55;color:#fff}
