/* The server-generated arithmetic check sits alongside the existing form fields. */
.brief__captcha-row { display:flex; gap:.6rem; align-items:stretch; max-width:16rem; }
.brief__captcha-row input { min-width:0; flex:1; }
.brief__captcha-refresh { width:2.8rem; border:1px solid var(--rule); background:var(--stone); color:var(--ink-2); cursor:pointer; font-size:1.25rem; line-height:1; }
.brief__captcha-refresh:hover { border-color:var(--ink); color:var(--ink); }
.brief__captcha-refresh:focus-visible { outline:3px solid var(--mark); outline-offset:3px; }
.brief__trap { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }

/* A delivered packet replaces the old copy-and-mail receipt after a successful save. */
.brief__done { display:grid; justify-items:center; padding-block:clamp(2rem, 7vw, 4.5rem); text-align:center; }
.brief__signal { width:min(100%, 34rem); margin:0 0 clamp(2.25rem, 6vw, 4.25rem); padding:1rem 0 1.2rem; border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); }
.brief__signal-top { display:flex; justify-content:center; gap:1.4rem; color:var(--ink-3); font-family:var(--mono); font-size:var(--t-label); font-variation-settings:"wdth" 87.5, "wght" 500; letter-spacing:.08em; text-transform:uppercase; }
.brief__signal-state { color:var(--mark-ink); }
.brief__signal-track { height:7.75rem; margin:.35rem 0 .7rem; overflow:hidden; position:relative; background:linear-gradient(90deg, transparent 0 8%, var(--grid-major) 8% calc(8% + 1px), transparent calc(8% + 1px) 92%, var(--grid-major) 92% calc(92% + 1px), transparent calc(92% + 1px)); }
.brief__signal-track::before { content:""; position:absolute; inset:1.05rem 8% 1rem; border-top:1px solid var(--rule-soft); border-bottom:1px solid var(--rule-soft); opacity:.8; }
.brief__signal-track::after { content:""; position:absolute; top:50%; bottom:0; left:50%; width:1px; background:var(--rule); opacity:.75; }
.brief__signal-line { position:absolute; top:50%; right:8%; left:8%; height:1px; background:var(--rule); }
.brief__signal-line::after { content:""; position:absolute; inset:0; transform-origin:left; background:var(--mark); box-shadow:0 0 16px color-mix(in srgb, var(--mark) 55%, transparent); animation:brief-deliver-line .9s var(--ease-out) .12s both; }
.brief__signal-origin, .brief__signal-target, .brief__signal-packet { position:absolute; top:50%; transform:translateY(-50%); }
.brief__signal-origin { left:calc(8% - .65rem); width:1.3rem; height:1.3rem; border:1px solid var(--ink); border-radius:50%; background:var(--stone-hi); }
.brief__signal-origin::before, .brief__signal-origin::after { content:""; position:absolute; right:3px; left:3px; height:1px; background:var(--ink-2); }
.brief__signal-origin::before { top:4px; box-shadow:0 3px 0 var(--ink-2); }
.brief__signal-origin::after { bottom:4px; }
.brief__signal-target { right:calc(8% - 2.1rem); z-index:2; display:grid; width:4.2rem; height:4.2rem; place-items:center; border:1px solid var(--mark); border-radius:50%; color:var(--mark-ink); background:var(--stone-hi); box-shadow:0 0 0 .5rem var(--stone-hi); animation:brief-deliver-target .52s var(--ease-out) .92s both; }
.brief__signal-target::before, .brief__signal-target::after { content:""; position:absolute; border:1px solid var(--mark); border-radius:50%; opacity:0; }
.brief__signal-target::before { inset:-.65rem; animation:brief-deliver-pulse 1.4s var(--ease-out) 1.3s infinite; }
.brief__signal-target::after { inset:-1.2rem; animation:brief-deliver-pulse 1.4s var(--ease-out) 1.54s infinite; }
.brief__signal-target svg { width:1.65rem; }
.brief__signal-packet { left:calc(8% + .65rem); z-index:3; width:.9rem; height:.9rem; background:var(--mark); box-shadow:0 0 0 .3rem var(--mark-wash), 0 0 1.3rem var(--mark); transform:translate(-50%, -50%) rotate(45deg); animation:brief-deliver-packet 1.02s var(--ease-out) .12s both; }
.brief__signal figcaption { color:var(--ink-2); font-size:var(--t-small); }
.brief__thanks { max-width:12ch; color:var(--ink); font-size:clamp(3.25rem, 9vw, 6.4rem); line-height:.88; }
.brief__receipt { max-width:34ch; margin-top:1.2rem; color:var(--ink-2); font-family:var(--display); font-size:clamp(1.45rem, 3vw, 2rem); font-variation-settings:"opsz" 28, "wdth" 88, "wght" 520; letter-spacing:-.02em; line-height:1.1; }
.brief__done .brief__intro { max-width:34ch; margin-top:.85rem; font-size:clamp(1.05rem, 2.2vw, 1.25rem); }
.brief__acts--done { justify-content:center; margin-top:clamp(2.25rem, 6vw, 3.5rem); }
.brief__acts--done .btn { min-width:min(100%, 16rem); justify-content:center; }
@keyframes brief-deliver-line { from { transform:scaleX(0); } to { transform:scaleX(1); } }
@keyframes brief-deliver-packet { from { left:calc(8% + .65rem); opacity:0; } 10% { opacity:1; } 78% { opacity:1; } to { left:calc(92% - 2.1rem); opacity:0; } }
@keyframes brief-deliver-target { from { transform:translateY(-50%) scale(.35) rotate(-25deg); opacity:0; } to { transform:translateY(-50%) scale(1) rotate(0); opacity:1; } }
@keyframes brief-deliver-pulse { 0% { transform:scale(.7); opacity:.75; } 100% { transform:scale(1.55); opacity:0; } }
@media (prefers-reduced-motion:reduce) {
  .brief__signal-line::after, .brief__signal-target, .brief__signal-target::before, .brief__signal-target::after, .brief__signal-packet { animation:none; }
  .brief__signal-line::after { transform:scaleX(1); }
  .brief__signal-packet { display:none; }
}
@media (max-width:460px) {
  .brief__signal { margin-bottom:2.5rem; }
  .brief__signal-track { height:6.75rem; }
  .brief__signal-target { right:calc(8% - 1.7rem); width:3.4rem; height:3.4rem; }
  .brief__signal-target svg { width:1.35rem; }
  .brief__thanks { font-size:clamp(2.85rem, 14vw, 4.2rem); }
}
