/* BADGE SHERPA · front.css — public front-page refinements */
.pub-nav .sh-brand svg{width:54px;height:54px;flex:none}
:root[data-theme="bold"] .pub-nav .sh-brand svg .lm{fill:var(--navy)}
.pub-nav .word{font-size:1.5rem}
.pub-nav .sh-brand svg .lm{fill:var(--navy)}
.pub-badge-tile{padding:14px}
.pub-badge-tile img{width:100%;max-width:380px;display:block;border-radius:26px}
.bf-strip{background:none;border-top:1px solid var(--line)}
.cmodal{position:fixed;inset:0;background:rgba(11,17,32,.5);z-index:140;
  display:none;align-items:center;justify-content:center;padding:16px}
.cmodal.on{display:flex}
.cmodal .cc{background:var(--surface);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:28px;max-width:480px;width:100%;
  display:flex;flex-direction:column;gap:16px}
.cmodal h3{font-size:1.15rem;font-family:var(--font-head)}
.cmodal label{display:flex;flex-direction:column;gap:6px;font-size:.8rem;
  font-weight:600;color:var(--ink-soft)}
.cmodal input,.cmodal textarea{border:1.5px solid var(--line);border-radius:10px;
  padding:12px 14px;font-family:var(--font-body);font-size:.9rem;
  background:var(--bg);color:var(--ink);resize:vertical}
.cmodal input:focus,.cmodal textarea:focus{outline:none;
  border-color:var(--green-dark)}
.cmodal .cb{display:flex;justify-content:flex-end;gap:10px}
.cmodal .hp{position:absolute;left:-9999px;top:-9999px}
.cflash{max-width:1180px;margin:12px auto 0;padding:0 12px;text-align:center;
  font-weight:700}
.cflash.ok{color:var(--green-dark)}
.cflash.bad{color:var(--danger)}
/* region-ask ribbon (renders only when both regions are live) */
.pub-region{position:sticky;top:0;z-index:60;display:flex;gap:14px;
  align-items:center;justify-content:center;padding:10px 18px;
  background:var(--navy);color:#fff;font-size:.85rem;font-weight:600}
.pub-region-go{color:var(--green);font-weight:800;text-decoration:none}
.pub-region-go:hover{text-decoration:underline}
.pub-region-x{background:none;border:0;color:#fff;opacity:.6;cursor:pointer;
  font-size:.9rem;padding:4px}
.pub-region-x:hover{opacity:1}

/* public pages carry no fixed pill nav — reclaim the app-chrome
   padding so the logo sits as close to the top as to the hero.
   Must OUTRANK theme-bold's `:root[data-theme="bold"] body`
   (specificity 0,2,1) — a bare `body` rule loses that fight,
   which is also why the old body:has(.pub) reset never worked. */
:root[data-theme] body{padding:12px 0 0}
body{padding:12px 0 0}   /* fallback if no theme attribute */

/* light companion to the navy hero CTA, sits on the green hero */
.hero-cta-lite{background:rgba(255,255,255,.92);color:var(--navy);
  font-size:1rem;padding:16px 30px}
.hero-cta-lite:hover{background:#fff}
.pub-ctas{display:flex;gap:12px;flex-wrap:wrap}
