/* brief.css: on-page lead qualifier, terminal-styled to match readiness.scan.
   Self-contained: var() fallbacks so it works on any page's token scope. */
.brief{
  --b-verm:var(--verm,#C1281B);
  --b-amber:var(--amber,#E0913C);
  --b-ivory:var(--ivory,#F5F0E8);
  --b-line:rgba(245,240,232,0.14);
  font-family:'JetBrains Mono',ui-monospace,monospace;
  color:var(--b-ivory);
  max-width:520px;
}
.brief [hidden]{display:none !important;}

/* chrome (injected by JS; never shown to no-JS users) */
.brief-chrome{display:flex;align-items:center;gap:14px;margin-bottom:22px;}
.brief-stepcount{font-size:11px;letter-spacing:0.18em;text-transform:uppercase;
  color:rgba(245,240,232,0.55);white-space:nowrap;}
.brief-progress{position:relative;flex:1;height:2px;background:var(--b-line);overflow:hidden;}
.brief-progress-bar{position:absolute;inset:0 auto 0 0;width:33%;
  background:linear-gradient(90deg,var(--b-verm),var(--b-amber));transition:width .35s ease;}

/* steps */
.brief-step{border:0;margin:0;padding:0;min-inline-size:0;}
.brief-legend{font-family:'Inter',system-ui,sans-serif;
  font-size:clamp(20px,3vw,28px);font-weight:800;line-height:1.15;
  color:var(--b-ivory);margin-bottom:20px;padding:0;}

/* chips */
.brief-chips{display:flex;flex-wrap:wrap;gap:10px;}
.brief-chip{position:relative;cursor:pointer;display:inline-block;}
.brief-chip input{position:absolute;opacity:0;width:0;height:0;}
.brief-chip span{display:inline-block;padding:12px 18px;
  background:rgba(245,240,232,0.06);border:1px solid rgba(245,240,232,0.28);
  border-radius:100vw;font-size:13px;letter-spacing:0.02em;color:var(--b-ivory);
  transition:border-color .2s,background .2s,color .2s,transform .2s;}
.brief-chip:hover span{background:rgba(245,240,232,0.11);border-color:rgba(245,240,232,0.55);transform:translateY(-1px);}
.brief-chip input:checked + span{background:var(--b-verm);border-color:var(--b-verm);color:var(--b-ivory);}
.brief-chip input:focus-visible + span{outline:2px solid var(--b-amber);outline-offset:2px;}

/* text fields */
.brief-fields{display:flex;flex-direction:column;gap:14px;}
.brief-field label{display:block;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;
  color:rgba(245,240,232,0.55);margin-bottom:6px;}
.brief-field input,.brief-field textarea{width:100%;box-sizing:border-box;
  background:rgba(245,240,232,0.07);border:1px solid rgba(245,240,232,0.28);border-radius:8px;
  padding:13px 14px;color:var(--b-ivory);font-family:inherit;font-size:14px;}
.brief-field input::placeholder,.brief-field textarea::placeholder{color:rgba(245,240,232,0.4);}
.brief-field input:focus,.brief-field textarea:focus{outline:none;border-color:var(--b-verm);
  background:rgba(245,240,232,0.1);}
.brief-field textarea{resize:vertical;min-height:64px;}

/* controls */
.brief-back{background:none;border:0;color:rgba(245,240,232,0.5);font-family:inherit;
  font-size:11px;letter-spacing:0.14em;text-transform:uppercase;cursor:pointer;padding:0;margin-bottom:16px;}
.brief-back:hover{color:var(--b-ivory);}
.brief-submit{margin-top:22px;display:inline-flex;align-items:center;gap:10px;background:var(--b-verm);
  color:var(--b-ivory);border:0;border-radius:100vw;font-family:inherit;font-size:12px;font-weight:700;
  letter-spacing:0.12em;text-transform:uppercase;padding:15px 28px;cursor:pointer;
  box-shadow:0 12px 30px -10px rgba(193,40,27,0.45);transition:background .25s,transform .25s;}
.brief-submit:hover{background:var(--verm-dark,#a0200f);transform:translateY(-2px);}
.brief-submit:disabled{opacity:0.6;cursor:default;transform:none;}

/* secondary WhatsApp link (homepage #ctaBtn) */
.brief-alt{display:inline-flex;align-items:center;gap:8px;margin-top:18px;
  font-family:'JetBrains Mono',ui-monospace,monospace;font-size:12px;letter-spacing:0.1em;
  text-transform:uppercase;color:rgba(245,240,232,0.6);}
.brief-alt:hover{color:var(--b-ivory);}

/* honeypot (kept out of view + a11y tree) */
.brief-hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;opacity:0;overflow:hidden;}

/* error */
.brief-error{margin-top:14px;font-size:12px;color:#ff8a7a;letter-spacing:0.01em;}

/* confirmation */
.brief-done{font-family:'JetBrains Mono',ui-monospace,monospace;color:var(--ivory,#F5F0E8);max-width:520px;}
.brief-done-line{font-size:15px;letter-spacing:0.02em;margin:0 0 14px;}
.brief-caret{color:var(--verm,#C1281B);}
.brief-done-body{font-family:'Inter',system-ui,sans-serif;font-size:15px;line-height:1.6;
  color:rgba(245,240,232,0.72);margin:0 0 16px;}
.brief-done-alt{font-size:12px;letter-spacing:0.06em;color:rgba(245,240,232,0.55);margin:0;}
.brief-done-alt a{color:var(--amber,#E0913C);border-bottom:1px solid currentColor;padding-bottom:1px;}

/* no-JS: everything stacks; JS chrome never appears */
.brief:not(.brief--js) .brief-step{margin-bottom:26px;}

@media (prefers-reduced-motion: reduce){
  .brief-progress-bar,.brief-chip span,.brief-submit{transition:none;}
  .brief-chip:hover span,.brief-submit:hover{transform:none;}
}

/* ── form-object card: inline usage (e.g. contact page). Reset inside the modal ── */
.brief{
  background:rgba(245,240,232,0.03);
  border:1px solid rgba(245,240,232,0.14);
  border-radius:14px;
  padding:26px;
}
.brief-modal .brief{background:none;border:0;border-radius:0;padding:0;max-width:none;}

/* ── form heading (eyebrow + title + sub) ── */
.brief-head{margin-bottom:24px;}
.brief-eyebrow{display:inline-block;font-family:'JetBrains Mono',ui-monospace,monospace;
  font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:var(--verm,#C1281B);margin-bottom:12px;}
.brief-title{font-family:'Inter',system-ui,sans-serif;font-size:clamp(24px,4vw,32px);font-weight:900;
  line-height:1.05;color:var(--ivory,#F5F0E8);margin:0 0 10px;}
.brief-sub{font-family:'Inter',system-ui,sans-serif;font-size:14px;line-height:1.55;
  color:rgba(245,240,232,0.62);margin:0;max-width:44ch;}

/* ── modal (native <dialog>): explicitly centered so it never depends on UA margin:auto ── */
.brief-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);margin:0;
  border:0;padding:0;background:transparent;color:var(--ivory,#F5F0E8);
  max-width:min(540px,calc(100vw - 32px));width:100%;overflow:visible;}
.brief-modal::backdrop{background:rgba(7,14,26,0.74);backdrop-filter:blur(4px);}
.brief-modal-inner{position:relative;max-height:90vh;overflow-y:auto;
  background:#0C1829;border:1px solid rgba(245,240,232,0.12);border-radius:16px;
  padding:36px 30px;box-shadow:0 40px 90px -30px rgba(0,0,0,0.7);}
.brief-modal-close{position:absolute;top:12px;right:14px;background:none;border:0;
  color:rgba(245,240,232,0.5);font-size:26px;line-height:1;cursor:pointer;padding:4px 9px;z-index:2;}
.brief-modal-close:hover{color:var(--ivory,#F5F0E8);}
.brief-modal[open] .brief-modal-inner{animation:briefCardIn .3s cubic-bezier(.2,.8,.2,1);}
@keyframes briefCardIn{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}

@media (max-width:560px){
  .brief-modal-inner{padding:30px 20px;max-height:94vh;}
  .brief{padding:22px;}
}
@media (prefers-reduced-motion: reduce){
  .brief-modal[open] .brief-modal-inner{animation:none;}
}

/* ── floating persistent CTA (shown by JS once past the hero) ── */
.brief-float{position:fixed;right:22px;bottom:22px;z-index:40;
  display:none;align-items:center;gap:8px;
  background:var(--verm,#C1281B);color:var(--ivory,#F5F0E8);border:0;border-radius:100vw;cursor:pointer;
  font-family:'JetBrains Mono',ui-monospace,monospace;font-size:12px;font-weight:700;
  letter-spacing:0.1em;text-transform:uppercase;padding:14px 22px;
  box-shadow:0 14px 34px -10px rgba(193,40,27,0.6);
  transition:transform .25s,background .25s;}
.brief-float.show{display:inline-flex;animation:briefFloatIn .35s cubic-bezier(.2,.8,.2,1);}
.brief-float:hover{background:var(--verm-dark,#a0200f);transform:translateY(-2px);}
@keyframes briefFloatIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media (max-width:560px){.brief-float{right:14px;bottom:14px;padding:12px 18px;font-size:11px;}}
@media (prefers-reduced-motion:reduce){.brief-float.show{animation:none;}}
