.faq-grid { margin-top: 44px; display: grid; grid-template-columns: 0.8fr 1.2fr; gap: clamp(28px,5vw,72px); align-items: start; }
.faq-list { border-top: 1px solid var(--line); }
.faq-item { border-bottom: 1px solid var(--line); }
.faq-q { width: 100%; background: none; border: 0; text-align: left; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 0; font-family: var(--font-display); font-size: 1.18rem; font-weight: 500; letter-spacing: -0.02em; color: var(--ink); }
.faq-q .pm { flex: none; width: 26px; height: 26px; border: 1px solid var(--line-strong); border-radius: 0; display: grid; place-items: center; transition: transform .3s, background .3s, color .3s, border-color .3s; }
.faq-q .pm .iconify { font-size: 15px; }
.faq-item.open .faq-q .pm { background: var(--ink); color: #fff; border-color: var(--ink); transform: rotate(90deg); }
.faq-a { max-height: 0; overflow: hidden; transition: max-height .35s ease; }
.faq-a p { color: var(--ink-soft); padding: 0 0 24px; font-size: 15.5px; max-width: 60ch; }
.faq-item.open .faq-a { max-height: 320px; }
@media (max-width: 1000px) {
.faq-grid { grid-template-columns: 1fr; }
}
.tqd { position: relative; }
.tqd-head-wrap { padding-block: clamp(44px, 6.5vw, 90px) clamp(18px, 2.6vw, 30px); }
.tqd-head { margin-bottom: 0; }
.tqd-scroller { position: relative; height: 400vh; }
.tqd-pin { position: sticky; top: 0; height: 100vh; min-height: 600px;
           display: flex; flex-direction: column; overflow: hidden;
           padding: calc(var(--nav-h) + clamp(12px, 2vh, 26px)) 0 clamp(18px, 2.6vh, 34px);
           background: var(--bg); }
.tqd-inner { width: 100%; flex: 1 1 auto; min-height: 0;
             display: flex; flex-direction: column; gap: clamp(10px, 1.6vh, 20px); }
.tqd-rail { position: absolute; top: calc(var(--nav-h) + 26px); bottom: 26px;
            left: clamp(10px, 2.2vw, 30px); width: 2px; background: var(--line);
            display: none; }
@media (min-width: 1120px) {
.tqd-rail { display: block; }
}
.tqd-rail i { position: absolute; top: 0; left: 0; width: 100%; height: 0;
              background: var(--accent); }
.tqd-tabs { display: none; flex: 0 0 auto; grid-template-columns: 1fr 1fr;
            border: 1px solid var(--line); }
.tqd-tab { appearance: none; border: 0; border-radius: 0; cursor: pointer;
           padding: 11px 10px; background: var(--card);
           font-family: var(--font-mono); font-size: 11px; letter-spacing: .09em;
           text-transform: uppercase; color: var(--ink-mute);
           transition: background .18s ease, color .18s ease; }
.tqd-tab + .tqd-tab { border-left: 1px solid var(--line); }
.tqd-tab.is-active { background: var(--ink); color: #fff; }
.tqd-cols { flex: 1 1 auto; min-height: 0;
            display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
            gap: 0; border: 1px solid var(--line); background: var(--card); }
.tqd-col { display: flex; flex-direction: column; min-width: 0; min-height: 0; }
.tqd-col + .tqd-col { border-left: 1px solid var(--line); }
.tqd-collabel { flex: 0 0 auto; display: flex; align-items: center; flex-wrap: wrap;
                gap: 2px 10px; min-width: 0; padding: 12px clamp(16px, 1.8vw, 24px);
                border-bottom: 1px solid var(--line); background: var(--bg-2); }
.tqd-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--line-strong); flex: none; }
.tqd-col-on .tqd-dot { background: var(--accent); }
.tqd-cname { font-family: var(--font-mono); font-size: 11px; letter-spacing: .1em;
             text-transform: uppercase; white-space: nowrap; color: var(--ink); }
.tqd-csub { font-size: 12.5px; color: var(--ink-mute); }
.tqd-pane { position: relative; flex: 1 1 auto; min-height: 0; min-width: 0;
            background: var(--card); overflow: hidden; }
