/* HereQ v6.1 web surface ("Quiet ledger"). HereQ-local visual system for the homepage, 내 참여, 행사 관리, 조직 관리 and the
   guest check-in host. Loaded after hereq.css. Every class here is hq-prefixed, so the older screens that are still
   reachable (live QR hosting, scanning, projector, Personal settings, Terms gate, dialogs) keep their own styles.
   v6.1 (owner addendum 2026-10-23): warm white and quiet paper, near-black ink, ONE subdued bronze accent (sand in dark).
   Green only for a recorded success. No gradients (except the legibility scrims on marketing photographs), no tilted cards,
   no ornamental badges. Real hierarchy: a strong
   display heading, a compact body scale, aligned tables with tabular figures. Semantic states always carry a word and
   a shape, never colour alone. No inline styles: CSP style-src 'self' (element.style from script is allowed). */

:root {
  --hq-paper: #f3f1ed; --hq-surface: #ffffff; --hq-sunken: #e8e4dd; --hq-quiet: #ece8e1; --hq-line: #d9d4cb; --hq-hair: #e7e3dc;
  --hq-ink: #0f1114; --hq-body: #3d4045; --hq-muted: #5c5f64; --hq-edge: #8a857d;
  --hq-bronze: #7a5c3b; --hq-bronze-wash: #f1e9de; --hq-bronze-line: #dccab3;
  --hq-check: #7a5c3b; --hq-check-wash: #f1e9de; --hq-focus: #1d58c9;
  --hq-action: #0f1114; --hq-action-ink: #f3f1ed; --hq-action-hover: #2b2e34;
  --hq-stage: #111317; --hq-stage-2: #1b1e23; --hq-stage-line: #2f343b; --hq-stage-text: #f2efea; --hq-stage-muted: #b0b4ba;
  --hq-gold: #c9b394; --hq-stage-check: #7bd3a5;
  --hq-ok: #1e6a44; --hq-ok-soft: #e5f1ea; --hq-warn: #7a531a; --hq-warn-soft: #f6eddc;
  --hq-bad: #a8283a; --hq-bad-soft: #f8e8ea; --hq-info: #2c5874; --hq-info-soft: #e6eef3; --hq-plain-soft: #efebe4;
  --hq-s1: #7a5c3b; --hq-s2: #b08e66; --hq-s3: #d8c4a6; --hq-s4: #3d4045; --hq-s5: #a7aaae;
  --hq-cover-a: #111317; --hq-cover-a-ink: #c9b394; --hq-cover-b: #7a5c3b; --hq-cover-b-ink: #f7f2ea;
  --hq-cover-c: #3a3128; --hq-cover-c-ink: #ead9c1; --hq-cover-d: #e4dccf; --hq-cover-d-ink: #111317;
  --hq-shadow: 0 1px 2px rgb(17 19 23 / 5%), 0 12px 32px -12px rgb(17 19 23 / 14%);
  --hq-shadow-lg: 0 2px 4px rgb(17 19 23 / 4%), 0 32px 72px -24px rgb(17 19 23 / 22%);
  --hq-ui: "Archivo", -apple-system, BlinkMacSystemFont, "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", Roboto, sans-serif;
  --hq-mono: "Martian Mono", ui-monospace, "SF Mono", Menlo, monospace;
  --hq-r-xs: 6px; --hq-r-sm: 9px; --hq-r: 12px; --hq-r-lg: 20px;
  --hq-gutter: 16px; --hq-max: 1200px; --hq-ov: 0px; --hq-photo: none; --hq-photo-fade: var(--hq-paper);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --hq-paper: #0f1114; --hq-surface: #171a1f; --hq-sunken: #1f2329; --hq-quiet: #1a1d22; --hq-line: #363c44; --hq-hair: #2a2f36;
    --hq-ink: #f3f1ed; --hq-body: #c8cbd0; --hq-muted: #a6abb1; --hq-edge: #717880;
    --hq-bronze: #cdb497; --hq-bronze-wash: #2a251e; --hq-bronze-line: #4d4235;
    --hq-check: #cdb497; --hq-check-wash: #2a251e; --hq-focus: #8db4ff;
    --hq-action: #cdb497; --hq-action-ink: #111317; --hq-action-hover: #dcc7ad;
    --hq-stage: #1b1e23; --hq-stage-2: #23272e; --hq-stage-line: #363c44;
    --hq-ok: #7bd3a5; --hq-ok-soft: #14241c; --hq-warn: #f0c36e; --hq-warn-soft: #271f10;
    --hq-bad: #ff9fa6; --hq-bad-soft: #2b1619; --hq-info: #9cc4e6; --hq-info-soft: #142230; --hq-plain-soft: #23272e;
    --hq-s1: #cdb497; --hq-s2: #9c7c57; --hq-s3: #6b5641; --hq-s4: #c8cbd0; --hq-s5: #5f656c;
    --hq-cover-a: #23272e; --hq-cover-c: #2e2820; --hq-cover-d: #3a342b; --hq-cover-d-ink: #f2efea;
    --hq-shadow: 0 0 0 1px rgb(0 0 0 / 20%); --hq-shadow-lg: 0 0 0 1px rgb(0 0 0 / 25%), 0 32px 72px -24px rgb(0 0 0 / 60%);
    --hq-photo: brightness(.84) saturate(.95); --hq-photo-fade: #15120f;
  }
}
:root[data-theme="dark"] {
  --hq-paper: #0f1114; --hq-surface: #171a1f; --hq-sunken: #1f2329; --hq-quiet: #1a1d22; --hq-line: #363c44; --hq-hair: #2a2f36;
  --hq-ink: #f3f1ed; --hq-body: #c8cbd0; --hq-muted: #a6abb1; --hq-edge: #717880;
  --hq-bronze: #cdb497; --hq-bronze-wash: #2a251e; --hq-bronze-line: #4d4235;
  --hq-check: #cdb497; --hq-check-wash: #2a251e; --hq-focus: #8db4ff;
  --hq-action: #cdb497; --hq-action-ink: #111317; --hq-action-hover: #dcc7ad;
  --hq-stage: #1b1e23; --hq-stage-2: #23272e; --hq-stage-line: #363c44;
  --hq-ok: #7bd3a5; --hq-ok-soft: #14241c; --hq-warn: #f0c36e; --hq-warn-soft: #271f10;
  --hq-bad: #ff9fa6; --hq-bad-soft: #2b1619; --hq-info: #9cc4e6; --hq-info-soft: #142230; --hq-plain-soft: #23272e;
  --hq-s1: #cdb497; --hq-s2: #9c7c57; --hq-s3: #6b5641; --hq-s4: #c8cbd0; --hq-s5: #5f656c;
  --hq-cover-a: #23272e; --hq-cover-c: #2e2820; --hq-cover-d: #3a342b; --hq-cover-d-ink: #f2efea;
  --hq-shadow: 0 0 0 1px rgb(0 0 0 / 20%); --hq-shadow-lg: 0 0 0 1px rgb(0 0 0 / 25%), 0 32px 72px -24px rgb(0 0 0 / 60%);
  --hq-photo: brightness(.84) saturate(.95); --hq-photo-fade: #15120f;
}

/* ------------------------------------------------------------------ base */
body.hq { margin: 0; background: var(--hq-paper); color: var(--hq-ink); font: 16px/1.55 var(--hq-ui); -webkit-text-size-adjust: 100%; -webkit-font-smoothing: antialiased; }
body.hq * { box-sizing: border-box; }
:where(body.hq) a { color: var(--hq-bronze); text-underline-offset: .2em; }
body.hq :focus-visible { outline: 3px solid var(--hq-focus); outline-offset: 2px; border-radius: 4px; }
:lang(ko) body.hq { word-break: keep-all; overflow-wrap: anywhere; }
body.hq h1, body.hq h2, body.hq h3 { color: var(--hq-ink); margin: 0; }
body.hq p { margin: 0; }
.hq-skip { position: absolute; left: 12px; top: -60px; z-index: 50; background: var(--hq-action); color: var(--hq-action-ink) !important; padding: 10px 14px; border-radius: var(--hq-r-sm); }
.hq-skip:focus { top: 12px; }
.hq-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.hq-wrap { max-width: var(--hq-max); margin: 0 auto; padding: 0 var(--hq-gutter); }
@media (min-width: 720px) { :root { --hq-gutter: 32px; } }
@media (min-width: 1100px) { :root { --hq-gutter: 40px; } }
.hq-mono { font-family: var(--hq-mono); font-size: .82em; letter-spacing: 0; font-variant-numeric: tabular-nums; }
.hq-num { font-variant-numeric: tabular-nums; }
.hq-muted { color: var(--hq-muted); }
.hq-body { color: var(--hq-body); }
.hq-small { font-size: 14px; }
.hq-tiny { font-size: 13px; }
.hq-accent { color: var(--hq-bronze); }
[hidden] { display: none !important; }

