/* A live draft, not an illustration of an unconfirmed delivery. */
.request-preview{margin-bottom:26px;border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:20px;background:rgba(15,15,16,.76);font-family:Manrope,sans-serif}
.request-preview-head{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:14px;font-weight:700}
.request-preview-head>span:first-child{display:flex;align-items:center;gap:8px}
.request-preview-head i{color:var(--amber);font-size:20px}
.request-state{font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--soft);border:1px solid var(--line);padding:4px 8px;border-radius:5px;transition:color .35s,border-color .35s}
.request-preview.is-ready .request-state{color:var(--amber);border-color:rgba(225,177,109,.45)}
.request-route{display:flex;align-items:center;gap:9px;font-size:11px;color:var(--dim);margin:18px 0 12px}
.request-route .is-current{color:var(--ink)}
.request-route i{color:var(--amber);font-size:16px}
.request-ticket{position:relative;display:grid;gap:5px;padding:18px;border:1px solid rgba(255,255,255,.18);border-left:3px solid var(--amber);border-radius:3px 9px 9px 3px;background:#1b1b1d;transition:border-color .35s,background .35s}
.request-preview.has-name .request-ticket{background:#20201f}
.request-ticket-label{color:var(--dim);font-size:11px;margin-bottom:6px}
.request-ticket strong{font-size:19px;line-height:1.3;overflow-wrap:anywhere}
#requestContact{font-size:13px;color:var(--soft);overflow-wrap:anywhere;min-height:20px}
.request-topics{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;min-height:24px}
.request-topics span{font-size:11px;border:1px solid var(--line);padding:3px 7px;border-radius:4px;color:var(--soft);animation:request-topic-in .3s ease both}
.request-preview.has-topics .request-topics span{color:var(--amber);border-color:rgba(225,177,109,.25)}
.request-message{margin-top:10px}
.request-message summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:var(--soft);cursor:pointer;list-style:none}
.request-message summary::-webkit-details-marker{display:none}
.request-message summary i{transition:transform .25s}
.request-message[open] summary i{transform:rotate(180deg)}
.request-message p{white-space:pre-line;overflow-wrap:anywhere;padding:12px 14px;background:rgba(255,255,255,.04);border-radius:6px;color:var(--ink);font-size:13px;line-height:1.6;animation:request-topic-in .25s ease both}
.request-hint{font-size:11px!important;line-height:1.6!important;color:var(--dim);margin:6px 0 0!important}
.request-preview :focus-visible,.foot :focus-visible{outline:2px solid var(--amber);outline-offset:5px}
@keyframes request-topic-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}

/* Footer: an aligned directory, independent of the final contact card. */
#contact .foot{background:#0c0c0e}
#contact .foot-in{padding-top:40px;padding-bottom:28px}
#contact .foot-top{display:grid;grid-template-columns:minmax(200px,1.8fr) 1fr 1fr auto;align-items:start;gap:32px}
.foot-brand p{font-size:13px;line-height:1.65;color:var(--dim);margin:16px 0 0}
.foot-group{min-width:0}
.foot-label{display:block;color:var(--dim);font-size:11px;text-transform:uppercase;letter-spacing:.09em;margin:3px 0 12px}
#contact .foot nav{display:grid;gap:0;justify-items:start;font-size:14px}
#contact .foot nav a{display:flex;align-items:center;min-height:38px}
#contact .fc{display:grid;gap:0;text-align:left;font-size:14px}
#contact .fc a{min-height:38px;justify-content:flex-start;gap:8px}
#contact .fc a>span{margin-left:5px;color:var(--dim)}
.foot-handle{display:block;font-size:11px;color:var(--dim);margin-top:8px}
#contact .foot .up{display:flex;flex-direction:column;justify-content:center;gap:6px;border-radius:12px;width:68px;min-height:68px;padding:12px 6px;font-size:10px}
#contact .foot .up i{font-size:21px}
#contact .legal{margin-top:30px;padding-top:22px;align-items:start;gap:16px;font-size:11px;line-height:1.65;color:var(--dim)}
.foot-docs{display:flex;gap:10px 24px;flex-wrap:wrap}
#contact .legal a{display:inline-block;text-decoration-color:rgba(255,255,255,.18);transition:color .2s}
#contact .legal a:hover{color:var(--ink)}
@media(max-width:700px){
  .request-preview{padding:16px;margin-bottom:22px}
  .request-route{gap:7px;font-size:10px}
  .request-ticket{padding:14px}
  #contact .foot-in{padding-top:30px;padding-bottom:calc(30px + env(safe-area-inset-bottom))}
  #contact .foot-top{grid-template-columns:1fr 1fr;gap:26px 20px}
  .foot-brand{grid-column:1/-1;padding-right:86px;min-height:66px}
  .foot-brand p{margin-top:10px;font-size:12px}
  #contact .foot .up{position:absolute;right:20px;top:30px;width:58px;min-height:58px}
  #contact .foot nav a,#contact .fc a{min-height:44px;font-size:13px}
  .foot-label{margin-bottom:5px}
  #contact .legal{margin-top:24px;display:grid;gap:12px;font-size:11px}
  .foot-docs{display:grid;gap:10px}
}
@media(prefers-reduced-motion:reduce){.request-preview *{animation:none!important;transition:none!important}}