.tqd-vp { position: absolute; inset: 0; overflow: hidden;
          padding: clamp(16px, 2vw, 24px) clamp(16px, 2vw, 26px) 62px;
          -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 24px);
          mask-image: linear-gradient(to bottom, transparent 0, #000 24px); }
.tqd-feed { transition: transform .65s cubic-bezier(.4, 0, .2, 1); }
.tqd-askrow { display: flex; justify-content: flex-end; }
.tqd-ask { max-width: 78%; background: var(--bg-2); padding: 11px 15px;
           font-family: Georgia, "Times New Roman", serif; font-size: 14px;
           line-height: 1.5; color: var(--ink); }
.tqd-say { margin: 0; padding-bottom: 8px; font-family: Georgia, "Times New Roman", serif;
           font-size: 14.5px; line-height: 1.55; color: var(--ink); }
.tqd-tool { margin: 0; padding: 4px 0 6px; font-family: var(--font-mono);
            font-size: 11px; letter-spacing: .01em; color: var(--ink-mute); }
.tqd-tool b { font-weight: 600; color: var(--ink-soft); }
.tqd-col-on .tqd-tool b { color: var(--accent-ink, #C7440F); }
.tqd-code { font-family: var(--font-mono); font-size: 12px; overflow-wrap: anywhere;
            background: var(--bg-2); padding: 1px 5px; }
.tqd-guess { margin-bottom: 12px; padding: 11px 13px;
             border: 1px dashed var(--accent); background: rgba(241, 90, 34, .05);
             display: flex; flex-direction: column; gap: 8px; }
.tqd-guess-h { font-family: var(--font-mono); font-size: 9.5px; letter-spacing: .11em;
               text-transform: uppercase; color: var(--accent-ink, #C7440F); }
.tqd-chips { display: flex; flex-wrap: wrap; gap: 7px; }
.tqd-chip { font-family: var(--font-mono); font-size: 11px; overflow-wrap: anywhere;
            padding: 4px 8px; background: rgba(241, 90, 34, .1); color: var(--accent-ink, #C7440F); }
.tqd-policy { margin-bottom: 12px; padding: 11px 13px; background: var(--bg-2);
              border: 1px solid var(--line); display: flex; flex-direction: column; gap: 8px; }
.tqd-policy-h { font-family: var(--font-mono); font-size: 9.5px; letter-spacing: .11em;
                text-transform: uppercase; color: var(--ink-soft); }
.tqd-policy .tqd-chip { background: var(--card); border: 1px solid var(--line); color: var(--ink); }
.tqd-srcs { display: flex; flex-direction: column; gap: 6px; padding-bottom: 12px; }
.tqd-src { display: flex; align-items: center; gap: 8px; padding: 7px 10px;
           border: 1px solid var(--line); font-family: var(--font-mono);
           font-size: 11px; overflow-wrap: anywhere; color: var(--ink-soft); }
.tqd-src i { width: 5px; height: 5px; border-radius: 50%; background: var(--accent); flex: none; }
.tqd-src.is-table i { background: var(--ink-mute); }
.tqd-count { display: flex; align-items: baseline; gap: 10px; padding-bottom: 10px; }
.tqd-count b { font-family: var(--font-display); font-size: clamp(24px, 2.6vw, 32px);
               font-weight: 600; line-height: 1; letter-spacing: -.03em; color: var(--accent-ink, #C7440F); }
.tqd-col-on .tqd-count b { color: var(--ink); }
.tqd-count span { font-family: Georgia, "Times New Roman", serif; font-size: 14.5px; color: var(--ink); }
.tqd-table { width: 100%; border-collapse: collapse; border-top: 1px solid var(--line);
             font-family: Georgia, "Times New Roman", serif; font-size: 12.5px; color: var(--ink); }
.tqd-table th { padding: 8px 8px 8px 0; text-align: left; font-family: var(--font-body);
                font-size: 11px; font-weight: 600; letter-spacing: .02em;
                border-bottom: 1px solid var(--line); }
.tqd-table td { padding: 7px 8px 7px 0; border-bottom: 1px solid var(--bg-2); }
.tqd-more { display: block; padding: 8px 0 14px; font-size: 12px; color: var(--ink-mute); }
.tqd-verdict-in { padding: 3px 0 3px 13px; border-left: 2px solid var(--line-strong);
                  font-family: Georgia, "Times New Roman", serif; font-size: 13.5px;
                  line-height: 1.55; color: var(--ink); }
.tqd-col-on .tqd-verdict-in { border-left-color: var(--accent); }
.tqd-composer { position: absolute; left: 0; right: 0; bottom: 0; height: 62px;
                display: flex; align-items: flex-end;
                padding: 0 clamp(14px, 1.6vw, 18px) 14px;
                background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, var(--card) 42%); }
.tqd-composer-box { flex: 1 1 auto; min-width: 0; display: flex; align-items: center; gap: 10px;
                    padding: 10px 13px; border: 1px solid var(--line); background: var(--card); }
.tqd-input { flex: 1 1 auto; min-width: 0; border: 0; padding: 0; background: none;
             font-family: var(--font-body); font-size: 12.5px; color: var(--ink);
             cursor: default; text-overflow: clip; }
.tqd-input::placeholder { color: var(--ink-mute); opacity: 1; }
.tqd-model { flex: none; font-family: var(--font-mono); font-size: 11px; color: var(--ink-mute); }
.tqd-composer.is-locked .tqd-composer-box { background: var(--bg-2); border-color: var(--line); }
.tqd-composer.is-locked .tqd-input, .tqd-composer.is-locked .tqd-input::placeholder, .tqd-composer.is-locked .tqd-model { color: var(--line-strong); }
.tqd-stack { flex: 1 1 auto; min-height: 0; min-width: 0;
             display: flex; flex-direction: column; gap: 12px; }
.tqd-stack .tqd-pane { flex: 1.25 1 0; transition: flex-grow .9s cubic-bezier(.4, 0, .2, 1); }
.tqd-graph { flex: .85 1 0; min-height: 0; display: flex; flex-direction: column; gap: 8px;
             margin: 0 12px 12px; padding: 12px 16px 12px; background: var(--ink);
             transition: flex-grow .9s cubic-bezier(.4, 0, .2, 1); }
.tqd-graph-head { display: flex; align-items: center; justify-content: space-between;
                  gap: 12px; overflow: hidden; }
.tqd-graph-h { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .12em;
               text-transform: uppercase; white-space: nowrap; color: var(--accent); }
.tqd-graph-live { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .06em;
                  white-space: nowrap; color: rgba(255, 255, 255, .5); }
.tqd-graph-scroll { flex: 1 1 auto; min-height: 0; display: flex; }
.tqd-svg { flex: 1 1 auto; min-height: 0; width: 100%; overflow: visible; }
.tqd-n rect { fill: rgba(255, 255, 255, .06); stroke: var(--accent); stroke-width: 1.4; }
.tqd-n text { fill: #fff; font-family: var(--font-body); font-size: 14px; font-weight: 600;
              text-anchor: middle; }
.tqd-n { transform-box: fill-box; transform-origin: center; }
.tqd-n.is-on rect { filter: drop-shadow(0 0 10px rgba(241, 90, 34, .5)); }
.tqd-halo { fill: none; stroke: var(--accent); stroke-width: 2;
            transform-box: fill-box; transform-origin: center; }
.tqd-e { fill: none; stroke: rgba(255, 255, 255, .42); stroke-width: 1.4; stroke-dasharray: 1; }
.tqd-srcbox rect { fill: rgba(255, 255, 255, .045); stroke: rgba(255, 255, 255, .2); }
.tqd-srck { fill: rgba(255, 255, 255, .52); font-family: var(--font-mono);
            font-size: 11px; letter-spacing: .1em; }
.tqd-srcv { fill: #fff; font-family: var(--font-mono); font-size: 12px; }
.tqd-srcn { fill: rgba(255, 255, 255, .45); font-family: var(--font-body); font-size: 12.5px; }
.tqd-pipe { fill: none; stroke: rgba(255, 255, 255, .3); stroke-width: 1.2; }
.tqd-pulse { fill: var(--accent); }
.tqd-rules rect { fill: rgba(241, 90, 34, .16); stroke: var(--accent); }
.tqd-rules text { fill: #FFC0A0; font-family: var(--font-body); font-size: 13px; font-weight: 600; }
@media (prefers-reduced-motion: reduce) {
.tqd-pulse { animation: none !important; }
}
.tqd-verdicts { flex: 0 0 auto; display: grid;
                grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0; }
.tqd-verdicts > div { border-top: 2px solid var(--line-strong); padding: 8px 24px 0 0;
                      font-size: 13px; color: var(--ink-mute); }
.tqd-verdicts > div b { color: var(--ink); font-weight: 600; }
.tqd-verdicts > .is-on { border-top-color: var(--accent); padding: 8px 0 0 24px; }
.tqd.is-static .tqd-scroller { height: auto; }
.tqd.is-static .tqd-pin { position: static; height: auto; min-height: 0; overflow: visible;
                          padding: clamp(28px, 5vw, 56px) 0; }
.tqd.is-static .tqd-rail { display: none; }
.tqd.is-static .tqd-pane { height: auto; min-height: 0; }
.tqd.is-static .tqd-vp { position: static; inset: auto; padding-bottom: 18px;
                         -webkit-mask-image: none; mask-image: none; }
.tqd.is-static .tqd-stack .tqd-pane, .tqd.is-static .tqd-graph { flex: 0 0 auto; }
.tqd.is-static .tqd-graph { padding-bottom: 16px; }
.tqd.is-static .tqd-composer { position: static; height: auto; background: none;
                              padding: 0 clamp(14px, 1.6vw, 18px) 16px; }
.tqd.is-static .tqd-svg { height: 240px; }
@media (max-width: 900px) {
.tqd-tabs { display: grid; }
.tqd-cname { display: none; }
.tqd-head { grid-template-columns: minmax(0, 1fr); gap: 8px; align-items: start; }
.tqd-head .section-title { font-size: clamp(1.5rem, 6vw, 2rem); }
.tqd-head .lede { font-size: 14.5px; }
.tqd-head-wrap { padding-block: clamp(32px, 8vw, 56px) clamp(14px, 3vw, 22px); }
.tqd-graph-h { font-size: 9px; letter-spacing: .08em; }
.tqd-graph-live { display: none; }
.tqd-composer { height: 52px; padding-bottom: 10px; }
.tqd-vp { padding-bottom: 52px; }
.tqd-cols { grid-template-columns: minmax(0, 1fr); }
.tqd-col { grid-area: 1 / 1; }
.tqd-col + .tqd-col { border-left: 0; }
.tqd-col:not(.is-shown) { display: none; }
.tqd-verdicts { grid-template-columns: minmax(0, 1fr); }
.tqd-verdicts > div { grid-area: 1 / 1; padding: 8px 0 0; }
.tqd-verdicts > div:not(.is-shown) { display: none; }
.tqd-graph { overflow: hidden; min-height: 264px; margin-bottom: 0; padding-bottom: 8px; }
.tqd-graph-scroll { overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; }
.tqd-svg { min-width: 560px; }
.tqd-stack .tqd-pane { min-height: 130px; }
}

/* ---- ported from styles.css ------------------------------------------------
   This file loads after tqdf-*.css, so these override the stale copies there. */

/* The `padding` shorthand above used to zero the horizontal value, which wiped
   .container's own `padding: 0 var(--pad)` gutter — so the "Same question, two
   answers" heading sat 56px left of every other section heading on the page.
   padding-block sets only the vertical sides and leaves the gutter alone. */

/* The stats used to run as a wrapping row here. Combined with the base rule's
   justify-content:center that centred each 200px stat inside a 267px column,
   so they sat indented from the quote above them instead of flush with it. */
@media (max-width: 760px) {
  .story-feature-side { flex-direction: column; flex-wrap: nowrap; align-items: flex-start; gap: clamp(20px, 4vw, 28px); }
  .story-feature-stat { width: 100%; }
  .story-feature-stat .sf-l { max-width: none; }
  /* logo / rule / attribution stacked, so the name is not squeezed into ~120px */
  .story-feature .story-foot { flex-direction: column; align-items: flex-start; gap: 10px; }
  .story-feature .story-sep { display: none; }
}
