/* public/css/go.css — the /go link hub. Standalone (not an addition to styles.css) so the map's
   stylesheet stays untouched; the tokens below are the same house palette it defines.
   ARCHITECTURE.md §11: slate ink, amber, warm paper, Georgia serif wordmark. */
:root{
  --ink:#1f2a37; --paper:#f5f2ec; --card:#fff; --line:#e2ddd2; --muted:#6b7280;
  --amber:#c47e22; --amber-d:#a96914;
  --avail:#1e6b3a; --avail-bg:#e2f0e7; --held:#5a6169; --held-bg:#e8eaed;
  --found:#8a5c10; --found-bg:#f6eedd; --none:#8a3324; --none-bg:#f7e6e2;
  --radius:11px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
.go-body{
  background:var(--paper);color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;
}
.go-body.go-locked{overflow:hidden}

.go{max-width:460px;margin:0 auto;padding:34px 20px 40px;text-align:center}

.go-head{margin-bottom:20px}
.go-mark{width:54px;height:54px;border-radius:14px;background:var(--ink);color:#fff;display:grid;
  place-items:center;margin:0 auto 13px;font-family:Georgia,'Times New Roman',serif;font-size:23px;
  font-weight:700;line-height:1}
.go-mark span{color:var(--amber)}
.go-name{font-family:Georgia,'Times New Roman',serif;font-size:1.45rem;font-weight:700;margin:0 0 4px}
.go-line{font-size:.87rem;color:var(--muted);margin:0 auto;max-width:32ch;line-height:1.45}

/* Audience toggle — hub only. Real links, so it works with JS off. */
.go-toggle{display:flex;gap:3px;background:#e7e3da;border-radius:999px;padding:3px;margin:20px 0 16px}
.go-tab{flex:1;border-radius:999px;padding:9px 6px;font-size:.83rem;font-weight:600;color:var(--muted);
  text-decoration:none;text-align:center;transition:background .12s,color .12s}
.go-tab[aria-current="page"]{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(31,42,55,.13)}
.go-tab:hover{color:var(--ink)}

.go-stack{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;text-align:left}
.go-card{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);
  border-radius:var(--radius);padding:14px;text-decoration:none;color:inherit;
  transition:transform .13s ease,border-color .13s ease,box-shadow .13s ease}
.go-card:hover,.go-card:focus-visible{border-color:var(--amber);transform:translateY(-1px);
  box-shadow:0 3px 12px rgba(31,42,55,.09);outline:none}
.go-card:focus-visible{box-shadow:0 0 0 3px rgba(196,126,34,.28)}
.go-card .ic{width:34px;height:34px;flex:none;border-radius:9px;background:var(--paper);display:grid;
  place-items:center;color:var(--amber-d)}
.go-card .ic svg{width:18px;height:18px;display:block}
.go-card .tx{flex:1;min-width:0}
.go-card .l{display:block;font-size:.94rem;font-weight:600;line-height:1.3}
.go-card .s{display:block;font-size:.79rem;color:var(--muted);line-height:1.4;margin-top:2px}
.go-card .ar{flex:none;color:#c3bfb5;font-size:1.1rem;line-height:1}
/* The off-site connector card: present, but never louder than a conversion card. */
.go-card.soft{background:transparent;border-style:dashed}
.go-card.soft .ic{background:transparent;border:1px solid var(--line)}
.go-card.soft .l{font-weight:500;font-size:.88rem}
.go-badge{display:inline-block;font-size:.6rem;letter-spacing:.06em;text-transform:uppercase;
  font-weight:700;color:#fff;background:var(--amber);border-radius:3px;padding:2px 5px;
  margin-left:6px;vertical-align:1px}

.go-foot{margin-top:24px;font-size:.75rem;color:var(--muted);line-height:1.6}
.go-foot p{margin:0}
.go-legal{margin-top:5px !important}
.go-foot a{color:var(--amber-d)}

/* ── sheet ───────────────────────────────────────────────────────────────── */
.go-backdrop{position:fixed;inset:0;background:rgba(31,42,55,.45);opacity:0;z-index:40;
  transition:opacity .22s ease}
.go-backdrop.on{opacity:1}
.go-sheet{position:fixed;left:0;right:0;bottom:0;z-index:41;background:var(--card);
  border-top-left-radius:18px;border-top-right-radius:18px;padding:26px 20px calc(24px + env(safe-area-inset-bottom));
  max-height:90vh;overflow-y:auto;text-align:left;transform:translateY(102%);
  box-shadow:0 -8px 34px rgba(31,42,55,.22);transition:transform .28s cubic-bezier(.2,.8,.25,1)}
.go-sheet.on{transform:translateY(0)}
@media(min-width:640px){
  .go-sheet{left:50%;right:auto;bottom:auto;top:50%;width:440px;max-width:calc(100vw - 32px);
    border-radius:var(--radius);transform:translate(-50%,-46%);opacity:0;
    transition:transform .22s ease,opacity .22s ease}
  .go-sheet.on{transform:translate(-50%,-50%);opacity:1}
}
.s-close{position:absolute;top:10px;right:12px;border:0;background:transparent;cursor:pointer;
  font-size:1.5rem;line-height:1;color:#b8b3a8;padding:6px 9px;border-radius:7px}
.s-close:hover{color:var(--ink);background:var(--paper)}
.s-close:focus-visible{outline:2px solid var(--amber);outline-offset:1px}

.s-title{font-family:Georgia,'Times New Roman',serif;font-size:1.25rem;font-weight:700;
  margin:0 0 6px;line-height:1.25;padding-right:28px}
.s-sub{font-size:.85rem;color:var(--muted);margin:0 0 16px;line-height:1.5}

.s-form label{display:block;font-size:.7rem;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;color:var(--muted);margin-bottom:5px}
.s-form input{width:100%;padding:12px;border:1px solid var(--line);border-radius:9px;
  font:inherit;font-size:1rem;background:#fff;color:var(--ink)}
.s-form input:focus{outline:2px solid rgba(196,126,34,.42);border-color:var(--amber)}
.s-hp{position:absolute;left:-9999px;top:-9999px;height:1px;width:1px;overflow:hidden}
.s-err{background:#fdecec;border:1px solid #f3c0c0;color:#9a2828;padding:10px 12px;border-radius:8px;
  font-size:.84rem;margin:0 0 12px}
.s-fine{font-size:.72rem;color:var(--muted);margin:9px 0 0;line-height:1.45}

.s-btn{display:block;width:100%;border:0;cursor:pointer;background:var(--amber);color:#fff;
  border-radius:9px;padding:13px;font:inherit;font-size:.95rem;font-weight:700;margin-top:12px;
  text-align:center;text-decoration:none}
.s-btn:hover{background:var(--amber-d)}
.s-btn:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.s-btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line);font-weight:600;margin-top:8px}
.s-btn.ghost:hover{background:var(--paper)}

.s-verdict{border:1px solid var(--line);border-radius:10px;padding:14px;background:var(--paper);
  margin-bottom:4px}
.s-tag{display:inline-block;font-size:.62rem;letter-spacing:.09em;text-transform:uppercase;
  font-weight:700;padding:3px 7px;border-radius:3px;margin-bottom:9px}
.t-available{color:var(--avail);background:var(--avail-bg)}
.t-reserved{color:var(--held);background:var(--held-bg)}
.t-founding{color:var(--found);background:var(--found-bg)}
.t-active{color:#fff;background:var(--ink)}
.t-none{color:var(--none);background:var(--none-bg)}
.s-vt{display:block;font-family:Georgia,'Times New Roman',serif;font-size:1.05rem;font-weight:700;
  line-height:1.3;margin-bottom:5px}
.s-vs{display:block;font-size:.85rem;color:var(--muted);line-height:1.55}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:.01ms !important;animation-duration:.01ms !important}
}
