/* ---------- Talk to Nomad: outreach widget, bottom-left ----------
   Static site with no mail service: Send Inquiry opens a pre-addressed draft in the visitor's email app.
   --nq-b is the launcher's distance from the bottom; the window opens directly above it. */
.app{--nq-b:calc(32px + env(safe-area-inset-bottom))}

/* Launcher */
.nq-launch{position:absolute;z-index:23;left:calc(var(--panel-w) + var(--gap)*2);bottom:var(--nq-b);height:46px;display:flex;align-items:center;gap:10px;padding:0 15px 0 7px;background:var(--ink);color:#fff;border:1px solid #2C2C31;border-radius:var(--r-2);box-shadow:0 12px 30px rgba(0,0,0,.5);font:500 14px/1 var(--sans);letter-spacing:-.005em;cursor:pointer;white-space:nowrap;transition:left .5s var(--ease),bottom .3s var(--ease),opacity .25s,transform .25s var(--ease)}
.nq-launch:hover{background:#18181B}
.nq-launch:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.nq-launch[aria-expanded="true"]{padding:0 7px}
.nq-launch[aria-expanded="true"] .nq-lbl{display:none}
.nq-box{width:30px;height:30px;display:grid;place-items:center;flex:none;background:var(--gold);color:var(--ink);border-radius:3px;transition:transform .3s var(--ease)}
.nq-box svg{width:19px;height:13px}
.nq-box .nq-ix{display:none;width:16px;height:16px}
.nq-launch:hover .nq-box{transform:scale(1.06)}
.nq-launch[aria-expanded="true"] .nq-im{display:none}
.nq-launch[aria-expanded="true"] .nq-ix{display:block}
.app.panel-hidden .nq-launch,.app.panel-hidden .nq-panel{left:var(--gap)}

/* Window */
.nq-panel{position:absolute;z-index:35;left:calc(var(--panel-w) + var(--gap)*2);bottom:calc(var(--nq-b) + 58px);width:var(--card-w);max-width:calc(100% - var(--panel-w) - var(--gap)*3);height:min(680px,calc(100% - var(--nq-b) - 58px - var(--gap)));display:flex;flex-direction:column;background:var(--paper);color:var(--ink);border:1px solid rgba(255,255,255,.06);border-radius:var(--r-2);box-shadow:0 30px 70px rgba(0,0,0,.55);overflow:hidden;transform-origin:0 100%;animation:nq-in .35s var(--ease);transition:left .5s var(--ease)}
.nq-panel.is-done{height:auto;max-height:calc(100% - var(--nq-b) - 58px - var(--gap))}
.nq-panel[hidden],.nq-form[hidden],.nq-done[hidden],.nq-scrim[hidden]{display:none}
.nq-panel:focus{outline:none}
.app.panel-hidden .nq-panel{max-width:calc(100% - var(--gap)*2)}
@keyframes nq-in{from{opacity:0;transform:translateY(12px) scale(.985)}}

.nq-head{flex:none;display:flex;align-items:center;gap:12px;padding:16px 14px 15px 18px;border-bottom:1px solid var(--line)}
.nq-head .nq-box{width:40px;height:40px;border-radius:var(--r-2)}
.nq-head .nq-box svg{width:25px;height:17px}
.nq-eyebrow{margin:0 0 7px;font:500 10px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.nq-title{margin:0;font:300 25px/.95 var(--display);letter-spacing:-.025em;color:var(--ink)}
.nq-title em{font-style:italic}
.nq-x{margin-left:auto;flex:none}

.nq-form{display:flex;flex-direction:column;flex:1;min-height:0;margin:0}
.nq-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;padding:18px 18px 16px;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}
.nq-msg{flex:none;display:flex;align-items:flex-start;gap:10px;margin:0 0 16px}
.nq-av{width:28px;height:28px;flex:none;display:grid;place-items:center;background:var(--ink);color:var(--gold);border-radius:50%}
.nq-av svg{width:16px;height:11px}
.nq-bubble{flex:1;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-2);padding:11px 13px 10px}
.nq-bubble p{margin:0;font:400 14px/1.5 var(--sans);color:var(--ink-2)}
.nq-meta{display:block;margin-top:8px;font:500 9.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}

/* The note: an email card with From / To / Subject rows over the message */
.nq-mail{flex:1;min-height:250px;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r);transition:border-color .15s,box-shadow .15s}
.nq-mail:focus-within{border-color:var(--ink);box-shadow:0 0 0 3px rgba(240,225,13,.55)}
.nq-row{flex:none;display:flex;align-items:flex-start;border-bottom:1px solid var(--line);transition:background .15s}
.nq-k{flex:none;width:76px;padding:17px 0 0 13px;font:500 10px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);cursor:text}
.nq-v{flex:1;min-width:0;display:block;margin:0;padding:12px 13px 11px 0;background:transparent;border:0;border-radius:0;outline:none;resize:none;overflow:hidden;font:400 14px/1.45 var(--sans);color:var(--ink);-webkit-appearance:none;appearance:none}
.nq-v::placeholder,.nq-text::placeholder{color:#9A978F}
.nq-addr{display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:500;cursor:default}
.nq-addr small{font:400 9.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.nq-text{flex:1;min-height:120px;display:block;width:100%;margin:0;padding:13px;background:transparent;border:0;border-radius:0;outline:none;resize:none;font:400 14px/1.5 var(--sans);color:var(--ink)}
.nq-row.is-flag,.nq-text.is-flag{background:rgba(240,225,13,.2)}
.nq-row.is-flag .nq-k{color:var(--ink)}

.nq-foot{flex:none;padding:14px 18px 16px;border-top:1px solid var(--line);background:var(--paper)}
.nq-send{width:100%;padding:15px 18px;font-size:14.5px}
.nq-send svg{transition:transform .25s var(--ease)}
.nq-send:hover svg{transform:translateX(3px)}
.nq-fine,.nq-hint{margin:10px 0 0;text-align:center;font:400 10px/1.4 var(--mono);letter-spacing:.04em;color:var(--muted)}
.nq-hint{font:500 12.5px/1.4 var(--sans);letter-spacing:0;color:var(--ink)}
.nq-hint:empty{display:none}
.nq-hint:not(:empty)~.nq-fine{display:none}

/* Sent state */
.nq-done{flex:1;min-height:0;overflow-y:auto;padding:24px 20px 22px}
.nq-check{width:40px;height:40px;display:grid;place-items:center;background:var(--gold);color:var(--ink);border-radius:var(--r-2)}
.nq-check svg{width:20px;height:20px}
.nq-done h3{margin:16px 0 10px;font:300 28px/1 var(--display);letter-spacing:-.025em}
.nq-done h3 em{font-style:italic}
.nq-done p{margin:0 0 20px;font:400 14px/1.5 var(--sans);color:var(--ink-2)}
.nq-done p b{font-weight:500;color:var(--ink)}
.nq-label{display:block;margin:0 0 8px;font:500 10px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.nq-alt{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.nq-alt .btn{flex:1 1 auto}
.nq-scrim{display:none}

/* Narrower desktops: icon only, so it never runs into the map controls */
@media (max-width:1180px) and (min-width:821px){
  .nq-launch{padding:0 7px}
  .nq-lbl{display:none}
}
@media (max-width:900px) and (min-width:821px){
  .app{--nq-b:calc(32px + 46px + 12px + env(safe-area-inset-bottom))}
}
/* A pick's card takes the right side and pulls the controls left: step the launcher aside */
@media (min-width:821px){
  .app.card-open .nq-launch{opacity:0;pointer-events:none;transform:translateY(8px)}
}

/* Phones: icon above the controls row; the window becomes a sheet */
@media (max-width:820px){
  .app{--nq-b:calc(var(--peek) + 12px + 46px + 12px + env(safe-area-inset-bottom))}
  .nq-launch{left:var(--gap);padding:0 7px}
  .nq-lbl{display:none}
  .app.sheet-open .nq-launch,.app.card-open .nq-launch,.app.nq-open .nq-launch{opacity:0;pointer-events:none}
  .nq-scrim{display:block;position:absolute;inset:0;z-index:54;background:rgba(8,8,9,.55);animation:nq-fade .25s}
  .nq-panel{left:0!important;right:0;bottom:0;width:auto;max-width:none!important;height:min(90dvh,760px);z-index:55;border:0;border-radius:14px 14px 0 0;padding-bottom:env(safe-area-inset-bottom);animation:nq-sheet .4s var(--ease)}
  .nq-panel.is-done{max-height:90dvh}
  .nq-v,.nq-text{font-size:16px}
  .nq-k{padding-top:19px}
}
@keyframes nq-fade{from{opacity:0}}
@keyframes nq-sheet{from{transform:translateY(30%);opacity:0}}
@media (prefers-reduced-motion:reduce){
  .nq-panel,.nq-scrim{animation:none}
  .nq-launch,.nq-panel,.nq-box,.nq-send svg{transition:none}
}
