[hidden]{display:none !important;}

/* ============================================================
   FAQ entry: viewer privacy (faq.html #privacy)
   Built on site tokens and patterns (.marker, .btn, .grid-bg,
   .q5-panel card, .icard .ic). Interactive state is added by
   js/faq-privacy.js (.pv--js); without JS everything reads as text.
   ============================================================ */

.pv-panel{
  margin-top:clamp(20px,2.6vw,28px);max-width:1000px;
  padding:clamp(22px,3vw,34px);
  background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);
}
.pv-panel__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 24px;margin-bottom:22px;}
.pv-block{margin-top:clamp(40px,4.6vw,60px);max-width:1000px;}
.pv-lead{color:var(--fg-2);font-size:var(--text-lg);line-height:1.6;max-width:760px;}
.pv-foot{margin-top:16px;color:var(--fg-muted);font-size:var(--text-sm);line-height:1.5;}
.pv-link{color:var(--accent);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;}
.pv-link:hover{color:var(--accent-hover);text-decoration-thickness:2px;}
.pv-link:focus-visible{outline:none;box-shadow:0 0 0 4px var(--ring);border-radius:var(--r-xs);}
.pv-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* ---------- Block 1: segmented control (pills) ---------- */
.pv-switch{
  display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;
  background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-pill);
}
.pv-switch__btn{
  min-height:40px;padding:9px 18px;border:1px solid transparent;border-radius:var(--r-pill);
  background:transparent;color:var(--fg-2);cursor:pointer;text-align:center;
  font-family:var(--font-body);font-weight:600;font-size:var(--text-sm);line-height:1.3;
  transition:background var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease);
}
.pv-switch__btn:hover{color:var(--accent);}
.pv-switch__btn[aria-pressed="true"]{background:var(--surface);color:var(--accent);border-color:var(--border-accent);box-shadow:var(--shadow-sm);}
.pv-switch__btn:focus-visible{outline:none;box-shadow:0 0 0 4px var(--ring);}

/* ---------- Block 1: fixed labels, shared upload-capacity scale ---------- */
.pv-upload .pv-panel__head{display:block;margin-bottom:18px;}
.pv-upload .pv-switch{margin-top:18px;border-radius:var(--r-md);}
.pv-upload .pv-switch__btn{border-radius:var(--r-sm);}
.pv-upload .pv-switch__btn[aria-pressed="true"]{background:var(--action-bg);color:var(--fg-on-accent);border-color:transparent;box-shadow:none;}
.pv-chart{
  --pv-own:14%;--pv-q:56%;
  --pv-t:420ms cubic-bezier(.22,.61,.36,1);
  display:grid;gap:18px;margin-top:22px;padding-block:22px;
  border-block:1px solid var(--border);
}
.pv-upload.is-in-use .pv-chart{--pv-own:76%;--pv-q:3%;}
.pv-row{display:grid;grid-template-columns:170px minmax(0,1fr);align-items:center;gap:20px;}
.pv-row__label{font-size:var(--text-sm);font-weight:600;line-height:1.4;color:var(--fg-2);}
.pv-row--q .pv-row__label{color:var(--fg-strong);}
.pv-row__track{display:block;height:22px;background:var(--surface-2);border-radius:4px;overflow:hidden;}
.pv-row__fill{display:block;height:100%;min-width:3px;transition:width var(--pv-t);}
.pv-row--own .pv-row__fill{width:var(--pv-own);background:var(--fg-2);}
.pv-row--q .pv-row__fill{width:var(--pv-q);background:var(--accent);}
.pv-row--free .pv-row__fill{
  width:calc(100% - var(--pv-own) - var(--pv-q));
  background:repeating-linear-gradient(135deg,var(--fg-muted) 0 1px,transparent 1px 7px),var(--surface);
  box-shadow:inset 0 0 0 1px var(--border-strong);
}

/* Captions: without JS both show; with JS they share one cell (no layout shift) */
.pv-caps{margin-top:18px;}
.pv-cap{color:var(--fg);font-size:var(--text-body);line-height:1.6;max-width:760px;}
.pv-cap + .pv-cap{margin-top:12px;}
.pv-cap__tag{font-weight:600;color:var(--fg-strong);}
.pv--js .pv-caps{display:grid;}
.pv--js .pv-cap{grid-area:1/1;margin:0;}
.pv--js .pv-cap:not(.is-current){visibility:hidden;}
.pv--js .pv-cap__tag{display:none;}
.pv-upload .pv-foot{margin-top:10px;}