/* ------------------------------------------------------------------ icons (CSS masks: take the text colour) */
.hq-i { display: inline-block; width: 20px; height: 20px; flex: none; background: currentColor; -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat; vertical-align: -4px; }
.hq-i--sm { width: 16px; height: 16px; vertical-align: -3px; }
.hq-i--lg { width: 24px; height: 24px; }
/* ICONS (generated by design/v61/icons.mjs) */
.hq-i--calendar { --i: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%273.5%27%20y%3D%275%27%20width%3D%2717%27%20height%3D%2715.5%27%20rx%3D%272.5%27%2F%3E%3Cpath%20d%3D%27M3.5%2010h17M8%203v4M16%203v4%27%2F%3E%3C%2Fsvg%3E"); }
.hq-i--pin { --i: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%2021s-6.5-5.6-6.5-11a6.5%206.5%200%200%201%2013%200c0%205.4-6.5%2011-6.5%2011z%27%2F%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2710%27%20r%3D%272.3%27%2F%3E%3C%2Fsvg%3E"); }
.hq-i--users { --i: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%279%27%20cy%3D%278.5%27%20r%3D%273.2%27%2F%3E%3Cpath%20d%3D%27M3%2019.5c.6-3.2%203-5%206-5s5.4%201.8%206%205%27%2F%3E%3Cpath%20d%3D%27M15.5%205.6a3%203%200%200%201%200%205.8M17.6%2014.8c1.8.6%203%202.2%203.4%204.7%27%2F%3E%3C%2Fsvg%3E"); }
.hq-i--user { --i: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%278%27%20r%3D%273.6%27%2F%3E%3Cpath%20d%3D%27M4.5%2020c.8-3.8%203.6-6%207.5-6s6.7%202.2%207.5%206%27%2F%3E%3C%2Fsvg%3E"); }
.hq-i--check { --i: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%278.5%27%2F%3E%3Cpath%20d%3D%27m8.2%2012.3%202.6%202.6%205-5.4%27%2F%3E%3C%2Fsvg%3E"); }
.hq-i--clock { --i: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%278.5%27%2F%3E%3Cpath%20d%3D%27M12%207.5V12l3%202%27%2F%3E%3C%2Fsvg%3E"); }
.hq-i--review { --i: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%203.5%2020.5%2012%2012%2020.5%203.5%2012z%27%2F%3E%3Cpath%20d%3D%27M12%208.5v4M12%2015.5v.01%27%2F%3E%3C%2Fsvg%3E"); }
.hq-i--grid { --i: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%274%27%20y%3D%274%27%20width%3D%276.5%27%20height%3D%276.5%27%20rx%3D%271.5%27%2F%3E%3Crect%20x%3D%2713.5%27%20y%3D%274%27%20width%3D%276.5%27%20height%3D%276.5%27%20rx%3D%271.5%27%2F%3E%3Crect%20x%3D%274%27%20y%3D%2713.5%27%20width%3D%276.5%27%20height%3D%276.5%27%20rx%3D%271.5%27%2F%3E%3Crect%20x%3D%2713.5%27%20y%3D%2713.5%27%20width%3D%276.5%27%20height%3D%276.5%27%20rx%3D%271.5%27%2F%3E%3C%2Fsvg%3E"); }
.hq-i--list { --i: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%274%27%20y%3D%273.5%27%20width%3D%2716%27%20height%3D%2717%27%20rx%3D%272.5%27%2F%3E%3Cpath%20d%3D%27M8%208.5h8M8%2012h8M8%2015.5h5%27%2F%3E%3C%2Fsvg%3E"); }
.hq-i--attendance { --i: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M4%2018.5%209%2013l3.5%203.5L20%208%27%2F%3E%3Cpath%20d%3D%27M15%208h5v5%27%2F%3E%3C%2Fsvg%3E"); }
.hq-i--report { --i: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M6.5%203.5h7l4%204v13h-11z%27%2F%3E%3Cpath%20d%3D%27M13.5%203.5v4h4M9.5%2017v-3M12%2017v-5M14.5%2017v-2%27%2F%3E%3C%2Fsvg%3E"); }
.hq-i--gear { --i: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%273%27%2F%3E%3Cpath%20d%3D%27M19.4%2013.5a7.6%207.6%200%200%200%200-3l2-1.5-2-3.4-2.3%201a7.4%207.4%200%200%200-2.6-1.5L14%202.6h-4l-.5%202.5A7.4%207.4%200%200%200%206.9%206.6l-2.3-1-2%203.4%202%201.5a7.6%207.6%200%200%200%200%203l-2%201.5%202%203.4%202.3-1a7.4%207.4%200%200%200%202.6%201.5l.5%202.5h4l.5-2.5a7.4%207.4%200%200%200%202.6-1.5l2.3%201%202-3.4z%27%2F%3E%3C%2Fsvg%3E"); }
.hq-i--tools { --i: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M14.5%206.5a4%204%200%200%200-5.3%205.3L4%2017v3h3l5.2-5.2a4%204%200%200%200%205.3-5.3l-2.5%202.5-2.5-.5-.5-2.5z%27%2F%3E%3C%2Fsvg%3E"); }
.hq-i--qr { --i: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%274%27%20y%3D%274%27%20width%3D%276%27%20height%3D%276%27%20rx%3D%271%27%2F%3E%3Crect%20x%3D%2714%27%20y%3D%274%27%20width%3D%276%27%20height%3D%276%27%20rx%3D%271%27%2F%3E%3Crect%20x%3D%274%27%20y%3D%2714%27%20width%3D%276%27%20height%3D%276%27%20rx%3D%271%27%2F%3E%3Cpath%20d%3D%27M14%2014h2.5v2.5H14zM18%2018h2v2h-2zM14%2019.5h1.5M19.5%2014v1.5%27%2F%3E%3C%2Fsvg%3E"); }
.hq-i--signal { --i: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%271.6%27%2F%3E%3Cpath%20d%3D%27M8.6%208.6a4.8%204.8%200%200%200%200%206.8M15.4%208.6a4.8%204.8%200%200%201%200%206.8M6%206a8.5%208.5%200%200%200%200%2012M18%206a8.5%208.5%200%200%201%200%2012%27%2F%3E%3C%2Fsvg%3E"); }
.hq-i--badge { --i: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%274%27%20y%3D%275.5%27%20width%3D%2716%27%20height%3D%2713%27%20rx%3D%272%27%2F%3E%3Ccircle%20cx%3D%279.5%27%20cy%3D%2711%27%20r%3D%272%27%2F%3E%3Cpath%20d%3D%27M6.8%2015.5c.5-1.3%201.5-2%202.7-2s2.2.7%202.7%202M14.5%2010h3M14.5%2013.5h3%27%2F%3E%3C%2Fsvg%3E"); }
.hq-i--link { --i: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M10%2014a4%204%200%200%200%205.7%200l3-3a4%204%200%200%200-5.7-5.7l-1%201%27%2F%3E%3Cpath%20d%3D%27M14%2010a4%204%200%200%200-5.7%200l-3%203a4%204%200%200%200%205.7%205.7l1-1%27%2F%3E%3C%2Fsvg%3E"); }
.hq-i--globe { --i: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%278.5%27%2F%3E%3Cpath%20d%3D%27M3.5%2012h17M12%203.5c2.4%202.4%203.4%205.2%203.4%208.5s-1%206.1-3.4%208.5c-2.4-2.4-3.4-5.2-3.4-8.5s1-6.1%203.4-8.5z%27%2F%3E%3C%2Fsvg%3E"); }
.hq-i--dot { --i: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%273%27%2F%3E%3C%2Fsvg%3E"); }
.hq-i--download { --i: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%204v11M7.5%2010.5%2012%2015l4.5-4.5M5%2019.5h14%27%2F%3E%3C%2Fsvg%3E"); }
.hq-i--search { --i: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2711%27%20cy%3D%2711%27%20r%3D%276.5%27%2F%3E%3Cpath%20d%3D%27m16%2016%204%204%27%2F%3E%3C%2Fsvg%3E"); }
.hq-i--filter { --i: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M4%206h16M7%2012h10M10%2018h4%27%2F%3E%3C%2Fsvg%3E"); }
.hq-i--arrow { --i: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M5%2012h14M13%206l6%206-6%206%27%2F%3E%3C%2Fsvg%3E"); }
.hq-i--chevron { --i: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27m7%2010%205%205%205-5%27%2F%3E%3C%2Fsvg%3E"); }
.hq-i--building { --i: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M4%2020.5h16M6%2020.5V8l6-4%206%204v12.5%27%2F%3E%3Cpath%20d%3D%27M9.5%2011h1M13.5%2011h1M9.5%2014.5h1M13.5%2014.5h1M11%2020.5v-3h2v3%27%2F%3E%3C%2Fsvg%3E"); }
.hq-i--cap { --i: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27m2.5%209.5%209.5-5%209.5%205-9.5%205z%27%2F%3E%3Cpath%20d%3D%27M6.5%2011.6V16c1.5%201.4%203.4%202%205.5%202s4-.6%205.5-2v-4.4M21.5%209.5v5%27%2F%3E%3C%2Fsvg%3E"); }
.hq-i--team { --i: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%277.5%27%20r%3D%272.8%27%2F%3E%3Ccircle%20cx%3D%275.5%27%20cy%3D%2710%27%20r%3D%272.2%27%2F%3E%3Ccircle%20cx%3D%2718.5%27%20cy%3D%2710%27%20r%3D%272.2%27%2F%3E%3Cpath%20d%3D%27M7%2019.5c.4-3%202.4-5%205-5s4.6%202%205%205M2.5%2018c.3-2%201.4-3.4%203-3.8M21.5%2018c-.3-2-1.4-3.4-3-3.8%27%2F%3E%3C%2Fsvg%3E"); }
.hq-i--community { --i: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%2020s-7.5-4.4-7.5-10A4.3%204.3%200%200%201%2012%207.4%204.3%204.3%200%200%201%2019.5%2010c0%205.6-7.5%2010-7.5%2010z%27%2F%3E%3C%2Fsvg%3E"); }
.hq-i--stage { --i: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%273.5%27%20y%3D%274%27%20width%3D%2717%27%20height%3D%2711%27%20rx%3D%271.5%27%2F%3E%3Cpath%20d%3D%27M12%2015v5M8%2020h8%27%2F%3E%3C%2Fsvg%3E"); }
.hq-i--phone { --i: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%276.5%27%20y%3D%272.8%27%20width%3D%2711%27%20height%3D%2718.4%27%20rx%3D%272.5%27%2F%3E%3Cpath%20d%3D%27M10.5%2018h3%27%2F%3E%3C%2Fsvg%3E"); }
.hq-i--lock { --i: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%275%27%20y%3D%2710.5%27%20width%3D%2714%27%20height%3D%2710%27%20rx%3D%272%27%2F%3E%3Cpath%20d%3D%27M8%2010.5V8a4%204%200%200%201%208%200v2.5%27%2F%3E%3C%2Fsvg%3E"); }
.hq-i--upload { --i: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%2015V4M7.5%208.5%2012%204l4.5%204.5M5%2019.5h14%27%2F%3E%3C%2Fsvg%3E"); }
.hq-i--home { --i: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M4%2011%2012%204l8%207v9H4z%27%2F%3E%3Cpath%20d%3D%27M10%2020v-5h4v5%27%2F%3E%3C%2Fsvg%3E"); }
.hq-i--history { --i: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M4%2012a8%208%200%201%200%202.4-5.7M4%204.5V8h3.5%27%2F%3E%3Cpath%20d%3D%27M12%208v4l2.8%201.8%27%2F%3E%3C%2Fsvg%3E"); }
.hq-i--ticket { --i: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M3.5%207.5A1.5%201.5%200%200%201%205%206h14a1.5%201.5%200%200%201%201.5%201.5V10a2%202%200%200%200%200%204v2.5A1.5%201.5%200%200%201%2019%2018H5a1.5%201.5%200%200%201-1.5-1.5V14a2%202%200%200%200%200-4z%27%2F%3E%3Cpath%20d%3D%27M14.5%207v2M14.5%2011v2M14.5%2015v2%27%2F%3E%3C%2Fsvg%3E"); }
.hq-i--shield { --i: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%203.5%2019%206v5.5c0%204.4-3%207.6-7%209-4-1.4-7-4.6-7-9V6z%27%2F%3E%3Cpath%20d%3D%27m9%2012%202.2%202.2L15.5%2010%27%2F%3E%3C%2Fsvg%3E"); }
/* /ICONS */

/* ------------------------------------------------------------------ buttons */
.hq-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 10px 16px;
  border-radius: var(--hq-r-sm); border: 1px solid var(--hq-line); background: var(--hq-surface); color: var(--hq-ink) !important;
  font: 600 15px/1.2 var(--hq-ui); text-decoration: none; cursor: pointer; white-space: nowrap; }
.hq-btn:hover { border-color: var(--hq-edge); background: var(--hq-quiet); }
.hq-btn--primary { background: var(--hq-action); border-color: var(--hq-action); color: var(--hq-action-ink) !important; }
.hq-btn--primary:hover { background: var(--hq-action-hover); border-color: var(--hq-action-hover); }
.hq-btn--quiet { background: transparent; border-color: transparent; color: var(--hq-ink) !important; text-decoration: underline; text-underline-offset: .25em; text-decoration-color: var(--hq-edge); }
.hq-btn--quiet:hover { text-decoration-color: var(--hq-ink); border-color: transparent; background: transparent; }
.hq-btn--lg { min-height: 52px; padding: 13px 24px; font-size: 16px; border-radius: var(--hq-r); }
.hq-btn--sm { min-height: 44px; padding: 8px 13px; font-size: 14px; }
.hq-btn[disabled] { background: var(--hq-sunken); border-color: var(--hq-line); color: var(--hq-muted) !important; cursor: not-allowed; }
.hq-btn--block { width: 100%; }
.hq-btn--danger { color: var(--hq-bad) !important; border-color: var(--hq-bad); }
.hq-btn .hq-i { width: 18px; height: 18px; }
.hq-link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-weight: 600; color: var(--hq-ink) !important; text-decoration: none; }
.hq-link .hq-i { transition: transform .15s; }
.hq-link:hover { color: var(--hq-bronze) !important; }
.hq-link:hover .hq-i { transform: translateX(3px); }
@media (prefers-reduced-motion: reduce) { .hq-link .hq-i { transition: none; } }

/* ------------------------------------------------------------------ site header (homepage) */
.hq-top { position: sticky; top: 0; z-index: 20; background: color-mix(in srgb, var(--hq-paper) 90%, transparent); backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--hq-hair); }
.hq-top--ruled { background: var(--hq-surface); }
.hq-top__in { display: flex; align-items: center; gap: 16px; min-height: 68px; }
.hq-brand { display: inline-flex; align-items: baseline; gap: 8px; text-decoration: none; color: var(--hq-ink) !important; min-height: 44px; align-self: center; padding-top: 10px; }
.hq-brand__name { font-weight: 800; font-size: 23px; letter-spacing: -.035em; }
.hq-brand__by { font-size: 12px; color: var(--hq-muted); letter-spacing: .02em; }
.hq-brand__area { font-size: 15px; font-weight: 600; color: var(--hq-muted); }
.hq-top__nav { display: flex; align-items: center; gap: 2px; margin-left: auto; }
.hq-top__nav a.hq-navlink { color: var(--hq-body); text-decoration: none; padding: 10px 14px; border-radius: var(--hq-r-xs); font-size: 15px; font-weight: 500; min-height: 44px; display: inline-flex; align-items: center; }
.hq-top__nav a.hq-navlink:hover { color: var(--hq-ink); background: var(--hq-sunken); }
.hq-top__nav a.hq-navlink[aria-current="page"] { font-weight: 700; box-shadow: inset 0 -2px 0 var(--hq-ink); border-radius: 0; }
.hq-top__nav .hq-top__sep { width: 1px; height: 22px; background: var(--hq-line); margin: 0 10px; }
.hq-top__acts { display: flex; align-items: center; gap: 8px; }
.hq-top__acts .hq-navlink { color: var(--hq-ink); text-decoration: none; padding: 10px 12px; font-weight: 600; font-size: 15px; min-height: 44px; display: inline-flex; align-items: center; border-radius: var(--hq-r-xs); }
.hq-top__acts .hq-navlink:hover { background: var(--hq-sunken); }
@media (min-width: 1000px) { .hq-top__nav { margin: 0 auto; } }
@media (max-width: 999px) {
  .hq-top__nav { display: none; }
  .hq-top__acts { margin-left: auto; }
}
@media (max-width: 560px) {
  .hq-brand__by { display: none; }
  .hq-top__in { gap: 4px; min-height: 60px; }
  .hq-top__acts { gap: 2px; }
  .hq-top__acts .hq-navlink { padding: 10px 8px; font-size: 14px; }
  .hq-top .hq-btn--sm { padding: 8px 12px; font-size: 14px; }
}

/* ------------------------------------------------------------------ homepage: photographs (v6.1 imagery) */
/* Photographs are illustrative scenes (assets/img/NOTICE.md), always <img>/<picture> with object-fit (CSP: no inline
   style). Text on a photograph sits on a scrim in the page colour or a dark scrim, checked for AA on the rendered pixels.
   The scrims are the only gradients on the page. Dark theme keeps the photographs, slightly dimmed. */
.hq-photo-img, .hq-hero__photo img, .hq-aud__vis img, .hq-how__photo img, .hq-use img, .hq-final__photo img, .hq-entry__photo img {
  display: block; width: 100%; height: 100%; object-fit: cover; filter: var(--hq-photo); }

/* ------------------------------------------------------------------ homepage: hero */
/* PC: a full-bleed photograph; the message sits on its calm left side over a page-colour scrim; the organizer workspace
   (next section) overlaps the photograph's foot by --hq-ov. Phones: the photograph is a banner cropped to the person at
   the counter (a closer frame of the same scene), the headline rises onto its faded foot, the rest follows on the page. */
.hq-hero { position: relative; isolation: isolate; overflow: hidden; }
.hq-hero__photo { display: block; }
.hq-hero__in { position: relative; }
.hq-hero__title { font-weight: 800; font-size: clamp(44px, 6.6vw, 82px); line-height: 1; letter-spacing: -.03em; word-spacing: .06em; max-width: 11ch; }
.hq-hero__title span { display: block; }
:lang(ko) .hq-hero__title { letter-spacing: -.05em; word-spacing: normal; line-height: 1.1; font-size: clamp(42px, 6vw, 72px); max-width: none; }
.hq-hero__lede { margin-top: 24px !important; font-size: clamp(18px, 1.6vw, 21px); line-height: 1.5; color: var(--hq-body); max-width: 26em; }
:lang(ko) .hq-hero__lede { max-width: 24em; }
.hq-hero__acts { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin-top: 36px; }
.hq-hero__note { margin-top: 28px !important; display: flex; align-items: center; gap: 10px; font-size: 15px; color: var(--hq-body); max-width: 42ch; }
.hq-hero__note .hq-i { color: var(--hq-bronze); }
@media (max-width: 560px) { .hq-hero__acts .hq-btn--lg { width: 100%; } .hq-hero__acts { gap: 6px; } }
@media (min-width: 900px) {
  :root { --hq-ov: 200px; }
  .hq-hero { padding: clamp(80px, 10vh, 120px) 0 calc(var(--hq-ov) + 84px); }
  .hq-hero__photo { position: absolute; inset: 0; z-index: -2; }
  .hq-hero__photo img { object-position: 60% 36%; }
  .hq-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
    background:
      linear-gradient(90deg, var(--hq-photo-fade) 0%, color-mix(in srgb, var(--hq-photo-fade) 95%, transparent) 34%, color-mix(in srgb, var(--hq-photo-fade) 90%, transparent) 47%, color-mix(in srgb, var(--hq-photo-fade) 44%, transparent) 56%, transparent 65%),
      linear-gradient(180deg, transparent 64%, color-mix(in srgb, var(--hq-paper) 55%, transparent) 86%, var(--hq-paper) 100%); }
  .hq-hero__copy { max-width: 560px; }
}
@media (max-width: 899px) {
  :root { --hq-banner: clamp(400px, 104vw, 540px); }
  .hq-hero { padding: 0 0 56px; }
  .hq-hero__photo { height: var(--hq-banner); position: relative; z-index: -1; } /* under the fade (a filtered image paints like a positioned one) */
  .hq-hero__photo img { object-position: 86% 40%; }
  .hq-hero::before { content: ""; position: absolute; left: 0; right: 0; top: calc(var(--hq-banner) - 130px); height: 131px; z-index: 0; pointer-events: none;
    background: linear-gradient(180deg, transparent 0%, color-mix(in srgb, var(--hq-photo-fade) 78%, transparent) 46%, color-mix(in srgb, var(--hq-paper) 96%, transparent) 70%, var(--hq-paper) 100%); }
  .hq-hero__in { margin-top: -76px; z-index: 1; }
}

/* the example arrival on the counter (HTML, example data, labelled) */
.hq-arrive { position: absolute; z-index: 1; width: 256px; background: var(--hq-surface); color: var(--hq-ink); border-radius: 14px; padding: 10px 14px 12px;
  box-shadow: var(--hq-shadow-lg); display: grid; gap: 4px; font-size: 13px; }
.hq-arrive__top { display: flex; justify-content: space-between; gap: 8px; font-size: 12px; color: var(--hq-muted); }
.hq-arrive__ex { display: inline-flex; gap: 5px; align-items: center; }
.hq-arrive__ex::before { content: ""; width: 6px; height: 6px; border-radius: 50%; border: 1px solid currentColor; }
.hq-arrive__row { display: grid; grid-template-columns: 26px minmax(0, 1fr) auto; align-items: center; gap: 10px; }
.hq-arrive__row b { font-size: 16px; letter-spacing: -.02em; }
.hq-arrive__check { width: 26px; height: 26px; border-radius: 50%; background: var(--hq-ok); position: relative; }
.hq-arrive__check::after { content: ""; position: absolute; left: 9px; top: 5px; width: 6px; height: 12px; border: solid var(--hq-surface); border-width: 0 2.5px 2.5px 0; transform: rotate(45deg); }
.hq-arrive__time { font-variant-numeric: tabular-nums; color: var(--hq-body); }
.hq-arrive__how { display: flex; align-items: center; gap: 6px; padding-left: 36px; color: var(--hq-muted); font-size: 12px; }
.hq-arrive__how .hq-i { width: 14px; height: 14px; }
@media (min-width: 900px) { .hq-arrive { right: max(24px, 3vw); bottom: calc(var(--hq-ov) + 44px); animation: hq-arrive 900ms 400ms both cubic-bezier(.2, .7, .2, 1); } }
@media (max-width: 899px) { .hq-arrive { top: 14px; right: 14px; width: 220px; padding: 8px 12px 10px; } .hq-arrive__how { display: none; } }
/* phones: the banner is the person, her phone and the QR stand; a card there would cover them (the product view follows) */
@media (max-width: 560px) { .hq-arrive { display: none; } }
@keyframes hq-arrive { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .hq-arrive { animation: none !important; } }

/* ------------------------------------------------------------------ homepage: sections */
.hq-section { padding: 88px 0; border-top: 1px solid var(--hq-hair); scroll-margin-top: 68px; }
@media (max-width: 720px) { .hq-section { padding: 64px 0; } }
.hq-section__head { display: grid; gap: 14px; margin-bottom: 48px; max-width: 760px; }
.hq-section__head--center { margin-left: auto; margin-right: auto; text-align: center; justify-items: center; }
.hq-section__title { font-size: clamp(30px, 3.6vw, 46px); font-weight: 800; letter-spacing: -.025em; word-spacing: .04em; line-height: 1.08; max-width: 20ch; }
:lang(ko) .hq-section__title { letter-spacing: -.045em; word-spacing: normal; line-height: 1.18; max-width: 18em; }
.hq-section__lede { color: var(--hq-body); max-width: 44ch; font-size: 18px; }

/* the three audiences: who uses HereQ and why */
.hq-aud { display: grid; gap: 0; border-top: 1px solid var(--hq-line); }
@media (min-width: 900px) { .hq-aud { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 64px; row-gap: 14px; border-top: 0; } }
/* PC: the columns share one row grid (subgrid), so the frames, headings, lines and lists start at the same height */
@supports (grid-template-rows: subgrid) { @media (min-width: 900px) { .hq-aud > .hq-aud__col { grid-row: span 5; grid-template-rows: subgrid; } } }
.hq-aud__col { display: grid; grid-template-rows: auto auto auto 1fr auto; gap: 14px; padding: 32px 0; border-bottom: 1px solid var(--hq-line); scroll-margin-top: 80px; position: relative; }
@media (min-width: 900px) {
  .hq-aud__col { padding: 0; border-bottom: 0; }
  .hq-aud__col + .hq-aud__col::before { content: ""; position: absolute; left: -32px; top: 0; bottom: 0; width: 1px; background: var(--hq-line); }
}
/* every photograph has the same frame (3:2), so the three columns line up; a small example card rests on its foot */
.hq-aud__vis { position: relative; margin: 0 0 10px; border-radius: 16px; overflow: hidden; aspect-ratio: 16 / 11; background: var(--hq-quiet); }
.hq-aud__vis picture { display: block; height: 100%; }
.hq-aud__vis--org img { object-position: 40% 50%; }
.hq-aud__vis--par img { object-position: 60% 45%; }
.hq-aud__vis--orgs img { object-position: 66% 40%; }
.hq-aud__k { display: flex; align-items: center; gap: 10px; font-size: 24px; font-weight: 750; letter-spacing: -.025em; }
.hq-aud__k .hq-i { color: var(--hq-bronze); width: 24px; height: 24px; }
.hq-aud__d { color: var(--hq-body); max-width: 34ch; }
.hq-aud__list { list-style: none; margin: 4px 0 0; padding: 0; display: grid; gap: 0; align-content: start; }
.hq-aud__list li { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 10px; padding: 10px 0; border-top: 1px solid var(--hq-hair); font-size: 15px; color: var(--hq-ink); }
.hq-aud__list li::before { content: ""; width: 14px; height: 8px; margin-top: 4px; border: solid var(--hq-bronze); border-width: 0 0 2px 2px; transform: rotate(-45deg); }
.hq-aud__link { margin-top: 6px; }
/* Phones: the three audiences side by side as swipeable cards (about 86% wide, the next one peeking), so the section
   stays about one screen tall instead of three stacked lists. */
@media (max-width: 720px) {
  .hq-aud { grid-auto-flow: column; grid-auto-columns: 86%; gap: 12px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory;
    border-top: 0; margin: 0 calc(-1 * var(--hq-gutter)); padding: 2px var(--hq-gutter) 10px; scroll-padding-inline: var(--hq-gutter); scrollbar-width: thin; }
  .hq-aud__col { scroll-snap-align: start; border: 1px solid var(--hq-hair); border-radius: 18px; background: var(--hq-surface); padding: 12px 14px 8px; gap: 10px; grid-template-rows: auto auto auto 1fr auto; }
  .hq-aud__vis { margin-bottom: 4px; border-radius: 12px; }
  .hq-aud__k { font-size: 20px; }
  .hq-aud__list li { padding: 8px 0; font-size: 14px; }
}
/* the small example card on each audience photograph (example data, labelled) */
.hq-proof { position: absolute; left: 12px; bottom: 12px; width: max-content; min-width: 150px; max-width: 62%; background: var(--hq-surface); color: var(--hq-ink);
  border-radius: 10px; padding: 7px 10px 9px; box-shadow: var(--hq-shadow-lg); display: grid; gap: 5px; font-size: 11px; }
.hq-proof__top { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.hq-proof__ex { display: inline-flex; gap: 5px; align-items: center; font-size: 10.5px; line-height: 1; color: var(--hq-muted); white-space: nowrap; }
.hq-proof__ex::before { content: ""; width: 5px; height: 5px; border-radius: 50%; border: 1px solid currentColor; }
.hq-proof__row { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.hq-proof__row b, .hq-proof__top b { font-size: 12px; }
.hq-proof__time { font-variant-numeric: tabular-nums; color: var(--hq-body); }
.hq-proof .hq-chip { font-size: 11px; padding: 1px 7px 1px 6px; }
.hq-proof__big { font-size: 21px; font-weight: 800; letter-spacing: -.03em; line-height: 1; font-variant-numeric: tabular-nums; }
.hq-proof__big small { font-size: 11px; font-weight: 500; color: var(--hq-muted); letter-spacing: 0; margin-left: 5px; }
.hq-proof__bar { height: 4px; border-radius: 999px; background: var(--hq-sunken); overflow: hidden; }
.hq-proof__bar > span { display: block; height: 100%; width: 91%; background: var(--hq-bronze); border-radius: inherit; }
.hq-proof__cells { display: flex; gap: 6px; }
.hq-proof__cells > span { background: var(--hq-quiet); border-radius: 6px; padding: 2px 7px; display: inline-flex; align-items: baseline; gap: 4px; font-size: 10.5px; color: var(--hq-muted); }
.hq-proof__cells b { font-size: 13px; color: var(--hq-ink); letter-spacing: -.02em; font-variant-numeric: tabular-nums; }

/* product preview: an honest, example-data replica of the organizer workspace */
.hq-pvwrap { display: grid; gap: 56px; }
.hq-section--lift { border-top: 0; padding-top: 0; position: relative; z-index: 1; }
@media (min-width: 900px) { .hq-section--lift .hq-pv { margin-top: calc(-1 * var(--hq-ov)); } }
.hq-pvintro { display: grid; gap: 32px; }
.hq-pvintro .hq-section__head { margin-bottom: 0; }
@media (min-width: 720px) { .hq-pvintro .hq-caps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 40px; } }
@media (min-width: 1040px) { .hq-pvintro { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 64px; align-items: start; } }
.hq-pv { margin: 0; background: var(--hq-surface); border: 1px solid var(--hq-line); border-radius: 18px; box-shadow: var(--hq-shadow-lg); overflow: hidden; font-size: 13px; color: var(--hq-ink); }
.hq-pv__chrome { display: flex; align-items: center; gap: 7px; padding: 11px 16px; border-bottom: 1px solid var(--hq-hair); background: var(--hq-quiet); }
.hq-pv__chrome i { width: 10px; height: 10px; border-radius: 50%; background: var(--hq-line); }
.hq-pv__chrome span { margin-left: 12px; font-size: 12px; color: var(--hq-muted); }
.hq-pv__chrome em { margin-left: auto; font-style: normal; font-size: 12px; color: var(--hq-muted); }
.hq-pv__app { display: grid; grid-template-columns: 196px minmax(0, 1fr); min-height: 560px; }
.hq-pv__side { border-right: 1px solid var(--hq-hair); padding: 18px 12px; display: grid; align-content: start; gap: 2px; background: var(--hq-paper); }
.hq-pv__brand { font-weight: 800; font-size: 17px; letter-spacing: -.03em; padding: 0 10px 16px; }
.hq-pv__brand small { font-weight: 500; font-size: 10px; color: var(--hq-muted); letter-spacing: .02em; margin-left: 6px; }
.hq-pv__nav { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 8px; color: var(--hq-body); font-weight: 500; }
.hq-pv__nav .hq-i { width: 17px; height: 17px; }
.hq-pv__nav--on { background: var(--hq-bronze-wash); color: var(--hq-ink); font-weight: 650; }
.hq-pv__nav--on .hq-i { color: var(--hq-bronze); }
.hq-pv__main { padding: 22px 26px 24px; display: grid; gap: 16px; align-content: start; min-width: 0; }
.hq-pv__crumb { font-size: 11px; color: var(--hq-muted); }
.hq-pv__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; }
.hq-pv__title { font-size: 24px; font-weight: 800; letter-spacing: -.03em; display: flex; align-items: center; gap: 10px; }
.hq-pv__meta { display: flex; gap: 16px; color: var(--hq-muted); font-size: 12px; margin-top: 6px; }
.hq-pv__meta span { display: inline-flex; align-items: center; gap: 5px; }
.hq-pv__acts { display: flex; gap: 8px; }
.hq-pv__btn { display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--hq-line); border-radius: 8px; padding: 6px 11px; font-weight: 600; font-size: 12px; background: var(--hq-surface); white-space: nowrap; }
.hq-pv__btn--dark { background: var(--hq-action); border-color: var(--hq-action); color: var(--hq-action-ink); }
.hq-pv__btn .hq-i { width: 14px; height: 14px; }
.hq-pv__tabs { display: flex; gap: 20px; border-bottom: 1px solid var(--hq-hair); font-weight: 600; color: var(--hq-muted); font-size: 13px; }
.hq-pv__tabs span { padding: 0 0 10px; }
.hq-pv__tabs .is-on { color: var(--hq-ink); box-shadow: inset 0 -2px 0 var(--hq-ink); }
.hq-pv__kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--hq-hair); border-radius: 12px; }
.hq-pv__kpi { padding: 12px 16px; display: grid; gap: 2px; border-left: 1px solid var(--hq-hair); }
.hq-pv__kpi:first-child { border-left: 0; }
.hq-pv__kpi span { color: var(--hq-muted); font-size: 12px; }
.hq-pv__kpi b { font-size: 26px; letter-spacing: -.03em; font-variant-numeric: tabular-nums; line-height: 1.15; }
.hq-pv__kpi small { color: var(--hq-ok); font-size: 11px; }
.hq-pv__bar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.hq-pv__search { flex: 1 1 200px; display: flex; align-items: center; gap: 8px; border: 1px solid var(--hq-line); border-radius: 8px; padding: 7px 10px; color: var(--hq-muted); font-size: 12px; }
.hq-pv__search .hq-i { width: 14px; height: 14px; }
.hq-pv__chips { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.hq-pv__exp { margin-left: auto; position: relative; }
.hq-pv__btn--open { box-shadow: 0 0 0 3px var(--hq-sunken); }
.hq-pv__chip { border: 1px solid var(--hq-line); border-radius: 999px; padding: 4px 11px; font-size: 12px; display: inline-flex; gap: 6px; color: var(--hq-body); }
.hq-pv__chip b { font-variant-numeric: tabular-nums; color: var(--hq-ink); }
.hq-pv__chip--on { background: var(--hq-ink); border-color: var(--hq-ink); color: var(--hq-paper); }
.hq-pv__chip--on b { color: var(--hq-paper); }
/* the open Export menu: a two-way scope switch, then the two files; right-aligned to the table edge */
.hq-pv__menu { position: absolute; right: 0; top: calc(100% + 6px); z-index: 2; width: 210px; background: var(--hq-surface); border: 1px solid var(--hq-line); border-radius: 10px; box-shadow: var(--hq-shadow-lg); padding: 6px; display: grid; gap: 2px; }
.hq-pv__seg { display: grid; grid-template-columns: 1fr 1fr; background: var(--hq-sunken); border-radius: 7px; padding: 2px; margin-bottom: 4px; font-size: 11px; font-weight: 600; color: var(--hq-muted); text-align: center; }
.hq-pv__seg > span { padding: 4px 6px; border-radius: 5px; white-space: nowrap; }
.hq-pv__seg > .is-on { background: var(--hq-surface); color: var(--hq-ink); box-shadow: 0 1px 2px rgb(17 19 23 / 10%); }
.hq-pv__item { display: flex; align-items: center; gap: 8px; padding: 7px 9px; border-radius: 6px; font-size: 12px; font-weight: 500; }
.hq-pv__item.is-hi { background: var(--hq-quiet); }
.hq-pv table { width: 100%; border-collapse: collapse; }
.hq-pv th { text-align: left; font-weight: 600; color: var(--hq-muted); font-size: 11px; padding: 9px 12px; border-bottom: 1px solid var(--hq-line); white-space: nowrap; }
.hq-pv td { padding: 9px 12px; border-bottom: 1px solid var(--hq-hair); white-space: nowrap; font-size: 12.5px; }
.hq-pv tr:last-child td { border-bottom: 0; }
.hq-pv td .hq-chip { font-size: 11.5px; padding: 1px 8px 1px 7px; }
.hq-pv td .hq-i { width: 15px; height: 15px; margin-right: 6px; color: var(--hq-muted); }
.hq-pv__tbl { border: 1px solid var(--hq-hair); border-radius: 10px; overflow: hidden; }
.hq-pv__cols { display: grid; grid-template-columns: minmax(0, 1fr) 236px; gap: 18px; align-items: start; }
.hq-pv__rail { display: grid; gap: 14px; }
.hq-pv__card { border: 1px solid var(--hq-hair); border-radius: 10px; padding: 12px 14px; display: grid; gap: 8px; }
.hq-pv__card b { font-size: 12.5px; }
.hq-pv__bars { display: flex; align-items: flex-end; gap: 4px; height: 64px; border-bottom: 1px solid var(--hq-hair); }
.hq-pv__bars span { flex: 1; background: var(--hq-s2); border-radius: 2px 2px 0 0; }
.hq-pv__axis { display: flex; justify-content: space-between; font-size: 10.5px; color: var(--hq-muted); font-variant-numeric: tabular-nums; }
.hq-pv__legend { display: grid; gap: 5px; font-size: 12px; }
.hq-pv__legend > span { display: grid; grid-template-columns: 9px minmax(0, 1fr) auto; gap: 8px; align-items: center; }
.hq-pv__legend i { width: 9px; height: 9px; border-radius: 2px; }
.hq-pv__legend b { font-weight: 600; font-variant-numeric: tabular-nums; }
.hq-sw1 { background: var(--hq-s1); } .hq-sw2 { background: var(--hq-s2); } .hq-sw3 { background: var(--hq-s3); } .hq-sw4 { background: var(--hq-s4); } .hq-sw5 { background: var(--hq-s5); }
.hq-pv__note { font-size: 12px; color: var(--hq-muted); text-align: right; padding: 0 4px; }
.hq-pv-h-1 { height: 18%; } .hq-pv-h-2 { height: 34%; } .hq-pv-h-3 { height: 62%; } .hq-pv-h-4 { height: 100%; } .hq-pv-h-5 { height: 78%; } .hq-pv-h-6 { height: 46%; } .hq-pv-h-7 { height: 26%; } .hq-pv-h-8 { height: 12%; }
@media (max-width: 1180px) { .hq-pv__cols { grid-template-columns: minmax(0, 1fr); } .hq-pv__rail { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 900px) {
  .hq-pv__app { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .hq-pv__side { display: none; }
  .hq-pv__main { padding: 16px; }
  .hq-pv__kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hq-pv__kpi:nth-child(3) { border-left: 0; }
  .hq-pv__kpi:nth-child(n+3) { border-top: 1px solid var(--hq-hair); }
  .hq-pv__rail { grid-template-columns: minmax(0, 1fr); }
  .hq-pv__rail .hq-pv__card:nth-child(n+2) { display: none; }
  .hq-pv__menu { display: none; }
  .hq-pv .hq-pv-wide { display: none; }
  .hq-pv__acts .hq-pv__btn:first-child { display: none; }
  .hq-pv__tabs { gap: 14px; overflow: hidden; }
  .hq-pv__chrome span { display: none; }
}
@media (max-width: 480px) { .hq-pv__chip:nth-child(n+3) { display: none; } .hq-pv__meta > span:nth-child(2) { display: none; } .hq-pv .hq-pv-mid { display: none; } .hq-pv tbody tr:nth-child(n+6) { display: none; } }
.hq-caps { display: grid; gap: 28px; }
@media (min-width: 720px) { .hq-caps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1040px) { .hq-caps { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; } }
.hq-cap { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 4px 14px; align-content: start; }
.hq-cap__ico { grid-row: span 2; width: 40px; height: 40px; border-radius: 11px; background: var(--hq-bronze-wash); color: var(--hq-bronze); display: grid; place-items: center; }
.hq-cap h3 { font-size: 17px; letter-spacing: -.015em; }
.hq-cap p { color: var(--hq-body); font-size: 15px; }

/* how it works: a real sequence (01-03) as a ruled timeline, beside a photograph of the door it ends at */
.hq-how { display: grid; gap: 40px; }
@media (min-width: 900px) { .hq-how { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 72px; align-items: center; } }
.hq-how__photo { display: block; border-radius: 20px; overflow: hidden; aspect-ratio: 4 / 5; background: var(--hq-quiet); }
.hq-how__photo img { object-position: 42% 50%; }
@media (max-width: 899px) { .hq-how__photo { aspect-ratio: 3 / 2; border-radius: 16px; } }
.hq-how .hq-section__head { margin-bottom: 36px; }
.hq-steps { list-style: none; margin: 0; padding: 0; display: grid; counter-reset: step; border-top: 1px solid var(--hq-line); }
.hq-steps li { counter-increment: step; display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 6px 0; align-content: start; padding: 22px 0; border-bottom: 1px solid var(--hq-hair); }
.hq-steps li::before { content: counter(step, decimal-leading-zero); grid-row: span 2; padding-top: 5px; font: 600 14px/1 var(--hq-mono); letter-spacing: .04em; color: var(--hq-bronze); font-variant-numeric: tabular-nums; }
.hq-steps h3 { font-size: 20px; letter-spacing: -.02em; }
.hq-steps p { color: var(--hq-body); max-width: 44ch; font-size: 15px; }
@media (max-width: 560px) { .hq-steps li { grid-template-columns: 44px minmax(0, 1fr); padding: 18px 0; } }

/* the places HereQ is used: four photographs (illustrative scenes, no logos) with short labels on a dark scrim */
.hq-uses { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 900px) { .hq-uses { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; } }
.hq-use { position: relative; isolation: isolate; overflow: hidden; border-radius: 16px; aspect-ratio: 4 / 5; background: #1a1714; display: grid; align-content: end; }
.hq-use picture { position: absolute; inset: 0; z-index: -2; }
.hq-use::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: linear-gradient(180deg, transparent 38%, rgb(16 13 10 / 58%) 62%, rgb(16 13 10 / 88%) 100%); }
.hq-use__label { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 3px 10px; padding: 20px; color: #f7f4ef; }
.hq-use__label .hq-i { grid-row: span 2; width: 22px; height: 22px; margin-top: 1px; color: #f7f4ef; }
.hq-use__label b { font-size: 17px; letter-spacing: -.01em; line-height: 1.25; }
.hq-use__label > span:not(.hq-i) { font-size: 14px; line-height: 1.4; color: #e6e1d9; text-wrap: balance; }
@media (min-width: 900px) { .hq-use__label > span:not(.hq-i) { min-height: 2.8em; } }
/* phones: one row of tiles about 72% wide, the next one peeking (as the audiences above), so each photo stays large */
@media (max-width: 560px) {
  .hq-uses { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 72%; gap: 12px; overflow-x: auto; overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory; margin: 0 calc(-1 * var(--hq-gutter)); padding: 2px var(--hq-gutter) 10px; scroll-padding-inline: var(--hq-gutter); scrollbar-width: thin; }
  .hq-use { scroll-snap-align: start; border-radius: 14px; }
  .hq-use__label { padding: 16px; }
}

/* one closing action: a full-width band on the hall photograph; white words on its dark, calm side */
.hq-final { position: relative; isolation: isolate; overflow: hidden; background: #14110e; --hq-focus: #8db4ff; }
.hq-final__photo { position: absolute; inset: 0; z-index: -2; }
.hq-final__photo img { object-position: 30% 50%; }
.hq-final::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: linear-gradient(90deg, transparent 28%, rgb(16 13 10 / 50%) 50%, rgb(16 13 10 / 74%) 100%); }
.hq-final__in { min-height: 560px; display: grid; align-items: center; justify-items: end; padding-top: 96px; padding-bottom: 96px; }
.hq-final__copy { max-width: 580px; display: grid; justify-items: start; }
body.hq .hq-final h2 { color: #fbf9f6; font-size: clamp(32px, 4.4vw, 56px); font-weight: 800; letter-spacing: -.025em; word-spacing: .04em; line-height: 1.05; max-width: 16ch; text-wrap: balance; }
:lang(ko) body.hq .hq-final h2 { max-width: 14em; line-height: 1.18; letter-spacing: -.04em; word-spacing: normal; }
.hq-final p { margin-top: 16px !important; color: #e6e1d9; font-size: 18px; max-width: 36ch; }
.hq-final__acts { display: flex; flex-wrap: wrap; gap: 8px 20px; align-items: center; margin-top: 32px; }
.hq-btn--onphoto { background: #f3f1ed; border-color: #f3f1ed; color: #0f1114 !important; }
.hq-btn--onphoto:hover { background: #ffffff; border-color: #ffffff; }
@media (max-width: 899px) {
  .hq-final__photo img { object-position: 18% 62%; }
  .hq-final::before { background: linear-gradient(180deg, rgb(16 13 10 / 0%) 0%, rgb(16 13 10 / 18%) 32%, rgb(16 13 10 / 76%) 50%, rgb(16 13 10 / 90%) 62%, rgb(16 13 10 / 94%) 100%); }
  .hq-final__in { min-height: 640px; align-items: end; justify-items: start; padding-top: 64px; padding-bottom: 48px; }
}

/* ------------------------------------------------------------------ language picker (a native select, styled) */
.hq-lang { position: relative; display: inline-flex; align-items: center; max-width: 100%; color: var(--hq-muted); }
.hq-lang > .hq-i { position: absolute; width: 16px; height: 16px; pointer-events: none; }
.hq-lang > .hq-i--globe { left: 13px; }
.hq-lang > .hq-lang__chev { right: 11px; }
.hq-lang__sel { -webkit-appearance: none; appearance: none; font: 500 14px/1.2 var(--hq-ui); color: var(--hq-body); background: transparent; border: 1px solid var(--hq-line);
  border-radius: 999px; min-height: 44px; padding: 8px 34px 8px 36px; max-width: 100%; cursor: pointer; field-sizing: content; }
.hq-lang__sel:hover { border-color: var(--hq-edge); color: var(--hq-ink); }
.hq-lang__sel:focus-visible { outline: 3px solid var(--hq-focus); outline-offset: 2px; }
.hq-lang__sel option { color: var(--hq-ink); background: var(--hq-surface); }
[dir="rtl"] .hq-lang > .hq-i--globe { left: auto; right: 13px; }
[dir="rtl"] .hq-lang > .hq-lang__chev { right: auto; left: 11px; }
[dir="rtl"] .hq-lang__sel { padding: 8px 36px 8px 34px; }
/* it gives way before anything else in a narrow top bar (long language names at 320 px) */
.hq-lang, .hq-lang__sel { min-width: 0; }
.hq-lang__sel { text-overflow: ellipsis; }
@media (max-width: 360px) { .hq-guest-top .hq-lang__sel { max-width: 34vw; overflow: hidden; } } /* WebKit lets a long language name spill past the select and widen the page; bound and clip it inside 320 px */
.hq-guest-top > :last-child { min-width: 0; }
@media (max-width: 380px) {
  .hq-lang > .hq-i--globe { display: none; }
  .hq-lang__sel { padding-left: 14px; }
  [dir="rtl"] .hq-lang__sel { padding-right: 14px; }
}

/* ------------------------------------------------------------------ footer */
.hq-foot { border-top: 1px solid var(--hq-hair); padding: 36px 0 44px; font-size: 14px; color: var(--hq-muted); }
.hq-foot__in { display: flex; flex-wrap: wrap; gap: 16px 32px; align-items: center; justify-content: space-between; }
.hq-foot nav { display: flex; flex-wrap: wrap; gap: 0 22px; }
.hq-foot nav a { color: var(--hq-body); min-height: 44px; display: inline-flex; align-items: center; text-decoration: none; }
.hq-foot nav a:hover { color: var(--hq-ink); text-decoration: underline; }
.hq-foot__brand { display: flex; align-items: center; gap: 12px; }
.hq-foot img { display: block; height: 22px; width: auto; }
.hq-lockup--dark { display: none !important; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .hq-lockup--light { display: none !important; } :root:not([data-theme="light"]) .hq-lockup--dark { display: block !important; } }
:root[data-theme="dark"] .hq-lockup--light { display: none !important; }
:root[data-theme="dark"] .hq-lockup--dark { display: block !important; }

/* ------------------------------------------------------------------ app shell (내 참여, 행사 관리, 조직 관리) */
.hq-areas { display: flex; gap: 2px; margin-left: 20px; }
.hq-areas a { color: var(--hq-muted); text-decoration: none; font-weight: 600; font-size: 14px; padding: 10px 12px; min-height: 44px; display: inline-flex; align-items: center; border-radius: var(--hq-r-xs); }
.hq-areas a:hover { color: var(--hq-ink); background: var(--hq-sunken); }
.hq-areas a[aria-current="page"] { color: var(--hq-ink); background: var(--hq-sunken); }
.hq-account { position: relative; margin-left: auto; }
.hq-account > summary { list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 4px 10px 4px 4px; border-radius: 999px; border: 1px solid var(--hq-line); background: var(--hq-surface); }
.hq-account > summary:hover { border-color: var(--hq-edge); }
.hq-account > summary::-webkit-details-marker { display: none; }
.hq-avatar { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: var(--hq-bronze-wash); color: var(--hq-bronze); font-weight: 700; font-size: 13px; flex: none; }
.hq-account__name { font-size: 14px; font-weight: 600; max-width: 18ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hq-pop { position: absolute; right: 0; top: calc(100% + 6px); min-width: 230px; background: var(--hq-surface); border: 1px solid var(--hq-line); border-radius: var(--hq-r); box-shadow: var(--hq-shadow-lg); padding: 6px; z-index: 30; display: grid; }
.hq-pop button, .hq-pop a { all: unset; box-sizing: border-box; display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 8px 12px; border-radius: var(--hq-r-xs); cursor: pointer; color: var(--hq-ink); font: 500 14px/1.3 var(--hq-ui); }
.hq-pop button .hq-i, .hq-pop a .hq-i { color: var(--hq-muted); width: 18px; height: 18px; }
.hq-pop button:hover, .hq-pop a:hover { background: var(--hq-quiet); }
.hq-pop button:focus-visible, .hq-pop a:focus-visible { outline: 3px solid var(--hq-focus); outline-offset: -3px; }
.hq-pop__label { font-size: 12px; font-weight: 600; color: var(--hq-muted); padding: 8px 12px 2px; }
.hq-pop hr { border: 0; border-top: 1px solid var(--hq-hair); margin: 6px 0; }
@media (max-width: 720px) {
  .hq-areas { display: none; }
  .hq-account__name { display: none; }
  .hq-account > summary { padding: 4px; }
}
.hq-areas-mobile { display: none; }
@media (max-width: 720px) {
  .hq-areas-mobile { display: flex; gap: 4px; padding: 8px var(--hq-gutter) 10px; border-bottom: 1px solid var(--hq-hair); background: var(--hq-surface); flex-wrap: wrap; }
  .hq-areas-mobile a { flex: 1 1 0; text-align: center; color: var(--hq-muted); text-decoration: none; font-weight: 600; font-size: 14px; padding: 10px 6px; min-height: 44px; border-radius: var(--hq-r-xs); }
  .hq-areas-mobile a[aria-current="page"] { color: var(--hq-ink); background: var(--hq-sunken); }
}

.hq-app { display: grid; grid-template-columns: minmax(0, 1fr); min-height: calc(100vh - 69px); position: relative; }
/* the sidebar rule runs the full height of the page (the sidebar itself is sticky and only as tall as the window) */
@media (min-width: 1000px) { .hq-app { grid-template-columns: 232px minmax(0, 1fr); } .hq-app::before { content: ""; position: absolute; top: 0; bottom: 0; inset-inline-start: 231px; width: 1px; background: var(--hq-hair); } }
.hq-side { padding: 22px 14px; display: none; align-content: start; gap: 20px; background: transparent; }
@media (min-width: 1000px) { .hq-side { display: grid; position: sticky; top: 69px; height: calc(100vh - 69px); overflow-y: auto; grid-template-rows: auto auto 1fr; } }
.hq-side__scope { font-size: 12px; color: var(--hq-muted); padding: 10px 12px; border: 1px solid var(--hq-line); border-radius: var(--hq-r-sm); background: var(--hq-surface); display: grid; gap: 2px; }
.hq-side__scope b { display: flex; align-items: center; gap: 8px; color: var(--hq-ink); font-size: 14px; }
.hq-side__scope b .hq-i { color: var(--hq-muted); width: 16px; height: 16px; }
.hq-sidenav { display: grid; gap: 2px; }
.hq-sidenav a { display: flex; align-items: center; gap: 12px; min-height: 42px; padding: 8px 12px; border-radius: var(--hq-r-sm); color: var(--hq-body); text-decoration: none; font-weight: 500; font-size: 15px; }
.hq-sidenav a .hq-i { color: var(--hq-muted); }
.hq-sidenav a:hover { background: var(--hq-sunken); color: var(--hq-ink); }
.hq-sidenav a[aria-current="page"] { background: var(--hq-bronze-wash); color: var(--hq-ink); font-weight: 650; }
.hq-sidenav a[aria-current="page"] .hq-i { color: var(--hq-bronze); }
.hq-side__foot { font-size: 13px; color: var(--hq-muted); padding: 0 12px; display: grid; gap: 8px; align-self: end; }
.hq-subnav { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 20px; }
@media (min-width: 1000px) { .hq-subnav { display: none; } }
.hq-subnav a { color: var(--hq-body); text-decoration: none; font-weight: 600; font-size: 14px; padding: 9px 14px; min-height: 44px; display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--hq-line); border-radius: 999px; background: var(--hq-surface); }
.hq-subnav a .hq-i { width: 16px; height: 16px; }
.hq-subnav a[aria-current="page"] { background: var(--hq-ink); color: var(--hq-paper); border-color: var(--hq-ink); }
.hq-main { padding: 28px var(--hq-gutter) 72px; min-width: 0; max-width: 1320px; width: 100%; }
.hq-main--narrow { max-width: 880px; margin: 0 auto; }

.hq-crumbs { font-size: 13px; color: var(--hq-muted); margin-bottom: 12px; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.hq-crumbs a { color: var(--hq-muted); text-decoration: none; }
.hq-crumbs a:hover { color: var(--hq-ink); text-decoration: underline; }
.hq-crumbs span:last-child { color: var(--hq-ink); font-weight: 600; }
.hq-head { display: flex; flex-wrap: wrap; gap: 16px 24px; align-items: flex-end; justify-content: space-between; margin-bottom: 24px; }
.hq-head__lead { display: flex; gap: 18px; align-items: center; min-width: 0; }
.hq-head h1 { font-size: clamp(28px, 2.8vw, 38px); font-weight: 800; letter-spacing: -.035em; line-height: 1.08; }
:lang(ko) .hq-head h1 { letter-spacing: -.045em; }
.hq-head__title { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; }
.hq-head__meta { margin-top: 10px !important; color: var(--hq-body); font-size: 15px; display: flex; flex-wrap: wrap; gap: 6px 20px; align-items: center; }
.hq-head__meta > span { display: inline-flex; align-items: center; gap: 7px; }
.hq-head__meta .hq-i { color: var(--hq-muted); width: 18px; height: 18px; }
.hq-head__acts { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
/* PC: the actions sit top-right beside the title (the event header's action group), not on a row of their own */
@media (min-width: 900px) {
  .hq-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; }
  .hq-head > .hq-head__acts { justify-content: flex-end; padding-top: 2px; }
}
/* Phones: live check-in fills the row; share and export become 44px icon buttons (their names stay for screen readers) */
@media (max-width: 720px) {
  .hq-head--event { gap: 14px; margin-bottom: 18px; }
  .hq-head--event .hq-head__acts { width: 100%; flex-wrap: nowrap; }
  .hq-head--event .hq-head__acts > .hq-btn--primary { flex: 1 1 auto; }
  .hq-head--event .hq-head__acts > .hq-btn:not(.hq-btn--primary), .hq-head--event .hq-head__acts > .hq-dl > summary { width: 44px; padding: 0; }
  .hq-head--event .hq-head__acts .hq-btn__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .hq-head--event .hq-head__acts > .hq-dl > summary::after { display: none; }
  .hq-head--event .hq-head__acts > .hq-dl .hq-pop { left: 0; right: auto; min-width: min(268px, calc(100vw - 100px)); }
}
.hq-h2 { font-size: 20px; font-weight: 750; letter-spacing: -.02em; }
.hq-h3 { font-size: 16px; font-weight: 700; letter-spacing: -.01em; }
.hq-block { margin-top: 40px; scroll-margin-top: 84px; }
.hq-block__head { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: baseline; justify-content: space-between; margin-bottom: 14px; }

/* tabs (ARIA tab pattern, from hereq.js tabList) */
.hq-tabs { display: flex; gap: 6px; border-bottom: 1px solid var(--hq-line); margin-bottom: 24px; flex-wrap: wrap; }
.hq-tabs [role="tab"] { all: unset; box-sizing: border-box; cursor: pointer; padding: 12px 10px; min-height: 46px; font: 600 15px/1.2 var(--hq-ui); color: var(--hq-muted); border-bottom: 2px solid transparent; margin-bottom: -1px; display: inline-flex; align-items: center; gap: 8px; }
.hq-tabs [role="tab"]:hover { color: var(--hq-ink); }
.hq-tabs [role="tab"][aria-selected="true"] { color: var(--hq-ink); border-bottom-color: var(--hq-ink); }
.hq-tabs [role="tab"]:focus-visible { outline: 3px solid var(--hq-focus); outline-offset: -3px; }
@media (max-width: 560px) { .hq-tabs { gap: 0; } .hq-tabs [role="tab"] { padding: 10px 9px; font-size: 14px; } }

/* KPI row: registration and attendance stay separate figures */
.hq-kpis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); background: var(--hq-surface); border: 1px solid var(--hq-line); border-radius: var(--hq-r); margin-bottom: 20px; }
@media (min-width: 900px) { .hq-kpis { grid-template-columns: repeat(var(--n, 4), minmax(0, 1fr)); } }
.hq-kpi { padding: 16px 20px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 12px; align-items: center; min-width: 0; }
.hq-kpi + .hq-kpi { border-left: 1px solid var(--hq-hair); }
@media (max-width: 899px) { .hq-kpi:nth-child(odd) { border-left: 0; } .hq-kpi:nth-child(n+3) { border-top: 1px solid var(--hq-hair); } .hq-kpi { padding: 14px 16px; } }
.hq-kpi__k { font-size: 14px; color: var(--hq-body); grid-column: 1; }
.hq-kpi__v { font-size: 32px; font-weight: 750; letter-spacing: -.035em; line-height: 1.1; font-variant-numeric: tabular-nums; grid-column: 1; }
.hq-kpi__d { font-size: 13px; color: var(--hq-muted); grid-column: 1; }
.hq-kpi__ico { grid-column: 2; grid-row: 1 / span 3; width: 40px; height: 40px; border-radius: 50%; background: var(--hq-quiet); color: var(--hq-muted); display: grid; place-items: center; }
.hq-kpi__ico--ok { background: var(--hq-ok-soft); color: var(--hq-ok); }
.hq-ring { grid-column: 2; grid-row: 1 / span 3; width: 44px; height: 44px; }
.hq-ring svg { width: 100%; height: 100%; display: block; transform: rotate(-90deg); }
.hq-ring__track { fill: none; stroke: var(--hq-sunken); stroke-width: 5; }
.hq-ring__fill { fill: none; stroke: var(--hq-bronze); stroke-width: 5; stroke-linecap: round; }
@media (max-width: 480px) { .hq-kpi__ico, .hq-ring { display: none; } .hq-kpi__v { font-size: 26px; } }
/* Phones: the figures are one swipeable strip (one row tall), not a grid of tiles */
@media (max-width: 720px) {
  .hq-kpis { display: flex; overflow-x: auto; scroll-snap-type: x proximity; overscroll-behavior-x: contain; scrollbar-width: none; margin-bottom: 16px; }
  .hq-kpis::-webkit-scrollbar { display: none; }
  .hq-kpi { flex: 0 0 auto; min-width: 118px; max-width: 200px; scroll-snap-align: start; padding: 12px 14px; grid-template-columns: minmax(0, 1fr); border-top: 0 !important; }
  .hq-kpi + .hq-kpi { border-left: 1px solid var(--hq-hair) !important; }
  .hq-kpi__ico, .hq-ring { display: none; }
  .hq-kpi__k { font-size: 13px; white-space: nowrap; }
  .hq-kpi__v { font-size: 24px; }
  .hq-kpi__d { white-space: nowrap; font-size: 12px; }
}

/* figures (stats tab, roster publish) */
.hq-figures { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--hq-hair); border: 1px solid var(--hq-line); border-radius: var(--hq-r); overflow: hidden; }
@media (min-width: 900px) { .hq-figures { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); } }
.hq-figure { background: var(--hq-surface); padding: 16px 20px; display: grid; gap: 4px; align-content: start; }
.hq-figure__k { font-size: 14px; color: var(--hq-body); display: flex; align-items: center; gap: 8px; }
.hq-figure__v { font-size: 30px; font-weight: 750; letter-spacing: -.03em; line-height: 1.1; font-variant-numeric: tabular-nums; }
.hq-figure__d { font-size: 13px; color: var(--hq-muted); }
.hq-meter { height: 6px; border-radius: 999px; background: var(--hq-sunken); overflow: hidden; margin-top: 6px; }
.hq-meter > span { display: block; height: 100%; background: var(--hq-bronze); border-radius: inherit; width: 0; }

/* status chips: a word and a shape, never colour alone */
.hq-chip { display: inline-flex; align-items: center; gap: 7px; padding: 2px 10px 2px 8px; border-radius: 999px; font-size: 13px; font-weight: 600; white-space: nowrap; background: var(--hq-plain-soft); color: var(--hq-body); line-height: 1.55; }
.hq-chip::before { content: ""; width: 8px; height: 8px; border-radius: 50%; border: 2px solid currentColor; flex: none; }
.hq-chip--ok { background: var(--hq-ok-soft); color: var(--hq-ok); }
.hq-chip--ok::before { background: currentColor; }
.hq-chip--warn { background: var(--hq-warn-soft); color: var(--hq-warn); }
.hq-chip--warn::before { background: linear-gradient(90deg, currentColor 50%, transparent 50%); }
.hq-chip--info { background: var(--hq-info-soft); color: var(--hq-info); }
.hq-chip--info::before { border-radius: 2px; transform: rotate(45deg); width: 7px; height: 7px; }
.hq-chip--bad { background: var(--hq-bad-soft); color: var(--hq-bad); }
.hq-chip--bad::before { border-radius: 1px; background: currentColor; width: 8px; height: 3px; border: 0; }
.hq-chip--plain { background: transparent; box-shadow: inset 0 0 0 1px var(--hq-line); color: var(--hq-body); }
.hq-chip--plain::before { border-style: dashed; }
.hq-chip--neutral::before { display: none; }
.hq-chip--new { background: var(--hq-bronze-wash); color: var(--hq-bronze); }
.hq-chip--new::before { background: currentColor; border-radius: 2px; }
.hq-chip--live { background: var(--hq-ok-soft); color: var(--hq-ok); }

/* toolbar + table */
.hq-panel { background: var(--hq-surface); border: 1px solid var(--hq-line); border-radius: var(--hq-r); min-width: 0; }
.hq-toolbar { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; padding: 14px 16px; border-bottom: 1px solid var(--hq-hair); }
.hq-toolbar__count { font-size: 14px; color: var(--hq-muted); margin-left: auto; font-variant-numeric: tabular-nums; }
.hq-toolbar__count b { color: var(--hq-ink); font-variant-numeric: tabular-nums; }
.hq-input, .hq-select { font: 15px/1.3 var(--hq-ui); color: var(--hq-ink); background: var(--hq-surface); border: 1px solid var(--hq-edge); border-radius: var(--hq-r-sm); min-height: 44px; padding: 10px 12px; max-width: 100%; }
.hq-input:hover, .hq-select:hover { border-color: var(--hq-ink); }
.hq-select { padding-right: 32px; }
.hq-input:focus-visible, .hq-select:focus-visible { outline: 3px solid var(--hq-focus); outline-offset: 1px; }
.hq-search { flex: 1 1 260px; min-width: 0; position: relative; }
.hq-search .hq-input { width: 100%; padding-left: 40px; }
.hq-search > .hq-i { position: absolute; left: 13px; top: 50%; margin-top: -9px; width: 18px; height: 18px; color: var(--hq-muted); pointer-events: none; }
.hq-filter { flex: 0 1 auto; }
.hq-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.hq-table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 15px; }
.hq-table th { text-align: left; font-size: 13px; font-weight: 600; color: var(--hq-muted); padding: 11px 16px; border-bottom: 1px solid var(--hq-line); white-space: nowrap; background: var(--hq-surface); }
[dir="rtl"] .hq-table th { text-align: right; }
.hq-table td { padding: 10px 16px; border-bottom: 1px solid var(--hq-hair); vertical-align: middle; background: var(--hq-surface); }
.hq-table tbody tr:last-child td { border-bottom: 0; }
.hq-table tbody tr:hover td { background: var(--hq-quiet); }
.hq-table td.hq-num, .hq-table td .hq-mono, .hq-table td.hq-nowrap { white-space: nowrap; }
.hq-table td.hq-cell-ans { white-space: nowrap; max-width: 240px; overflow: hidden; text-overflow: ellipsis; color: var(--hq-body); }
.hq-method { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
.hq-method .hq-i { color: var(--hq-muted); width: 18px; height: 18px; }
.hq-person { display: flex; align-items: center; gap: 12px; min-width: 0; }
.hq-person__name { font-weight: 600; display: flex; align-items: center; gap: 8px; min-width: 0; }
.hq-tag { flex: none; font-size: 12px; font-weight: 600; line-height: 1.5; color: var(--hq-muted); border: 1px solid var(--hq-line); border-radius: 6px; padding: 0 6px; }
.hq-person__sub { font-size: 13px; color: var(--hq-muted); }
.hq-table__foot { display: flex; flex-wrap: wrap; gap: 8px 16px; justify-content: space-between; padding: 12px 16px; border-top: 1px solid var(--hq-hair); font-size: 13px; color: var(--hq-muted); }
.hq-dash { color: var(--hq-muted); }
@media (min-width: 721px) {
  /* the person column stays in view while a wide participant list scrolls sideways */
  .hq-table--stack td.hq-cell-lead, .hq-table--stack th:first-child { position: sticky; left: 0; z-index: 1; box-shadow: inset -1px 0 0 var(--hq-hair); }
  .hq-table--stack td.hq-cell-lead { white-space: nowrap; }
}
/* Phones: member and organizer lists become compact two-line rows. Line 1: the person (or event) and the status;
   line 2, muted: when and how (hq-cell-meta), plus registration when it is not the ordinary "registered". Other cells
   (reports' download buttons) keep a small label on their own line. Empty cells are left out. */
@media (max-width: 720px) {
  .hq-table--stack thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .hq-table--stack, .hq-table--stack tbody { display: block; width: 100%; }
  .hq-table--stack tr { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; padding: 12px 16px; border-bottom: 1px solid var(--hq-hair); }
  .hq-table--stack tbody tr:last-child { border-bottom: 0; }
  .hq-table--stack tr::after { content: ""; order: 2; flex: 0 0 100%; height: 0; }
  .hq-table--stack td { display: block; padding: 0; border: 0; font-size: 14px; background: none; order: 5; flex: 0 0 100%; min-width: 0; }
  .hq-table--stack td.hq-cell-lead { order: 0; flex: 1 1 0; min-width: 0; }
  .hq-table--stack td.hq-cell-status { order: 1; flex: none; margin-left: auto; }
  .hq-table--stack td.hq-cell-meta { order: 3; flex: none; font-size: 13px; color: var(--hq-muted); white-space: nowrap; }
  .hq-table--stack td.hq-cell-meta .hq-method { gap: 5px; }
  .hq-table--stack td.hq-cell-meta .hq-method .hq-i { width: 15px; height: 15px; }
  .hq-table--stack td.hq-cell-meta .hq-person__sub { display: none; }
  .hq-table--stack td.hq-cell-reg { order: 4; flex: none; }
  .hq-table--stack td.hq-cell-reg .hq-chip { font-size: 12px; }
  .hq-table--stack td.hq-cell-quiet, .hq-table--stack td.hq-cell-more, .hq-table--stack td:has(> .hq-dash:only-child) { display: none; }
  .hq-table--stack td[data-label]:not(.hq-cell-lead):not(.hq-cell-status):not(.hq-cell-meta):not(.hq-cell-reg)::before { content: attr(data-label); display: block; color: var(--hq-muted); margin-bottom: 4px; font-size: 12px; }
  .hq-table--stack td.hq-cell-lead .hq-avatar { display: none; }
  .hq-table--stack td.hq-cell-lead .hq-person__name { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .hq-table--stack td.hq-cell-lead .hq-tag { margin-left: 6px; }
  .hq-table--stack td.hq-cell-ans { max-width: none; white-space: normal; }
  .hq-table--stack tbody tr:hover td { background: none; }
}

/* download menu (details/summary disclosure) */
.hq-dl { position: relative; }
.hq-dl > summary { list-style: none; }
.hq-dl > summary::-webkit-details-marker { display: none; }
.hq-dl > summary::after { content: ""; width: 7px; height: 7px; border: solid currentColor; border-width: 0 2px 2px 0; transform: rotate(45deg) translateY(-2px); margin-left: 2px; }
.hq-dl[open] > summary::after { transform: rotate(-135deg) translateY(-2px); }
.hq-dl .hq-pop { min-width: 268px; }
.hq-dl--right .hq-pop { right: 0; left: auto; }
@media (max-width: 560px) { .hq-dl .hq-pop { left: 0; right: auto; } .hq-dl--right .hq-pop { left: auto; right: 0; } }
.hq-pop__hint { font-size: 12px; color: var(--hq-muted); padding: 4px 12px 8px; max-width: 32ch; }
.hq-pop__label b { color: var(--hq-ink); font-variant-numeric: tabular-nums; }

/* the "Filter" disclosure (status, period, event, sort) next to the search */
.hq-fmenu { position: relative; }
.hq-fmenu > summary { list-style: none; }
.hq-fmenu > summary::-webkit-details-marker { display: none; }
.hq-fmenu[open] > summary { border-color: var(--hq-edge); background: var(--hq-quiet); }
.hq-fmenu__n { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; background: var(--hq-ink); color: var(--hq-paper); font-size: 12px; font-variant-numeric: tabular-nums; }
.hq-fmenu .hq-pop { left: 0; right: auto; min-width: 280px; padding: 14px; gap: 14px; }
.hq-fmenu .hq-field { gap: 6px; }
.hq-fmenu__k { font-size: 13px; font-weight: 600; color: var(--hq-body); }
.hq-fmenu .hq-select { width: 100%; }
.hq-toolbar__end { margin-left: auto; }
.hq-toolbar .hq-search { flex: 1 1 320px; }
@media (max-width: 560px) {
  .hq-toolbar .hq-search { flex: 1 1 100%; }
  .hq-toolbar > .hq-fmenu, .hq-toolbar > .hq-toolbar__end { flex: 1 1 0; margin-left: 0; }
  .hq-toolbar > .hq-fmenu > summary, .hq-toolbar > .hq-toolbar__end .hq-dl > summary { width: 100%; }
  .hq-fmenu .hq-pop { min-width: min(280px, calc(100vw - 32px)); }
}
/* Phones: the status chips are one swipeable row */
@media (max-width: 720px) {
  .hq-panel .hq-chips { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; padding: 10px 0 10px 16px; }
  .hq-panel .hq-chips > * { min-width: 0; }
  .hq-chips .hq-chiprow { flex-wrap: nowrap; overflow-x: auto; scroll-snap-type: x proximity; overscroll-behavior-x: contain; padding: 4px 16px 4px 2px; scrollbar-width: none; }
  .hq-chips .hq-chiprow::-webkit-scrollbar { display: none; }
  .hq-chips .hq-chiprow > .hq-qchip { flex: none; scroll-snap-align: start; }
  .hq-chips .hq-toolbar__count { margin-left: 0; padding-right: 16px; }
}

/* calendar date block (upcoming tickets, event list rows): month, day, weekday */
.hq-date { display: grid; align-content: center; justify-items: center; text-align: center; background: var(--hq-surface); color: var(--hq-ink); line-height: 1.1; font-variant-numeric: tabular-nums; }
.hq-date__m { font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--hq-bronze); }
.hq-date__d { font-size: 34px; font-weight: 800; letter-spacing: -.04em; line-height: 1.05; }
.hq-date__w { font-size: 12px; color: var(--hq-muted); }
.hq-date--m { width: 100%; height: 100%; min-height: 132px; border-right: 1px solid var(--hq-hair); padding: 12px 6px; }
.hq-date--s { width: 52px; height: 56px; border: 1px solid var(--hq-line); border-radius: var(--hq-r-sm); }
.hq-date--s .hq-date__m { font-size: 10.5px; }
.hq-date--s .hq-date__d { font-size: 21px; }
[dir="rtl"] .hq-date--m { border-right: 0; border-left: 1px solid var(--hq-hair); }

/* covers (poster-first): typographic tiles from the event's own name */
.hq-cover { --c: var(--hq-cover-a); --ci: var(--hq-cover-a-ink); background: var(--c); color: var(--ci); border-radius: var(--hq-r); display: grid; align-content: end;
  overflow: hidden; position: relative; font-weight: 800; letter-spacing: -.03em; line-height: .98; }
.hq-cover--b { --c: var(--hq-cover-b); --ci: var(--hq-cover-b-ink); }
.hq-cover--c { --c: var(--hq-cover-c); --ci: var(--hq-cover-c-ink); }
.hq-cover--d { --c: var(--hq-cover-d); --ci: var(--hq-cover-d-ink); }
.hq-cover--s { width: 52px; height: 52px; padding: 8px; font-size: 16px; border-radius: var(--hq-r-sm); }
.hq-cover--m { width: 112px; aspect-ratio: 4 / 5; padding: 12px; font-size: 18px; }
.hq-cover--l { width: 100%; min-height: 200px; padding: 26px; font-size: clamp(32px, 9vw, 48px); border-radius: var(--hq-r-lg) var(--hq-r-lg) 0 0; }
.hq-cover__t { position: relative; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; }
.hq-cover__org { position: relative; font-size: 14px; font-weight: 600; letter-spacing: 0; margin-bottom: 10px; opacity: .85; }

/* event list (organizer) */
.hq-events { display: grid; background: var(--hq-surface); border: 1px solid var(--hq-line); border-radius: var(--hq-r); overflow: hidden; }
.hq-event { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 16px; align-items: center; padding: 14px 20px; text-decoration: none; color: var(--hq-ink) !important; border-bottom: 1px solid var(--hq-hair); background: var(--hq-surface); }
.hq-event:last-child { border-bottom: 0; }
@media (min-width: 900px) { .hq-event { grid-template-columns: 52px minmax(0, 1fr) 220px 220px; gap: 24px; } }
a.hq-event:hover { background: var(--hq-quiet); }
.hq-event__name { font-weight: 700; font-size: 17px; letter-spacing: -.015em; }
.hq-event__when { color: var(--hq-body); font-size: 14px; }
.hq-event__state { display: grid; gap: 6px; justify-items: start; }
.hq-event__counts { font-size: 14px; color: var(--hq-body); font-variant-numeric: tabular-nums; }
.hq-event__counts .hq-meter { width: 160px; max-width: 100%; }
.hq-event__next { font-size: 14px; display: grid; gap: 2px; }
.hq-event__next b { font-weight: 600; color: var(--hq-ink); }
.hq-event__next span { color: var(--hq-muted); font-size: 13px; }
@media (max-width: 899px) { .hq-event__counts, .hq-event__next { grid-column: 2; } .hq-event__state { grid-column: 2; } }

/* overview: next actions and the share/check-in links */
.hq-grid2 { display: grid; gap: 20px; }
@media (min-width: 1100px) { .hq-grid2 { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); align-items: start; } }
.hq-card { background: var(--hq-surface); border: 1px solid var(--hq-line); border-radius: var(--hq-r); padding: 22px; display: grid; gap: 14px; align-content: start; min-width: 0; }
.hq-card--sunken { background: var(--hq-quiet); border-color: var(--hq-hair); }
.hq-todo { list-style: none; margin: 0; padding: 0; display: grid; }
.hq-todo li { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; justify-content: space-between; padding: 14px 0; border-bottom: 1px solid var(--hq-hair); }
.hq-todo li:last-child { border-bottom: 0; }
.hq-linkrow { display: grid; gap: 6px; }
.hq-linkrow code { font-family: var(--hq-mono); font-size: 13px; background: var(--hq-surface); border: 1px solid var(--hq-hair); padding: 10px 12px; border-radius: var(--hq-r-xs); overflow-wrap: anywhere; color: var(--hq-ink); }
.hq-acts { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }

/* event page: content and the right rail */
.hq-evgrid { display: grid; gap: 20px; align-items: start; }
@media (min-width: 1280px) { .hq-evgrid { grid-template-columns: minmax(0, 1fr) 312px; gap: 24px; } }
.hq-rail { display: grid; gap: 16px; align-content: start; }
/* PC: the rail stays beside a long participant list (scrolls on its own when it is taller than the window) */
@media (min-width: 1280px) { .hq-rail { position: sticky; top: 88px; align-self: start; max-height: calc(100vh - 104px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; } }
@media (min-width: 760px) and (max-width: 1279px) { .hq-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); } .hq-rail > :last-child { grid-column: 1 / -1; } }
.hq-rail__card { background: var(--hq-surface); border: 1px solid var(--hq-line); border-radius: var(--hq-r); padding: 18px; display: grid; gap: 12px; align-content: start; min-width: 0; }
.hq-rail__head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.hq-rail__head h2 { font-size: 15px; font-weight: 700; }
.hq-rail__head .hq-btn--quiet { min-height: 32px; padding: 4px 0; font-size: 13px; }
.hq-rail__big { font-size: 28px; font-weight: 750; letter-spacing: -.03em; line-height: 1; font-variant-numeric: tabular-nums; }
.hq-rail__big small { font-size: 13px; font-weight: 500; color: var(--hq-muted); letter-spacing: 0; margin-left: 6px; }
.hq-vol { display: flex; align-items: flex-end; gap: 3px; height: 96px; padding-top: 6px; border-bottom: 1px solid var(--hq-line); }
.hq-vol__bar { flex: 1 1 0; min-width: 3px; background: var(--hq-s2); border-radius: 3px 3px 0 0; height: 0; }
.hq-vol__bar--small { background: transparent; border: 1px dashed var(--hq-edge); border-bottom: 0; }
.hq-vol__axis { display: flex; justify-content: space-between; font-size: 12px; color: var(--hq-muted); font-variant-numeric: tabular-nums; }
.hq-donut { display: grid; grid-template-columns: 108px minmax(0, 1fr); gap: 16px; align-items: center; }
.hq-donut__fig { position: relative; width: 108px; height: 108px; }
.hq-donut__fig svg { width: 100%; height: 100%; transform: rotate(-90deg); display: block; }
.hq-donut__fig circle { fill: none; stroke-width: 14; }
.hq-donut__mid { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; line-height: 1.1; }
.hq-donut__mid b { font-size: 22px; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.hq-donut__mid span { font-size: 11px; color: var(--hq-muted); }
.hq-legend { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; font-size: 13px; }
.hq-legend li { display: grid; grid-template-columns: 10px minmax(0, 1fr) auto auto; gap: 8px; align-items: center; }
.hq-legend i { width: 10px; height: 10px; border-radius: 3px; }
.hq-legend b { font-weight: 600; font-variant-numeric: tabular-nums; text-align: right; }
.hq-legend span:last-child { color: var(--hq-muted); font-variant-numeric: tabular-nums; min-width: 3.2em; text-align: right; }
.hq-feed { list-style: none; margin: 0; padding: 0; display: grid; }
.hq-feed li { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 10px 0; border-top: 1px solid var(--hq-hair); }
.hq-feed li:first-child { border-top: 0; }
.hq-feed__ico { width: 36px; height: 36px; border-radius: 10px; background: var(--hq-quiet); color: var(--hq-bronze); display: grid; place-items: center; }
.hq-feed__ico .hq-i { width: 18px; height: 18px; }
.hq-feed b { display: block; font-size: 14px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hq-feed li > div > span { display: block; font-size: 13px; color: var(--hq-muted); }
.hq-feed time { font-size: 13px; color: var(--hq-body); font-variant-numeric: tabular-nums; }

/* bars (stats) */
.hq-bars { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.hq-bars li { display: grid; grid-template-columns: minmax(90px, 1fr) minmax(0, 3fr) 48px; gap: 12px; align-items: center; font-size: 14px; }
.hq-bars__track { height: 10px; background: var(--hq-sunken); border-radius: 999px; overflow: hidden; }
.hq-bars__fill { height: 100%; background: var(--hq-s2); border-radius: inherit; width: 0; }
.hq-bars__n { text-align: right; font-variant-numeric: tabular-nums; font-weight: 600; }

/* notices */
.hq-note { padding: 14px 16px; border-radius: var(--hq-r-sm); background: var(--hq-quiet); color: var(--hq-body); font-size: 14px; display: grid; gap: 4px; border: 1px solid var(--hq-hair); }
.hq-note b { color: var(--hq-ink); }
.hq-note--warn { background: var(--hq-warn-soft); color: var(--hq-warn); border-color: transparent; }
.hq-note--warn b { color: var(--hq-warn); }
.hq-note--bad { background: var(--hq-bad-soft); color: var(--hq-bad); border-color: transparent; }
.hq-note--bad b { color: var(--hq-bad); }
.hq-note--ok { background: var(--hq-ok-soft); color: var(--hq-ok); border-color: transparent; }
.hq-note--ok b { color: var(--hq-ok); }
.hq-note--info { background: var(--hq-info-soft); color: var(--hq-info); border-color: transparent; }
.hq-note--info b { color: var(--hq-info); }
.hq-empty { padding: 40px 20px; text-align: center; display: grid; gap: 10px; justify-items: center; color: var(--hq-body); }
.hq-empty b { color: var(--hq-ink); font-size: 17px; }
.hq-empty--sm { padding: 18px 8px; font-size: 14px; }
.hq-empty--sm b { font-size: 15px; }

/* member: summary, pass / next events */
.hq-next { display: grid; gap: 16px; }
@media (min-width: 820px) { .hq-next { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1400px) { .hq-next { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.hq-ticket { display: grid; grid-template-columns: 88px minmax(0, 1fr); background: var(--hq-surface); border: 1px solid var(--hq-line); border-radius: var(--hq-r); overflow: hidden; }
.hq-ticket__body { padding: 18px 20px; display: grid; gap: 6px; align-content: start; min-width: 0; justify-items: start; }
.hq-ticket__name { font-size: 18px; font-weight: 750; letter-spacing: -.02em; }
.hq-ticket__when { font-size: 14px; color: var(--hq-body); }
.hq-ticket__acts { margin-top: 8px; display: flex; flex-wrap: wrap; gap: 8px; }
.hq-ticket--live { border-color: var(--hq-ok); box-shadow: inset 3px 0 0 var(--hq-ok); }
.hq-filters { display: flex; flex-wrap: wrap; gap: 10px; align-items: end; }
.hq-field { display: grid; gap: 6px; }
.hq-field > label, .hq-label { font-size: 14px; font-weight: 600; color: var(--hq-ink); }
.hq-hint { font-size: 13px; color: var(--hq-muted); }
.hq-split-actions { display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center; justify-content: space-between; }

/* roster wizard (PC first) */
.hq-wizard { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; }
@media (min-width: 1100px) { .hq-wizard { grid-template-columns: 216px minmax(0, 1fr); gap: 40px; } }
.hq-stepper { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; counter-reset: s; }
@media (min-width: 1100px) { .hq-stepper { display: grid; gap: 0; align-content: start; align-self: start; position: sticky; top: 92px; padding: 8px; background: var(--hq-surface); border: 1px solid var(--hq-line); border-radius: var(--hq-r); } }
.hq-stepper li { counter-increment: s; display: flex; align-items: center; gap: 10px; font-size: 14px; color: var(--hq-muted); padding: 9px 10px; border-radius: var(--hq-r-xs); }
.hq-stepper li::before { content: counter(s); width: 24px; height: 24px; border-radius: 50%; border: 1.5px solid var(--hq-line); display: grid; place-items: center; font-size: 12px; font-weight: 700; flex: none; font-variant-numeric: tabular-nums; }
.hq-stepper li.is-done { color: var(--hq-body); }
.hq-stepper li.is-done::before { content: "✓"; background: var(--hq-ink); border-color: var(--hq-ink); color: var(--hq-paper); }
.hq-stepper li[aria-current="step"] { color: var(--hq-ink); font-weight: 700; background: var(--hq-bronze-wash); }
.hq-stepper li[aria-current="step"]::before { border-color: var(--hq-bronze); color: var(--hq-bronze); }
.hq-stepbody { display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; min-width: 0; }
.hq-stepbody > header { display: grid; gap: 8px; }
.hq-stepbody h2 { font-size: 24px; font-weight: 800; letter-spacing: -.03em; }
.hq-choices { display: grid; gap: 10px; }
@media (min-width: 820px) { .hq-choices { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.hq-choice { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 12px; align-items: start; padding: 16px; border: 1px solid var(--hq-line); border-radius: var(--hq-r-sm); background: var(--hq-surface); cursor: pointer; }
.hq-choice:hover { border-color: var(--hq-edge); }
.hq-choice:has(input:checked) { border-color: var(--hq-ink); box-shadow: inset 0 0 0 1px var(--hq-ink); }
.hq-choice input { width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--hq-ink); }
.hq-choice b { display: block; }
.hq-choice span { font-size: 13px; color: var(--hq-muted); }
.hq-drop { border: 1.5px dashed var(--hq-edge); border-radius: var(--hq-r); padding: 40px 24px; display: grid; gap: 12px; justify-items: center; text-align: center; background: var(--hq-surface); }
.hq-drop.is-over { border-color: var(--hq-bronze); background: var(--hq-bronze-wash); }
.hq-drop b { font-size: 18px; }
.hq-file { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; padding: 14px 16px; border: 1px solid var(--hq-line); border-radius: var(--hq-r-sm); background: var(--hq-surface); }
.hq-file b { overflow-wrap: anywhere; }
.hq-maptable td, .hq-maptable th { vertical-align: top; }
.hq-maptable .hq-select { min-width: 200px; }
.hq-sample { font-size: 13px; color: var(--hq-body); display: grid; gap: 2px; }
.hq-diff { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--hq-hair); border: 1px solid var(--hq-line); border-radius: var(--hq-r); overflow: hidden; }
@media (min-width: 820px) { .hq-diff { grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); } }
.hq-diff button { all: unset; box-sizing: border-box; cursor: pointer; background: var(--hq-surface); padding: 14px 16px; display: grid; gap: 4px; min-height: 44px; }
.hq-diff button:hover { background: var(--hq-quiet); }
.hq-diff button[aria-pressed="true"] { box-shadow: inset 0 -2px 0 var(--hq-ink); background: var(--hq-quiet); }
.hq-diff button:focus-visible { outline: 3px solid var(--hq-focus); outline-offset: -3px; }
.hq-diff__v { font-size: 28px; font-weight: 750; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.hq-diff__k { font-size: 13px; color: var(--hq-body); display: flex; gap: 6px; align-items: center; }
.hq-diff + .hq-diff-note { margin-top: -10px; }
.hq-change { font-size: 13px; color: var(--hq-body); }
.hq-change del { color: var(--hq-muted); }
.hq-change ins { text-decoration: none; font-weight: 600; color: var(--hq-ink); }
.hq-pc-only { display: none; }
@media (max-width: 899px) { .hq-pc-only { display: grid; } }
.hq-sticky-acts { position: static; background: color-mix(in srgb, var(--hq-paper) 94%, transparent); backdrop-filter: blur(6px); padding: 14px 0; border-top: 1px solid var(--hq-hair); display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center; justify-content: space-between; }
@media (min-width: 900px) { .hq-sticky-acts { position: sticky; bottom: 0; } }

/* guest host (checkin.hereq.iopatina.com): one focused, mobile-first sheet */
body.hq-guest { background: var(--hq-quiet); }
.hq-guest-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 60px; }
.hq-guest-top .hq-brand__by { display: inline; }
.hq-guest-main { max-width: 540px; margin: 0 auto; padding: 8px var(--hq-gutter) 48px; }
@media (min-width: 720px) { .hq-guest-main { padding-top: 24px; } }
.hq-sheet { background: var(--hq-surface); border-radius: var(--hq-r-lg); border: 1px solid var(--hq-hair); overflow: hidden; box-shadow: var(--hq-shadow); }
.hq-sheet__body { padding: 24px 20px 26px; display: grid; gap: 20px; }
@media (min-width: 560px) { .hq-sheet__body { padding: 32px 32px 34px; } }
.hq-sheet__body--head { padding-bottom: 0; gap: 14px; }
.hq-sheet h1 { font-size: 28px; font-weight: 800; letter-spacing: -.035em; line-height: 1.15; }
:lang(ko) .hq-sheet h1 { letter-spacing: -.045em; }
.hq-facts { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; font-size: 15px; color: var(--hq-body); }
.hq-facts b { color: var(--hq-ink); font-weight: 600; margin-right: 8px; }
.hq-form { display: grid; gap: 18px; }
/* registration.js fields inside the new form (shared logic, new look) */
.hq-form .field { display: grid; gap: 6px; }
.hq-form .field label { font-size: 14px; font-weight: 600; }
.hq-form .field input, .hq-form .hq-input { width: 100%; font-size: 16px; min-height: 50px; }
.hq-form .field input { font: 16px/1.3 var(--hq-ui); color: var(--hq-ink); background: var(--hq-surface); border: 1px solid var(--hq-edge); border-radius: var(--hq-r-sm); padding: 12px 14px; }
.hq-form .field input:focus-visible { outline: 3px solid var(--hq-focus); outline-offset: 1px; }
.hq-form .field .muted, .hq-form .field .small { color: var(--hq-muted); font-size: 13px; font-weight: 400; }
.hq-form .field .hint, .hq-form .hint { font-size: 13px; color: var(--hq-muted); }
.hq-form .field-error, .hq-error { color: var(--hq-bad); font-size: 13px; font-weight: 600; min-height: 0; margin: 0; }
.hq-form .field-error:empty, .hq-error:empty { display: none; }
.hq-form [aria-invalid="true"] { border-color: var(--hq-bad) !important; }
.hq-form fieldset { border: 0; margin: 0; padding: 0; display: grid; gap: 16px; min-width: 0; }
.hq-form legend { padding: 0; font-size: 14px; font-weight: 600; margin-bottom: 4px; }
.hq-why { background: var(--hq-quiet); border: 1px solid var(--hq-hair); border-radius: var(--hq-r-sm); padding: 16px; display: grid; gap: 8px; font-size: 14px; color: var(--hq-body); }
.hq-why dl { margin: 0; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 4px 14px; }
.hq-why dt { color: var(--hq-muted); }
.hq-why dd { margin: 0; color: var(--hq-ink); }
.hq-check { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 12px; align-items: start; font-size: 14px; color: var(--hq-body); cursor: pointer; }
.hq-check input { width: 22px; height: 22px; margin: 1px 0 0; accent-color: var(--hq-ink); }
.hq-receipt { display: grid; gap: 16px; }
.hq-receipt__mark { width: 64px; height: 64px; border-radius: 50%; background: var(--hq-ok); position: relative; }
.hq-receipt__mark::after { content: ""; position: absolute; left: 23px; top: 12px; width: 14px; height: 28px; border: solid var(--hq-surface); border-width: 0 5px 5px 0; transform: rotate(45deg); }
.hq-receipt__mark--wait { background: var(--hq-info-soft); border: 3px dashed var(--hq-info); }
.hq-receipt__mark--wait::after { display: none; }
.hq-receipt__mark--reg { background: var(--hq-ink); }
.hq-receipt dl { margin: 0; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 8px 16px; padding: 16px; background: var(--hq-quiet); border-radius: var(--hq-r-sm); font-size: 14px; }
.hq-receipt dt { color: var(--hq-muted); }
.hq-receipt dd { margin: 0; color: var(--hq-ink); font-weight: 600; overflow-wrap: anywhere; }
.hq-code-entry { display: grid; gap: 14px; }
.hq-code-entry .hq-input { font: 600 22px/1.2 var(--hq-mono); letter-spacing: .08em; text-align: center; width: 100%; min-height: 60px; text-transform: uppercase; }
.hq-after { display: grid; gap: 8px; padding-top: 6px; border-top: 1px solid var(--hq-hair); font-size: 14px; color: var(--hq-body); }
.hq-guest-foot { text-align: center; font-size: 13px; color: var(--hq-muted); padding: 24px 0 0; display: grid; gap: 6px; justify-items: center; }
.hq-guest-foot nav { display: flex; flex-wrap: wrap; gap: 4px 16px; justify-content: center; }
.hq-guest-foot a { color: var(--hq-body); min-height: 44px; display: inline-flex; align-items: center; }
.hq-guest-main .video-box { border-radius: var(--hq-r); overflow: hidden; }
/* the code entry (root) only: the venue entrance photograph, a banner on phones, a side panel on a PC; the event pages
   that follow stay one focused sheet */
.hq-entry { display: grid; }
.hq-entry__photo { display: block; overflow: hidden; aspect-ratio: 16 / 10; border-radius: var(--hq-r-lg) var(--hq-r-lg) 0 0; background: #1a1714; }
.hq-entry__photo img { object-position: 50% 74%; }
.hq-entry > .hq-sheet { border-top: 0; border-radius: 0 0 var(--hq-r-lg) var(--hq-r-lg); }
@media (min-width: 900px) {
  .hq-guest-main:has(> .hq-entry) { max-width: 1040px; }
  .hq-entry { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); background: var(--hq-surface); border: 1px solid var(--hq-hair); border-radius: var(--hq-r-lg); overflow: hidden; box-shadow: var(--hq-shadow); }
  .hq-entry__photo { aspect-ratio: auto; min-height: 600px; border-radius: 0; }
  .hq-entry__photo img { object-position: 50% 62%; }
  .hq-entry > .hq-sheet { border: 0; border-radius: 0; box-shadow: none; align-self: center; }
}

/* preview harness label (design/v6/preview only) */
.hq-preview-flag { position: fixed; left: 12px; bottom: 12px; z-index: 60; background: var(--hq-ink); color: var(--hq-paper); font-size: 12px; padding: 6px 10px; border-radius: 6px; opacity: .85; pointer-events: none; }

/* ------------------------------------------------------------------ shared small parts */
.hq-wrap--app { max-width: none; }
.hq-cover h1.hq-cover__t { color: inherit; font: inherit; letter-spacing: inherit; line-height: inherit; margin: 0; }
@media (max-width: 819px) { .hq-diff button:last-child:nth-child(odd) { grid-column: 1 / -1; } }
.hq-chips:empty, .hq-dl-status:empty { display: none; }
.hq-chips { padding: 12px 16px; display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--hq-hair); }
.hq-chiprow { display: flex; flex-wrap: wrap; gap: 6px; }
.hq-qchip { all: unset; box-sizing: border-box; display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 6px 13px; border: 1px solid var(--hq-line);
  border-radius: 999px; background: var(--hq-surface); color: var(--hq-body); font: 500 14px/1.2 var(--hq-ui); cursor: pointer; }
@media (pointer: coarse) { .hq-qchip { min-height: 44px; } }
.hq-qchip:hover { border-color: var(--hq-edge); color: var(--hq-ink); }
.hq-qchip[aria-pressed="true"] { border-color: var(--hq-ink); background: var(--hq-ink); color: var(--hq-paper); }
.hq-qchip[aria-pressed="true"] b { color: var(--hq-paper); background: color-mix(in srgb, var(--hq-paper) 18%, transparent); }
.hq-qchip:focus-visible { outline: 3px solid var(--hq-focus); outline-offset: 2px; }
.hq-qchip b { color: var(--hq-ink); font-weight: 600; font-variant-numeric: tabular-nums; font-size: 12px; background: var(--hq-sunken); border-radius: 999px; padding: 1px 7px; }
.hq-qchip .hq-chip { background: transparent; padding: 0; box-shadow: none; }
.hq-qchip[aria-pressed="true"] .hq-chip { color: var(--hq-paper); }
.hq-dl-status { padding: 8px 16px 0; }
.hq-pager { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; justify-content: flex-end; padding: 10px 16px; border-top: 1px solid var(--hq-hair); }
.hq-pager:empty { display: none; }
.hq-btn:disabled, .hq-btn[disabled] { opacity: .55; cursor: not-allowed; }
tbody[aria-busy="true"] { opacity: .6; }
@media (prefers-reduced-motion: no-preference) { tbody[aria-busy="true"] { transition: opacity .15s; } }
.hq-copy { display: flex; gap: 8px; align-items: stretch; }
.hq-copy .hq-input { flex: 1 1 auto; min-width: 0; font-size: 13px; }
.hq-qr { width: 160px; max-width: 100%; background: #fff; padding: 8px; border-radius: var(--hq-r-sm); border: 1px solid var(--hq-line); }
.hq-qr svg { display: block; width: 100%; height: auto; }
.hq-code { font: 700 22px/1.2 var(--hq-mono) !important; letter-spacing: .06em; }
.hq-stack { display: grid; gap: 14px; }
.hq-suggest { display: grid; gap: 4px; justify-items: start; }
.hq-consent { display: grid; gap: 2px; }
dl.hq-facts { margin: 0; }
dl.hq-facts > div { display: flex; flex-wrap: wrap; gap: 0 8px; }
dl.hq-facts dt { color: var(--hq-ink); font-weight: 600; }
dl.hq-facts dd { margin: 0; overflow-wrap: anywhere; }
.hq-revs { margin: 0; padding-left: 20px; display: grid; gap: 6px; font-size: 14px; }
.hq-notice { margin: 0; }
.hq-legal a { min-height: 24px; }
.hq-account-note { margin: 12px var(--hq-gutter, 16px) 0; }
dialog.terms-dialog { max-width: min(560px, calc(100vw - 32px)); padding: 0; }
dialog.terms-dialog .terms-gate { margin: 0; }
.hq-filters .hq-btn { align-self: end; }
.hq-maptable th[scope="row"] { white-space: normal; color: var(--hq-ink); }
.hq-table td .hq-num { white-space: nowrap; }
.hq-table:not(.hq-table--stack) td.hq-cell-lead, .hq-table--stack td.hq-cell-lead { min-width: 220px; }
@media (max-width: 720px) { .hq-table--stack td.hq-cell-lead { min-width: 0; } }
.hq-head__note { font-size: 13px; color: var(--hq-muted); }
.hq-table .hq-avatar { width: 30px; height: 30px; font-size: 12px; }
.hq-filter .hq-select { max-width: 260px; }
@media (max-width: 720px) { .hq-filter { flex: 1 1 140px; } .hq-filter .hq-select { width: 100%; max-width: none; } }
