  :root {
    --navy: #141414; --navy-light: #232323;
    --cream: #f2efe9; --cream-dark: #e6e1d8;
    --paper: #ffffff;
    --brass: #e0492c; --brass-light: #ff6a48;
    --forest: #3c5a45;
    --ink: #141414;
    --line: rgba(20,20,20,0.14);
    --on-navy: #ffffff; --on-navy-dim: rgba(255,255,255,0.78);
  }
  * { box-sizing: border-box; }
  body { margin:0; background:var(--cream); color:var(--ink); font-family:'Source Sans 3',system-ui,sans-serif; }
  h1,h2,h3 { font-family:'Archivo',sans-serif; font-weight:800; letter-spacing:-0.01em; }
  .eyebrow { font-family:'IBM Plex Mono',monospace; font-size:12.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--brass); display:flex; align-items:center; gap:8px; margin-bottom:10px; }
  .eyebrow::before { content:''; width:14px; height:1px; background:var(--brass); display:inline-block; }
  .mono { font-family:'IBM Plex Mono',monospace; }

  .topbar { background:var(--paper); color:var(--ink); padding:16px 24px; display:flex; align-items:center; justify-content:space-between; position:sticky; top:0; z-index:40; border-bottom:1px solid var(--line); }
  .nav-links { display:flex; gap:28px; }
  .nav-link { font-family:'IBM Plex Mono',monospace; font-size:12.5px; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink); background:none; border:none; cursor:pointer; padding:4px 0; opacity:0.75; }
  .nav-link:hover, .nav-link[aria-current="true"] { opacity:1; color:var(--brass); }
  .logo-mark { width:26px; height:26px; background:var(--navy); display:inline-flex; align-items:center; justify-content:center; flex:0 0 26px; }
  .logo-mark span { width:8px; height:8px; border-radius:50%; background:var(--brass); }
  .icon-btn { background:var(--cream); border:1px solid var(--line); width:38px; height:38px; display:flex; align-items:center; justify-content:center; cursor:pointer; font-size:16px; }
  .cc-field { border:1px dashed var(--line); padding:10px 12px; margin-bottom:10px; cursor:pointer; position:relative; background:var(--paper); }
  .cc-field:hover { border-color:var(--brass); }
  .cc-pencil { position:absolute; top:8px; right:10px; opacity:0.4; font-size:12px; }
  .cc-actions-label { font-family:'IBM Plex Mono',monospace; font-size:11px; font-weight:700; letter-spacing:0.06em; opacity:0.6; margin:6px 0 8px; }
  .cc-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(165px, 1fr)); gap:8px; margin-bottom:14px; }
  .cc-grid.two { grid-template-columns:repeat(2, 1fr); }
  @media (max-width: 460px) { .cc-grid.two { grid-template-columns:1fr; } }
  .cc-act { display:flex; align-items:center; gap:10px; padding:10px 12px; min-height:54px; border:1px solid var(--line); background:var(--paper); color:var(--ink); cursor:pointer; text-align:left; font-family:inherit; transition:border-color .15s, transform .15s; }
  .cc-act:hover { border-color:var(--ink); transform:translateY(-1px); }
  .cc-act:disabled { opacity:0.6; cursor:wait; transform:none; }
  .cc-act .ic { font-size:18px; line-height:1; flex:0 0 auto; }
  .cc-act b { display:block; font-size:13.5px; white-space:nowrap; }
  .cc-act small { display:block; font-size:11.5px; opacity:0.7; line-height:1.3; margin-top:2px; }
  .cc-act.accent { background:var(--brass); border-color:var(--brass); color:#fff; }
  .cc-act.accent small { opacity:0.9; }
  .cc-act.dark { background:var(--navy); border-color:var(--navy); color:#fff; }
  .cc-act.dark small { opacity:0.85; }
  .cc-act.done { background:rgba(224,73,44,0.08); border-color:var(--brass); color:var(--brass); cursor:default; }
  .cc-delete { background:none; border:0; color:var(--brick,#b23b2e); font-size:12.5px; cursor:pointer; text-decoration:underline; padding:4px 0; font-family:inherit; opacity:0.8; }
  .cc-delete:hover { opacity:1; }
  .kit-check { display:flex; gap:10px; align-items:flex-start; padding:8px 0; border-bottom:1px solid var(--line); font-size:13.5px; }
  .kit-check .mark { width:20px; height:20px; flex:0 0 20px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:800; }
  .kit-msg { border:1px solid var(--line); background:var(--paper); padding:10px 12px; margin-bottom:10px; }
  .kit-msg pre { white-space:pre-wrap; overflow-wrap:anywhere; word-break:break-word; font-family:inherit; font-size:13px; margin:6px 0 8px; line-height:1.5; }
  .cc-stat-box { border:1px solid var(--line); padding:16px; background:var(--paper); }
  .cc-panel { display:grid; grid-template-columns:1fr 1fr; gap:20px; border:1px solid var(--line); padding:20px; margin-bottom:20px; background:var(--paper); }
  @media (max-width:720px) {
    /* Categories: one swipeable row on phones instead of a tall wall of chips */
    #chips-row:has(.chip-more[aria-expanded="true"]) { flex-wrap:wrap !important; overflow-x:visible; margin-right:0; padding-right:0; }
    #chips-row { flex-wrap:nowrap !important; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; padding-bottom:6px; margin-right:-20px; padding-right:20px; }
    #chips-row::-webkit-scrollbar { display:none; }
    #chips-row .chip { flex:0 0 auto; white-space:nowrap; }
    .cc-panel { grid-template-columns:1fr; }
    .hero-inner { grid-template-columns:1fr !important; }
    #home-how-grid, #footer-grid, #bp-grid { grid-template-columns:1fr !important; }
    #mission-grid { grid-template-columns:1fr !important; }
    #mission-features-grid { grid-template-columns:1fr !important; gap:20px !important; }
    #mission-vertical-text { writing-mode:horizontal-tb !important; transform:none !important; font-size:32px !important; margin-bottom:16px; }
    .nav-links { flex-wrap:wrap; gap:10px 16px; row-gap:8px; }
    .topbar { flex-wrap:wrap; row-gap:10px; }
  }
  .logo { font-family:'Archivo',sans-serif; font-weight:800; font-size:22px; display:flex; align-items:center; gap:8px; }
  .logo .badge { color:var(--brass-light); }
  .btn { font-family:'Source Sans 3',sans-serif; font-weight:700; border:none; cursor:pointer; padding:9px 16px; font-size:14px; }
  .btn-brass { background:var(--brass); color:#fff; }
  .btn-brass:hover { background:var(--brass-light); }
  .btn-outline { background:transparent; border:2px solid var(--navy); color:var(--navy); }

  .section-nav { display:flex; background:var(--navy-light); padding:0 20px; }
  .section-tab { background:transparent; border:none; color:var(--on-navy-dim); padding:12px 18px; font-size:14px; font-weight:600; cursor:pointer; border-bottom:3px solid transparent; }
  .section-tab[aria-pressed="true"] { color:var(--on-navy); border-bottom-color:var(--brass); }

  .hero { background:var(--cream); color:var(--ink); padding:56px 24px 40px; }
  .hero-inner { max-width:1080px; margin:0 auto; }
  .hero h1 { font-size:clamp(24px,4vw,32px); margin:0 0 6px; }
  .hero p { color:var(--ink); margin:0 0 20px; max-width:480px; font-size:14.5px; }
  .search-row { display:flex; gap:10px; max-width:640px; flex-wrap:wrap; }
  .search-row input { flex:1; min-width:180px; padding:12px 16px; border:none; font-size:15px; background:#fff; color:#10151c; }
  .chips-row { display:flex; gap:8px; flex-wrap:wrap; margin-top:18px; }
  .cat-picker { display:none; }
  @media (max-width:720px) {
    #chips-row { display:none !important; }
    .cat-picker { display:flex; justify-content:space-between; align-items:center; width:100%; margin:0 0 14px; padding:13px 16px;
      background:var(--paper); border:1px solid var(--line); font-family:'Source Sans 3',sans-serif; font-size:15px; color:var(--ink); cursor:pointer; }
    .cat-picker strong { color:var(--brass); }
    #dir-filter-row { flex-wrap:wrap; justify-content:flex-start !important; }
    #dir-filter-row #distance-status:empty { display:none; }
    #dir-filter-row #distance-status { flex-basis:100%; }
    #dir-filter-row select { flex:1 1 calc(50% - 4px); min-width:0; height:42px; order:1; }   /* dropdowns on line 1, buttons on line 2 */
    #dir-filter-row .btn { order:2; }
    #dir-filter-row .btn { flex:1 1 calc(33.333% - 6px); min-width:0; padding:9px 6px !important; font-size:13px !important; white-space:nowrap; display:flex; align-items:center; justify-content:center; gap:4px; }
  }
  #app-sheet .cat-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding-bottom:6px; }
  #app-sheet .cat-grid button { padding:12px 10px; border:1px solid var(--line); background:var(--paper); font-family:'Source Sans 3',sans-serif;
    font-size:14px; font-weight:600; color:var(--ink); text-align:left; cursor:pointer; border-radius:8px; }
  #app-sheet .cat-grid button.on { background:var(--navy); color:#fff; border-color:var(--navy); }
  #app-sheet h4 { margin:0 0 10px; font-size:16px; }
  .chip.chip-more { background:transparent !important; border:1px dashed var(--line) !important; color:var(--brass) !important; font-weight:700; }
  .chip { background:var(--paper); border:1px solid var(--line); color:var(--ink); font-size:13px; padding:6px 13px; cursor:pointer; }
  .chip[aria-pressed="true"] { background:var(--navy); border-color:var(--navy); color:#fff; font-weight:700; }

  .section { max-width:1080px; margin:0 auto; padding:30px 20px; }
  .section-head { display:flex; align-items:baseline; justify-content:space-between; margin-bottom:14px; flex-wrap:wrap; gap:10px; }
  .section-head h2 { font-size:22px; margin:0; color:var(--navy); }
  .note { font-size:13px; opacity:0.75; }

  .grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:16px; }
  .card { position:relative; display:flex; gap:14px; background:var(--paper); border:1px solid var(--line); padding:16px 18px; cursor:pointer; }
  .card:hover { border-color:var(--brass); }
  .badge-tile { width:46px; height:46px; flex:0 0 46px; display:flex; align-items:center; justify-content:center; background:var(--navy); color:#fff; font-family:'Archivo',sans-serif; font-weight:700; font-size:18px; }
  .v-check { display:inline-flex; align-items:center; justify-content:center; width:15px; height:15px; background:var(--brass); color:#fff; font-size:9px; margin-left:5px; }
  .v-badge { display:inline-flex; align-items:center; gap:3px; margin-left:7px; padding:2px 7px; border-radius:20px; background:var(--forest); color:#fff;
             font-family:'IBM Plex Mono',monospace; font-size:9.5px; font-weight:700; letter-spacing:0.06em; vertical-align:middle; white-space:nowrap; line-height:1.5; }
  .v-badge.lg { font-size:11px; padding:3px 10px; margin-left:10px; vertical-align:6px; }
  .card-body div.name { display:block; padding-right:28px; }   /* name stacks above the badge, clear of the save button */
  .name .v-badge { display:table; margin:5px 0 0; }   /* on cards: its own line under the name, never cut off */
  .v-explain { background:var(--cream); border-left:3px solid var(--forest); padding:8px 12px; font-size:13px; margin:6px 0 10px; }
  .cert-chip { display:inline-flex; font-size:10.5px; font-weight:700; background:var(--navy); color:#fff; padding:2px 7px; margin-left:6px; }
  .card-body .name { font-family:'Archivo',sans-serif; font-weight:700; font-size:15.5px; display:flex; align-items:center; }
  .card-body .cat { font-size:12.5px; opacity:0.72; margin:2px 0 6px; }
  .stars { color:var(--brass); font-size:13px; }
  .empty-note { text-align:center; padding:40px 20px; opacity:0.7; font-size:14px; grid-column:1/-1; }

  .jobs-list, .deals-list { display:flex; flex-direction:column; gap:12px; }
  .job-card, .deal-card { display:flex; gap:14px; align-items:flex-start; background:var(--paper); border:1px solid var(--line); padding:16px 18px; }
  .job-title, .deal-title { font-family:'Archivo',sans-serif; font-weight:700; font-size:15.5px; }
  .job-biz, .deal-biz { font-size:13px; opacity:0.75; margin:2px 0 6px; }
  .job-meta { display:flex; gap:12px; flex-wrap:wrap; font-size:12.5px; opacity:0.75; margin-bottom:6px; }
  .job-meta .pay { color:var(--brass); font-weight:700; opacity:1; }
  .apply-btn { margin-top:10px; }

  .overlay { position:fixed; inset:0; background:rgba(15,27,45,0.55); display:none; align-items:center; justify-content:center; padding:16px; z-index:100; }
  .overlay.show { display:flex; }
  .modal { background:var(--paper); max-width:480px; width:100%; max-height:88vh; overflow-y:auto; position:relative; }
  .modal-close { position:absolute; top:12px; right:12px; background:rgba(0,0,0,0.15); color:#fff; border:none; width:30px; height:30px; font-size:16px; cursor:pointer; z-index:5; }
  .modal-content { padding:24px 26px 30px; }
  .modal-content h3 { font-size:22px; margin:0 0 8px; color:var(--navy); }
  .field { margin-bottom:14px; }
  .field label { display:block; font-size:12.5px; font-weight:700; text-transform:uppercase; letter-spacing:0.04em; opacity:0.65; margin-bottom:5px; }
  .field input, .field select, .field textarea { width:100%; padding:10px 12px; border:2px solid var(--line); font-size:15px; font-family:'Source Sans 3',sans-serif; background:var(--cream); color:var(--ink); }
  .checkbox-row label { display:flex; gap:8px; align-items:flex-start; font-size:13.5px; font-weight:400; text-transform:none; opacity:0.9; cursor:pointer; }
  .checkbox-row input { width:auto; margin-top:2px; }
  .type-picker { display:flex; flex-direction:column; gap:8px; }
  .type-option { display:flex; flex-direction:column; align-items:flex-start; text-align:left; background:var(--cream); border:2px solid var(--line); padding:12px 14px; cursor:pointer; font-weight:700; font-size:14.5px; color:var(--ink); }
  .type-option span { font-weight:400; font-size:12.5px; opacity:0.7; margin-top:3px; }
  .type-option[data-picked="true"] { border-color:var(--brass); background:rgba(232,89,12,0.08); }
  .idme-btn { display:flex; align-items:center; gap:8px; width:100%; background:#0b3558; color:#fff; border:none; padding:12px 16px; font-size:14.5px; font-weight:600; cursor:pointer; }
  .idme-btn-attn { outline: 3px solid #b23b2e; outline-offset: 2px; }
  .idme-mark { background:#fff; color:#0b3558; font-family:'Archivo',sans-serif; font-weight:800; font-size:12px; padding:2px 6px; }
  .idme-verified { display:flex; align-items:center; gap:8px; background:rgba(60,90,69,0.1); border:1px solid var(--forest); color:var(--forest); padding:11px 16px; font-size:14px; font-weight:700; }
  .reviews { border-top:1px solid var(--line); padding-top:14px; margin-top:16px; }
  .review { margin-bottom:12px; font-size:13.5px; }
  .review .who { font-weight:700; margin-right:6px; }
  .address-row { display:flex; justify-content:space-between; gap:8px; font-size:13.5px; opacity:0.85; margin:14px 0; flex-wrap:wrap; }
  .address-row a { color:var(--brass); font-weight:700; text-decoration:none; }

  /* ===== App mode: installed app (Google Play app, or added to a home screen) ===== */
  html.app-mode, html.app-mode body { -webkit-tap-highlight-color: transparent; overscroll-behavior-y: none; }
  html.app-mode body { padding-bottom: calc(66px + env(safe-area-inset-bottom, 0px)); }
  html.app-mode .topbar { flex-wrap: nowrap !important; padding: calc(10px + env(safe-area-inset-top, 0px)) 16px 10px; box-shadow: 0 1px 0 var(--line); }
  html.app-mode .topbar .logo img { height: 34px !important; width: auto !important; }
  html.app-mode #nav-links, html.app-mode #account-label, html.app-mode #open-list-flow, html.app-mode #open-sponsor { display: none !important; }
  html.app-mode #open-profile-btn { width: 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center; padding: 0; }
  html.app-mode footer, html.app-mode #install-banner, html.app-mode #directory-header { display: none !important; }   /* bottom tabs replace the website heading + sub-tabs */
  html.app-mode #businesses-section, html.app-mode #jobs-section, html.app-mode #deals-section, html.app-mode #events-section { padding-top: 18px !important; }
  html.app-mode #chat-bubble { bottom: calc(82px + env(safe-area-inset-bottom, 0px)) !important; right: 16px !important; }
  html.app-mode #compare-bar { bottom: calc(80px + env(safe-area-inset-bottom, 0px)) !important; }
  html.app-mode .toast { bottom: calc(84px + env(safe-area-inset-bottom, 0px)) !important; }
  html.app-mode button, html.app-mode .btn { touch-action: manipulation; }
  /* Navy app chrome: top bar (behind the phone's status bar), bottom tab bar, and overscroll areas */
  html.app-mode { background: #0d1e34; }
  html.app-mode .topbar { background: #0d1e34 !important; box-shadow: none !important; border-bottom: 1px solid rgba(255,255,255,0.08); }
  html.app-mode #open-profile-btn { background: rgba(255,255,255,0.1) !important; border: 1px solid rgba(255,255,255,0.18) !important; color: #fff !important; }
  html.app-mode #app-tabbar { background: #0d1e34 !important; border-top: 1px solid rgba(255,255,255,0.08) !important; box-shadow: none !important; }
  html.app-mode #app-tabbar button { color: #9aa7b8; }
  html.app-mode #app-tabbar button.active { color: #f26a43; }
  /* Google Play version: no purchase buttons anywhere */
  html.play-app [data-boost-id], html.play-app [data-plan-activate], html.play-app [data-plan-change], html.play-app [data-plan-cancel],
  html.play-app #billing-manage-btn, html.play-app #command-billing, html.play-app #jobs-post-btn, html.play-app [data-pay-job],
  html.play-app [data-feature-kind]:not([data-staff-feature]), html.play-app #open-sponsor, html.play-app .field:has(#lb-promo) { display: none !important; }
  .play-only { display: none; }
  html.play-app .play-only { display: inline; }
  #app-tabbar { display: none; }
  /* Animated launch intro (installed app only, once per launch): the splash logo does one 3D spin, then fades into the app. */
  #app-intro { display: none; }
  html.show-intro #app-intro { display: flex; position: fixed; inset: 0; z-index: 5000; background: #0d1e34; align-items: center; justify-content: center;
    perspective: 900px; animation: introOut .3s ease 1.15s forwards; }
  html.show-intro body { overflow: hidden; }
  #app-intro img { width: 104px; height: 104px; animation: introSpin .95s cubic-bezier(.45,.05,.25,1) .1s both; backface-visibility: visible; }
  @keyframes introSpin {
    0%   { transform: rotateY(0deg) scale(1); }
    50%  { transform: rotateY(180deg) scale(1.12); }
    100% { transform: rotateY(360deg) scale(1); }
  }
  @keyframes introOut { to { opacity: 0; visibility: hidden; } }
  html.app-mode #app-tabbar { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 140; background: var(--paper);
    border-top: 1px solid var(--line); padding: 6px 4px calc(6px + env(safe-area-inset-bottom, 0px)); box-shadow: 0 -4px 18px rgba(13,30,52,0.07); }
  #app-tabbar button { flex: 1; background: none; border: 0; padding: 4px 0; display: flex; flex-direction: column; align-items: center; gap: 3px;
    font-family: 'Source Sans 3', sans-serif; font-size: 11px; font-weight: 700; color: #6b7280; cursor: pointer; -webkit-user-select: none; user-select: none; }
  #app-tabbar button svg { width: 24px; height: 24px; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
  #app-tabbar button.active { color: var(--brass); }
  #app-sheet-overlay { display: none; position: fixed; inset: 0; z-index: 1000; background: rgba(13,30,52,0.45); }
  #app-sheet-overlay.show { display: block; }
  #app-sheet { position: absolute; left: 0; right: 0; bottom: 0; background: var(--paper); border-radius: 18px 18px 0 0;
    padding: 10px 16px calc(18px + env(safe-area-inset-bottom, 0px)); max-height: 80vh; overflow-y: auto; animation: sheetUp .22s ease-out; }
  @keyframes sheetUp { from { transform: translateY(100%); } to { transform: none; } }
  #app-sheet .grab { width: 40px; height: 5px; border-radius: 3px; background: var(--line); margin: 0 auto 12px; }
  #app-sheet .item { display: flex; align-items: center; gap: 14px; width: 100%; background: none; border: 0; border-bottom: 1px solid var(--line);
    padding: 14px 4px; font-family: 'Source Sans 3', sans-serif; font-size: 16px; font-weight: 600; color: var(--ink); text-align: left; cursor: pointer; }
  #app-sheet .item .ic { width: 28px; text-align: center; font-size: 18px; }
  #app-sheet .item.cta { color: var(--brass); }
  #app-sheet .small { display: flex; gap: 18px; padding: 14px 4px 0; font-size: 13px; }
  #app-sheet .small a { color: var(--ink); opacity: .7; }
  .toast { position:fixed; bottom:20px; left:50%; transform:translateX(-50%) translateY(20px); background:var(--navy); color:#fff; padding:10px 18px; font-size:14px; opacity:0; transition:opacity .2s, transform .2s; pointer-events:none; z-index:200; }
  .toast.show { opacity:1; transform:translateX(-50%) translateY(0); }
  footer { text-align:center; padding:30px 20px 50px; font-size:12px; opacity:0.55; }
  @media (max-width: 640px) { #open-sponsor { padding:6px 9px; font-size:12px; } }

  /* Admin dashboard: collapsible sections + compact lists */
  details.admin-fold { margin: 22px 0 0; border-top: 1px solid var(--line); }
  details.admin-fold > summary { cursor: pointer; list-style: none; padding: 12px 0; display: flex; align-items: center; gap: 8px; margin: 0; }
  details.admin-fold > summary::-webkit-details-marker { display: none; }
  details.admin-fold > summary::before { content: '▸'; font-size: 12px; width: 12px; transition: transform .15s; }
  details.admin-fold[open] > summary::before { transform: rotate(90deg); }
  details.admin-fold[open] { padding-bottom: 8px; }
  .admin-fold-badge { background: var(--brass); color: #fff; font-size: 10.5px; font-weight: 700; letter-spacing: 0; padding: 2px 8px; border-radius: 20px; }
  .admin-list-bar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0 0 8px; }
  .admin-list-search { flex: 1; min-width: 180px; padding: 8px 10px; border: 1px solid var(--line); font: inherit; font-size: 13px; background: var(--paper, #fff); color: var(--ink); }
  .admin-list-chips { display: flex; flex-wrap: wrap; gap: 6px; }
  .admin-chip { font: inherit; font-size: 12px; font-weight: 600; padding: 5px 10px; border: 1px solid var(--line); background: transparent; color: var(--ink); cursor: pointer; border-radius: 20px; }
  .admin-chip.on { background: var(--navy); border-color: var(--navy); color: #fff; }
  .admin-list > [hidden] { display: none !important; }
  .admin-list-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin-top: 8px; }
  .admin-list-more { background: transparent; border: 1px solid var(--line); color: var(--ink); font-size: 12px; padding: 5px 12px; }
  .admin-list-more[hidden] { display: none !important; }
  .traffic-locs { max-height: 240px; overflow-y: auto; }

  /* Podcasts */
  .pod-genres { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:18px; }
  .pod-chip { font:inherit; font-size:12.5px; font-weight:600; padding:6px 12px; border:1px solid var(--line); background:var(--paper); color:var(--ink); cursor:pointer; border-radius:20px; }
  .pod-chip span { opacity:.55; font-weight:700; margin-left:2px; }
  .pod-chip.on { background:var(--navy); border-color:var(--navy); color:#fff; }
  .pod-chip.on span { opacity:.8; }
  .pod-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:14px; }
  .pod-card { background:var(--paper); border:1px solid var(--line); padding:16px; cursor:pointer; display:flex; flex-direction:column; gap:10px; }
  .pod-card:hover, .pod-card:focus-visible { border-color:var(--brass); }
  .pod-top { display:flex; gap:12px; align-items:flex-start; }
  .pod-art { width:72px; height:72px; object-fit:cover; flex:none; background:#fff; border:1px solid var(--line); }
  .pod-art-empty { display:flex; align-items:center; justify-content:center; font-size:30px; background:var(--cream-dark, #e9e5dc); }
  .pod-name { font-weight:800; font-size:16px; line-height:1.25; }
  .pod-desc { margin:0; font-size:14px; line-height:1.45; opacity:.85; }
  .pod-links { display:flex; flex-wrap:wrap; gap:6px; margin-top:auto; }
  .pod-listen { display:inline-flex; align-items:center; gap:6px; color:#fff; text-decoration:none; font-size:12.5px; font-weight:700; padding:6px 10px; }

  /* Daily Muster */
  .muster { background:var(--paper); border:1px solid var(--line); border-top:4px solid var(--brass); padding:18px; }
  .muster-head { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:14px; flex-wrap:wrap; }
  .muster-date { font-family:'Archivo', sans-serif; font-weight:800; font-size:22px; margin-top:4px; }
  .muster-streak { font-weight:800; font-size:18px; background:var(--cream); border:1px solid var(--line); padding:8px 12px; display:flex; flex-direction:column; align-items:flex-end; line-height:1.2; }
  .muster-streak span { font-size:11px; font-weight:600; opacity:.6; letter-spacing:.5px; }
  .muster-grid { display:grid; grid-template-columns:1.3fr 1fr; gap:12px; }
  @media (max-width:760px){ .muster-grid { grid-template-columns:1fr; } }
  .muster-side { display:flex; flex-direction:column; gap:12px; }
  .muster-card { background:var(--cream); border:1px solid var(--line); padding:14px; }
  .muster-label { font-size:11px; font-weight:700; letter-spacing:1px; color:var(--brass); margin-bottom:8px; }
  .muster-q { font-weight:800; font-size:18px; line-height:1.3; margin-bottom:12px; }
  .muster-opts { display:grid; gap:8px; }
  .muster-opt { font:inherit; font-size:15px; text-align:left; padding:11px 12px; border:2px solid var(--line); background:var(--paper); color:var(--ink); cursor:pointer; }
  .muster-opt:hover:not([disabled]) { border-color:var(--navy); }
  .muster-opt[disabled] { cursor:default; opacity:.75; }
  .muster-opt.right { border-color:#2e7d32; background:#e8f5e9; opacity:1; font-weight:700; }
  .muster-opt.wrong { border-color:#c62828; background:#fdecea; opacity:1; }
  .muster-result { margin-top:12px; font-size:14.5px; line-height:1.45; }
  .muster-mt { font-weight:800; font-size:16px; margin-bottom:4px; }
  .muster-mb { margin:0; font-size:14px; line-height:1.45; opacity:.85; }
  .muster-fb { cursor:pointer; }
  .muster-fb:hover, .muster-fb:focus-visible { border-color:var(--brass); }
  .muster-fb-logo { width:48px; height:48px; object-fit:cover; flex:none; border:1px solid var(--line); background:#fff; }
  .muster-fb-empty { display:flex; align-items:center; justify-content:center; font-weight:800; font-size:20px; background:var(--navy); color:#fff; }

  /* Header: keep buttons on one line; on mid-size and small screens move the menu to a tidy scrollable row */
  #account-label, #account-label a, #open-list-flow, #open-sponsor { white-space:nowrap; }
  @media (max-width:1180px){
    .topbar { flex-wrap:wrap; row-gap:10px; }
    .topbar .nav-links { order:3; width:100%; flex-wrap:nowrap !important; overflow-x:auto; -webkit-overflow-scrolling:touch; gap:24px !important; scrollbar-width:none; border-top:1px solid var(--line); padding-top:10px; }
    .topbar .nav-links::-webkit-scrollbar { display:none; }
    .topbar .nav-link { white-space:nowrap; flex:0 0 auto; }
  }
  @media (max-width:560px){
    .topbar { padding:12px 16px; }
    #account-label { display:none !important; }   /* the ☰ button handles sign-in and account on phones */
    .topbar .logo img { height:44px !important; width:auto !important; }
    #open-list-flow { padding:9px 12px; font-size:13px; }
  }

  /* Affiliate program */
  .aff-lead { font-size:17px; line-height:1.5; max-width:620px; margin:0 0 18px; }
  .aff-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:16px; }
  @media (max-width:720px){ .aff-grid { grid-template-columns:1fr; } }
  .aff-step, .aff-card { background:var(--paper); border:1px solid var(--line); padding:16px; }
  .aff-card { margin-bottom:14px; }
  .aff-num { width:30px; height:30px; background:var(--brass); color:#fff; font-weight:800; display:flex; align-items:center; justify-content:center; margin-bottom:8px; }
  .aff-radio { display:flex; gap:8px; align-items:flex-start; font-size:14.5px; margin-bottom:8px; line-height:1.4; }
  .aff-radio input { margin-top:3px; }
  .aff-input { width:100%; padding:10px 12px; border:1px solid var(--line); font:inherit; font-size:14px; margin:4px 0 10px; background:var(--cream); color:var(--ink); }
  .aff-rules { margin-top:8px; font-size:13.5px; }
  .aff-rules summary { cursor:pointer; font-weight:700; }
  .aff-rules ul { margin:8px 0 0; padding-left:18px; line-height:1.55; }
  .aff-share { display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
  .aff-share .btn { background:var(--cream); border:1px solid var(--line); color:var(--ink); text-decoration:none; font-size:13px; padding:7px 12px; }
  .aff-stats, .aff-admin-tiles { display:grid; grid-template-columns:repeat(5,1fr); gap:8px; margin-bottom:14px; text-align:center; }
  .aff-admin-tiles { grid-template-columns:repeat(4,1fr); }
  .aff-stats > div, .aff-admin-tiles > div { background:var(--paper); border:1px solid var(--line); padding:10px 6px; }
  @media (max-width:600px){ .aff-stats, .aff-admin-tiles { grid-template-columns:repeat(2,1fr); } }
  .aff-big { font-weight:800; font-size:20px; color:var(--ink); }
  .aff-row { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; align-items:center; padding:10px 0; border-bottom:1px solid var(--line); font-size:14px; color:var(--ink); }
  .aff-tabs { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:10px; }

  /* Referral welcome banner */
  .ref-welcome { background:var(--brass); color:#fff; }
  .ref-welcome-inner { max-width:1080px; margin:0 auto; padding:12px 24px; display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; font-size:15px; line-height:1.4; }
  .ref-welcome-actions { display:flex; align-items:center; gap:8px; }
  .ref-welcome .btn-brass { background:#fff !important; color:var(--brass) !important; }
  .ref-welcome-x { background:transparent; border:0; color:#fff; font-size:18px; cursor:pointer; padding:4px 8px; opacity:.85; }
  .ref-welcome[hidden] { display:none !important; }

  .muster-form { display:flex; gap:8px; margin-top:4px; }
  .muster-form input { flex:1; min-width:0; font:inherit; font-size:16px; padding:11px 12px; border:2px solid var(--line); background:var(--paper); color:var(--ink); }
  .muster-form input:focus { outline:none; border-color:var(--navy); }
  .muster-guess { display:flex; gap:8px; align-items:center; padding:8px 10px; margin-bottom:6px; font-weight:600; border:2px solid; }
  .muster-guess.no { border-color:#c62828; background:#fdecea; color:#7f1d1d; }
  .muster-guess.ok { border-color:#2e7d32; background:#e8f5e9; color:#1b5e20; }
  .muster-hint { font-size:14px; background:#fff8e1; border-left:4px solid #f2b705; padding:8px 10px; margin-bottom:8px; }
  .muster-dots { display:inline-flex; gap:5px; align-items:center; }
  .muster-dot { width:12px; height:12px; border:2px solid var(--line); background:var(--paper); display:inline-block; }
  .muster-dot.no { background:#c62828; border-color:#c62828; }
  .muster-dot.ok { background:#2e7d32; border-color:#2e7d32; }

  /* Daily Muster: home launcher + full-screen game */
  .muster-launch { display:block; width:100%; text-align:left; font:inherit; color:var(--ink); cursor:pointer; border:2px solid var(--navy); }
  .muster-launch:hover, .muster-launch:focus-visible { border-color:var(--brass); }
  .muster-launch-title { font-family:'Archivo',sans-serif; font-weight:800; font-size:24px; line-height:1.15; margin:6px 0; }
  .muster-launch-cta { display:inline-block; margin-top:14px; background:var(--brass); color:#fff; font-weight:700; padding:10px 16px; }
  html.muster-open, html.muster-open body { overflow:hidden; }
  .muster-game { position:fixed; inset:0; z-index:9999; background:var(--navy); color:#fff; overflow-y:auto; -webkit-overflow-scrolling:touch;
    padding:env(safe-area-inset-top,0px) 0 env(safe-area-inset-bottom,0px); animation:mgIn .22s ease-out; }
  .muster-game[hidden] { display:none !important; }
  @keyframes mgIn { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:none; } }
  @media (prefers-reduced-motion: reduce){ .muster-game { animation:none; } .mg-form.shake { animation:none !important; } }
  .mg-wrap { max-width:560px; margin:0 auto; min-height:100%; display:flex; flex-direction:column; padding:0 18px 28px; }
  .mg-top { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:14px 0; border-bottom:1px solid rgba(255,255,255,.12); }
  .mg-close { background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.2); color:#fff; width:40px; height:40px; font-size:18px; cursor:pointer; }
  .mg-title { font-family:'Archivo',sans-serif; font-weight:900; letter-spacing:1px; font-size:18px; }
  .mg-title span { color:var(--brass); }
  .mg-streak { font-weight:800; font-size:18px; min-width:40px; text-align:right; }
  .mg-body { flex:1; display:flex; flex-direction:column; justify-content:center; padding:28px 0; }
  .mg-dots { display:flex; justify-content:center; margin-bottom:22px; }
  .mg-dots .muster-dot { width:22px; height:22px; border-color:rgba(255,255,255,.35); background:transparent; }
  .mg-dots .muster-dot.no { background:#c62828; border-color:#c62828; }
  .mg-dots .muster-dot.ok { background:#2e9e45; border-color:#2e9e45; }
  .mg-q { font-family:'Archivo',sans-serif; font-weight:800; font-size:clamp(24px,6vw,34px); line-height:1.2; text-align:center; margin-bottom:24px; }
  .mg-tries .muster-guess { font-size:16px; }
  .mg-tries .muster-hint { color:#3a2e00; }
  .mg-form input { font-size:18px; padding:14px; }
  .mg-form .btn { padding:0 20px; font-size:16px; }
  .mg-form.shake { animation:mgShake .35s; }
  @keyframes mgShake { 0%,100% { transform:none; } 25% { transform:translateX(-8px); } 75% { transform:translateX(8px); } }
  .mg-left { color:rgba(255,255,255,.7) !important; text-align:center; margin-top:10px; }
  .mg-result { text-align:center; margin-top:8px; }
  .mg-result p { color:rgba(255,255,255,.85); line-height:1.5; }
  .mg-stat { margin:6px auto 14px; max-width:360px; text-align:left; }
  .mg-stat-head { font-size:11.5px; letter-spacing:.08em; text-transform:uppercase; color:rgba(255,255,255,.6); margin-bottom:6px; text-align:center; }
  .mg-bar { display:grid; grid-template-columns:70px 1fr 74px; align-items:center; gap:8px; font-size:13px; color:rgba(255,255,255,.85); margin:4px 0; }
  .mg-bar-track { height:12px; background:rgba(255,255,255,.12); overflow:hidden; }
  .mg-bar-fill { display:block; height:100%; background:rgba(255,255,255,.45); }
  .mg-bar.me .mg-bar-fill { background:var(--brass); }
  .mg-bar.me { color:#fff; font-weight:700; }
  .mg-bar-pct { text-align:right; white-space:nowrap; }
  .mg-result-big { font-family:'Archivo',sans-serif; font-weight:900; font-size:30px; margin-bottom:6px; }
  .mg-answer { font-family:'Archivo',sans-serif; font-weight:900; font-size:34px; color:var(--brass); margin-bottom:8px; }
  .mg-btn { padding:14px 26px; font-size:17px; margin-top:6px; }
  .mg-result .note { color:rgba(255,255,255,.7) !important; }

  .lvl { display:inline-block; font-size:11px; font-weight:800; letter-spacing:.5px; padding:2px 8px; color:#fff; vertical-align:middle; }
  .lvl-e { background:#2e7d32; } .lvl-m { background:#b26a00; } .lvl-h { background:#b71c1c; }
  .mg-dots { align-items:center; gap:12px; }

  /* Founding Member offer banner (homepage) */
  .founder-banner { max-width: 1080px; margin: 0 auto 22px; display: flex; align-items: center; justify-content: space-between; gap: 18px;
    background: var(--navy); color: #fff; padding: 16px 20px; border-left: 4px solid var(--brass); }
  .founder-banner .founder-head { font-size: 18px; font-weight: 800; line-height: 1.25; }
  .founder-banner .founder-sub { font-size: 13.5px; opacity: 0.85; margin-top: 4px; line-height: 1.45; }
  .founder-banner .founder-code { font-family: 'IBM Plex Mono', monospace; background: rgba(255,255,255,0.12); padding: 1px 6px; letter-spacing: 0.04em; }
  .founder-banner .founder-actions { display: flex; gap: 10px; flex: 0 0 auto; flex-wrap: wrap; }
  .founder-banner .btn { flex: 0 0 auto; white-space: nowrap; }
  .founder-banner .founder-share { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,0.5); }
  @media (max-width: 640px) { .founder-banner { flex-direction: column; align-items: flex-start; } .founder-banner .founder-actions { width: 100%; } .founder-banner .btn { width: 100%; } }
  html.play-app #founder-banner { display: none !important; }

  /* Review links: highlight the review form when arriving from an owner's review request */
  #bp-review-box.review-callout { border: 2px solid var(--brass); padding: 16px; background: rgba(224,73,44,0.06); }
  /* Google Play link: website only (hidden inside the installed apps) */
  html.app-mode .web-only-link, html.play-app .web-only-link { display: none !important; }

  /* Mission page: founder story */
  .founder-story { margin-top: 50px; display: grid; grid-template-columns: 260px 1fr; gap: 34px; align-items: start;
    border-top: 1px solid var(--line); padding-top: 34px; }
  .founder-story-photo { width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; display: block; border-bottom: 4px solid var(--brass); }
  .founder-story-text p { font-size: 16px; line-height: 1.65; margin: 0 0 14px; max-width: 640px; }
  .founder-story-sig { font-size: 14px; margin-top: 6px; opacity: 0.85; }
  @media (max-width: 760px) { .founder-story { grid-template-columns: 1fr; gap: 20px; } .founder-story-photo { max-width: 320px; } }

/* City / Town suggestions under the field */
.town-suggest { border:2px solid var(--line); border-top:none; background:var(--paper, #fff); }
.town-suggest button { display:block; width:100%; text-align:left; background:none; border:none; border-bottom:1px solid var(--line); padding:9px 12px; font:inherit; font-size:14px; color:var(--ink); cursor:pointer; }
.town-suggest button:last-child { border-bottom:none; }
.town-suggest button:hover, .town-suggest button:focus { background:var(--cream); }

/* Google Play: Google's official badge in the header and under the search box (hidden inside the apps and on iPhone/iPad).
   The image has built-in padding, trimmed with negative margins. If it can't load, a simple black button shows instead. */
.play-official { display:inline-flex; align-items:center; text-decoration:none; line-height:0; }
.play-official img { display:block; width:auto; }
.play-official .play-fallback { display:none; }
.play-official.img-failed img { display:none; }
.play-official.img-failed .play-fallback { display:inline-flex; align-items:center; gap:8px; background:#000; color:#fff; padding:9px 14px; border-radius:6px; font-weight:700; line-height:1.1; white-space:nowrap; }
.play-header-btn img { height:54px; margin:-8px -6px; }
.play-badge { margin-top:12px; display:inline-flex; }
.play-badge:not(.img-failed) { margin-left:-10px; }
.play-badge img { height:72px; }
.play-badge .play-fallback span { display:flex; flex-direction:column; font-size:18px; }
.play-badge .play-fallback small { font-size:10px; letter-spacing:0.06em; opacity:0.85; }
@media (max-width:560px){
  .play-header-btn img { height:44px; margin:-6px -5px; }
}
html.is-ios .android-link { display:none !important; }

/* For business owners page (/list) */
.owners-hero { display:grid; grid-template-columns:1.15fr 0.85fr; gap:40px; align-items:start; padding-top:10px; }
.owners-example-link { display:inline-block; margin-top:10px; color:var(--brass); font-weight:700; font-size:14px; text-decoration:none; }
.owners-founder { background:var(--cream); border:1px solid var(--line); border-left:4px solid var(--brass); padding:10px 14px; font-size:14px; line-height:1.5; }
.owners-founder .founder-code { font-family:'IBM Plex Mono',monospace; font-weight:700; background:#fff; border:1px solid var(--line); padding:1px 6px; }
.owners-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.owners-card { border:1px solid var(--line); background:var(--paper); padding:20px; }
.owners-card .ic { font-size:22px; margin-bottom:8px; color:var(--brass); font-weight:900; }
.owners-card h3, .owners-steps h3 { font-size:17px; margin:0 0 6px; }
.owners-card p, .owners-steps p { font-size:14px; line-height:1.55; opacity:0.78; margin:0; }
.owners-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.owners-steps > div { border:1px solid var(--line); background:var(--paper); padding:22px 20px; }
.owners-steps .num { font-family:'Archivo',sans-serif; font-weight:900; font-size:32px; color:var(--brass); margin-bottom:8px; }
.owners-pricing { grid-template-columns:repeat(2,1fr); max-width:720px; }
.owners-pricing .price { font-size:30px; font-weight:900; margin:2px 0 6px; }
.owners-pricing .price span { font-size:13px; font-weight:600; opacity:0.7; }
.owners-pricing .pro { border:2px solid var(--brass); }
.owners-faq { max-width:780px; }
.owners-faq details { border-bottom:1px solid var(--line); padding:12px 0; }
.owners-faq summary { cursor:pointer; font-weight:700; font-size:15px; }
.owners-faq p { margin:8px 0 0; font-size:14px; line-height:1.6; opacity:0.8; }
.owners-cta { margin-top:40px; background:var(--navy); color:#fff; padding:28px 30px; display:flex; justify-content:space-between; align-items:center; gap:18px; flex-wrap:wrap; }
.nominate-box { margin-top:24px; border:1px dashed var(--brass); background:var(--paper); padding:16px 18px; display:flex; justify-content:space-between; align-items:center; gap:14px; flex-wrap:wrap; font-size:14.5px; }
.nominate-box span { opacity:0.8; }
html.play-app .no-play { display:none !important; }
@media (max-width:760px){
  .owners-hero { grid-template-columns:1fr; gap:26px; }
  .owners-grid, .owners-steps, .owners-pricing { grid-template-columns:1fr; }
}

/* Home: "Own a veteran-owned business?" card linking to /list */
.home-owners-card { display:flex; align-items:center; gap:14px; background:var(--navy); color:#fff; text-decoration:none; padding:14px 16px; border-left:5px solid var(--brass); margin:16px 0 0; max-width:560px; }
.home-owners-card:hover { filter:brightness(1.08); }
.home-owners-card .ho-ic { font-size:28px; flex:0 0 auto; }
.home-owners-card .ho-text { flex:1; min-width:0; display:flex; flex-direction:column; gap:3px; }
.home-owners-card .ho-text strong { font-size:17px; }
.home-owners-card .ho-text span { font-size:13.5px; opacity:0.85; line-height:1.45; }
.home-owners-card .ho-go { flex:0 0 auto; background:var(--brass); color:#fff; font-weight:800; font-size:14px; padding:10px 14px; white-space:nowrap; }
@media (max-width:640px){
  .home-owners-card { flex-wrap:wrap; padding:16px; gap:10px 14px; }
  .home-owners-card .ho-go { width:100%; text-align:center; }
}

/* Event signup: disclaimer / waiver */
.es-waiver { border:1px solid var(--line); background:var(--cream); padding:12px 14px; margin:0 0 12px; }
.es-waiver-head { font-weight:700; font-size:14px; margin-bottom:6px; }
.es-waiver-text { max-height:180px; overflow:auto; background:#fff; border:1px solid var(--line); padding:10px 12px; font-size:13px; line-height:1.5; margin-bottom:10px; }
.es-check { display:flex; gap:8px; align-items:flex-start; font-size:13.5px; cursor:pointer; }
.es-check input { margin-top:3px; }
/* Event disclaimer: full-screen reader + signature pad */
#waiver-overlay { position:fixed; inset:0; z-index:1200; background:#3a3833; display:flex; flex-direction:column; }
.wv-head { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:10px 14px; background:#fff; border-bottom:1px solid var(--line); }
.wv-title strong { display:block; font-size:15px; line-height:1.2; }
.wv-close { width:36px; height:36px; border:0; background:var(--cream); color:var(--ink); font-size:16px; cursor:pointer; flex:none; }
.wv-pages { flex:1; overflow:auto; padding:12px 12px 20px; -webkit-overflow-scrolling:touch; }
.wv-page { display:block; margin:0 auto 12px; background:#fff; box-shadow:0 2px 10px rgba(0,0,0,0.35); max-width:100%; }
.wv-end { text-align:center; color:#d9d4c8; font-size:12.5px; letter-spacing:.04em; text-transform:uppercase; padding:6px 0 10px; }
.wv-foot { background:#fff; border-top:1px solid var(--line); padding:10px 14px calc(10px + env(safe-area-inset-bottom)); }
.wv-hint { text-align:center; font-size:13.5px; font-weight:600; color:var(--ink); }
.wv-sign-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:6px; font-size:14px; }
.wv-clear { border:1px solid var(--line); background:transparent; color:var(--ink); font-size:12px; padding:3px 10px; cursor:pointer; }
.wv-pad { display:block; width:100%; height:130px; background:var(--cream); border:1px dashed rgba(20,20,20,0.35); touch-action:none; cursor:crosshair; }
.wv-sign-row { display:flex; gap:8px; margin-top:8px; }
.wv-sign-row input { flex:1; min-width:0; padding:10px 12px; border:1px solid var(--line); font:inherit; font-size:14px; }
.wv-sign-row .btn { white-space:nowrap; }
@media (min-width:700px){ .wv-foot { padding-left:max(14px, calc(50% - 420px)); padding-right:max(14px, calc(50% - 420px)); } }
/* Promote an event (Command Center) */
.pm-section { border:1px solid var(--line); background:var(--cream); padding:12px 14px; margin-top:14px; }
.pm-head { font-weight:700; font-size:14px; margin-bottom:6px; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.pm-free { font-size:10.5px; font-weight:700; letter-spacing:.06em; background:var(--brass); color:#fff; padding:2px 7px; }
/* The owner's story on a listing */
.owner-story { display:flex; gap:14px; align-items:flex-start; background:var(--cream); border:1px solid var(--line); border-left:4px solid var(--navy); padding:14px 16px; margin:0 0 16px; }
.owner-story-photo { width:84px; height:84px; object-fit:cover; border-radius:50%; flex:none; border:3px solid #fff; box-shadow:0 1px 4px rgba(0,0,0,0.18); }
@media (max-width:480px){ .owner-story-photo { width:64px; height:64px; } }
/* Embeddable badge box (Command Center) */
.badge-box code { display:block; white-space:pre-wrap; word-break:break-all; font-size:11.5px; background:#fff; border:1px solid var(--line); padding:10px; margin:8px 0; }
/* Requests ("I need a veteran-owned ___") */
.requests-box { margin-top:34px; padding-top:22px; border-top:1px solid var(--line); }
.rq-card { border:1px solid var(--line); background:#fff; padding:12px 14px; margin-bottom:10px; display:flex; justify-content:space-between; gap:12px; align-items:flex-start; flex-wrap:wrap; }
.rq-card .rq-title { font-weight:700; font-size:15px; }
.rq-card .rq-meta { font-size:12.5px; opacity:.75; margin-top:2px; }
.rq-card .rq-details { font-size:13.5px; margin-top:6px; line-height:1.5; }
.rq-chip { display:inline-block; font-size:10.5px; font-weight:700; letter-spacing:.05em; padding:2px 7px; background:var(--cream); border:1px solid var(--line); margin-right:4px; }