/* ---------- Block 2: timeline on a technical strip ---------- */
.pv-tl-wrap{
  position:relative;overflow:hidden;isolation:isolate;margin:22px 0 24px;padding:26px 16px 22px;
  background:var(--surface-tech);border:1px solid var(--border-accent);border-radius:var(--r-md);
}
.pv-tl-wrap > .grid-bg{position:absolute;inset:0;z-index:-1;}
.pv-tl{
  position:relative;display:grid;grid-template-columns:repeat(3,1fr);margin:0;padding:0;list-style:none;
  font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;
  text-transform:uppercase;letter-spacing:.06em;font-variant-numeric:tabular-nums;
}
.pv-tl::before{content:"";position:absolute;top:6px;left:16.667%;right:16.667%;height:1px;background:var(--gradient-soft);}
.pv-tl li{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;}
.pv-tl__dot{width:12px;height:12px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--surface-tech);}
.pv-tl__lbl{color:var(--fg-strong);}
.pv-tl__pill{
  margin-top:-8px;padding:6px 14px;border-radius:var(--r-pill);white-space:nowrap;
  background:var(--surface);border:1px solid var(--border-accent);color:var(--accent);box-shadow:var(--shadow-sm);
}

.pv-facts{display:grid;gap:14px;margin:0;padding:0;list-style:none;}
.pv-facts li{display:flex;align-items:flex-start;gap:14px;}
.pv-facts p{color:var(--fg);line-height:1.6;max-width:720px;padding-top:6px;}
.pv-ic{
  flex:none;width:40px;height:40px;border-radius:var(--r-md);display:grid;place-items:center;
  background:var(--signal-bg);color:var(--accent);border:1px solid var(--border-accent);
}
.pv-ic svg{width:20px;height:20px;}

@media (max-width:639px){
  .pv-tl{grid-template-columns:1fr;gap:20px;}
  .pv-tl::before{top:12px;bottom:12px;left:6px;right:auto;width:1px;height:auto;background:var(--accent);opacity:.5;}
  .pv-tl li{flex-direction:row;text-align:left;}
  .pv-tl__pill{margin:0 0 0 -4px;}
  .pv-tl-wrap{padding:20px 18px;}
}

/* ---------- Block 3: answer cards ---------- */
.pv-cards{display:grid;grid-template-columns:1fr;gap:16px;}
@media (min-width:621px){ .pv-cards{grid-template-columns:1fr 1fr;} }
.pv-card{
  display:flex;flex-direction:column;
  padding:clamp(22px,2.8vw,32px);
  background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-md);
}
.pv-card__q{margin:0;font-family:var(--font-display);font-weight:600;font-size:var(--text-lg);line-height:1.3;color:var(--fg-strong);text-wrap:balance;}
/* Stat pattern: the answer is the loud element */
.pv-card__a{margin-top:14px;font-family:var(--font-display);font-weight:800;font-size:var(--text-h2);line-height:1;color:var(--accent);}
.pv-card__body{margin-top:14px;padding-top:14px;border-top:1px solid var(--border);color:var(--fg-2);line-height:1.6;}

/* ---------- Block 4: document card with copy action ---------- */
.pv-doc{
  margin-top:20px;overflow:hidden;
  background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-md);
}
.pv-doc__bar{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;
  padding:12px 14px 12px clamp(20px,2.6vw,28px);background:var(--surface-2);border-bottom:1px solid var(--border);
}
.pv-doc__kicker{font-family:var(--font-body);font-size:.6875rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-muted);}
.pv-copy__text{padding:clamp(20px,2.8vw,32px) clamp(20px,2.8vw,32px);color:var(--fg);line-height:1.75;max-width:78ch;user-select:text;}
.pv-copy__btn{min-width:10.5em;}
.pv-copy__i--done{display:none;}
.pv-copy__btn.is-copied .pv-copy__i{display:none;}
.pv-copy__btn.is-copied .pv-copy__i--done{display:block;}

@media (max-width:620px){
  .pv-switch{display:grid;grid-template-columns:1fr;width:100%;}
  .pv-row{grid-template-columns:1fr;gap:7px;}
  .pv-row__track{height:18px;}
}

@media (prefers-reduced-motion:reduce){
  .pv-chart{--pv-t:0s;}
  .pv-switch__btn{transition:none;}
}

/* ============================================================
   Plain-language version: "Yes... / ...but" pairs, safeguards,
   GDPR summary with legal details on demand.
   ============================================================ */
.pv-pairs{margin-top:clamp(8px,1.4vw,14px);max-width:1000px;border-top:1px solid var(--border);}
.pv-pair{
  display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,3.6vw,48px);
  padding-block:clamp(22px,2.8vw,32px);border-bottom:1px solid var(--border);
}
.pv-pair__title{margin:0 0 10px;font-family:var(--font-display);font-weight:700;font-size:1.12rem;line-height:1.25;color:var(--fg-strong);text-wrap:balance;}
.pv-pair p{margin:0;color:var(--fg-2);line-height:1.6;}
.pv-pair__but{padding-left:clamp(16px,2vw,24px);border-left:2px solid var(--border-accent);}
.pv-pair__but .pv-pair__title{color:var(--accent);}
.pv-num{font-weight:700;color:var(--fg-strong);font-variant-numeric:tabular-nums;white-space:nowrap;}

/* Upload demo spans both columns under the first pair */
.pv-pair__demo{grid-column:1 / -1;}
.pv-pair__demo .pv-switch{margin:0;border-radius:var(--r-md);}
.pv-pair__demo .pv-chart{margin-top:18px;}

/* JS reveal: the "...but" answers after its "Yes..." */
.pv--js .pv-pair__but{opacity:0;transform:translateX(14px);transition:opacity .5s var(--ease) .25s,transform .5s var(--ease) .25s;}
.pv--js .pv-pair.is-in .pv-pair__but{opacity:1;transform:none;}

/* Blocks below the pairs */
.pv-block__title{margin:0 0 16px;font-family:var(--font-display);font-weight:700;font-size:var(--text-lg);line-height:1.3;color:var(--fg-strong);}

/* Safeguards: label left, text right, hairlines */
.pv-safe__list{list-style:none;margin:0;padding:0;border-top:1px solid var(--border);}
.pv-safe__list li{
  display:grid;grid-template-columns:200px minmax(0,1fr);gap:20px;align-items:start;
  padding-block:14px;border-bottom:1px solid var(--border);
}
/* Label line box matches the first line of the text, so both share one optical center */
.pv-safe__k{display:flex;align-items:center;gap:10px;min-height:calc(var(--text-body) * 1.6);font-weight:600;font-size:var(--text-sm);line-height:1.3;color:var(--fg-strong);}
/* --pv-ico-y: per-icon optical correction (shape weight), measured on render */
.pv-safe__k svg{flex:none;width:18px;height:18px;color:var(--accent);transform:translateY(var(--pv-ico-y,0));}
.pv-ico--disk{--pv-ico-y:-1.5px;}
.pv-ico--air{--pv-ico-y:-1.25px;}
.pv-ico--safety{--pv-ico-y:-1.25px;}
.pv-ico--control{--pv-ico-y:-.25px;}
.pv-ico--gdpr{--pv-ico-y:-1.25px;}
.pv-safe__list p{margin:0;color:var(--fg-2);line-height:1.6;max-width:70ch;}
.pv--js .pv-safe__list li{opacity:0;transform:translateY(8px);transition:opacity .45s var(--ease),transform .45s var(--ease);}
.pv--js .pv-safe.is-in .pv-safe__list li{opacity:1;transform:none;}
.pv--js .pv-safe.is-in .pv-safe__list li:nth-child(2){transition-delay:.07s;}
.pv--js .pv-safe.is-in .pv-safe__list li:nth-child(3){transition-delay:.14s;}
.pv--js .pv-safe.is-in .pv-safe__list li:nth-child(4){transition-delay:.21s;}
.pv--js .pv-safe.is-in .pv-safe__list li:nth-child(5){transition-delay:.28s;}

/* GDPR summary + collapsible legal details */
.pv-gdpr__text{margin:0;color:var(--fg);line-height:1.65;max-width:760px;}
.pv-legal__toggle{margin-top:18px;gap:8px;border:1px solid var(--border-accent);color:var(--accent);}
.pv-legal__chev{width:16px;height:16px;transition:transform var(--dur) var(--ease);}
.pv-legal__toggle[aria-expanded="true"] .pv-legal__chev{transform:rotate(180deg);}
.pv-legal__toggle:focus-visible{outline:none;box-shadow:0 0 0 4px var(--ring);}
.pv-legal__kicker{margin:clamp(22px,2.6vw,30px) 0 0;font-size:.6875rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-muted);}
.pv-legal{display:grid;grid-template-rows:1fr;transition:grid-template-rows var(--dur-slow) var(--ease);}
.pv-legal__inner{min-height:0;overflow:hidden;}
.pv--js .pv-legal{grid-template-rows:0fr;}
.pv--js .pv-legal.is-open{grid-template-rows:1fr;}
.pv--js .pv-legal__kicker{display:none;}
.pv-legal .pv-panel:first-of-type{margin-top:clamp(18px,2.4vw,26px);}

@media (max-width:760px){
  .pv-pair{grid-template-columns:1fr;gap:16px;}
  .pv-pair__but{padding-left:16px;}
  .pv-safe__list li{grid-template-columns:1fr;gap:6px;}
}
@media (prefers-reduced-motion:reduce){
  .pv--js .pv-pair__but,.pv--js .pv-safe__list li{opacity:1;transform:none;transition:none;}
  .pv-legal,.pv-legal__chev{transition:none;}
}
