/* ══════════════════════════════════════════════════════════════════════
   ALTOQUANT — the document pages: contact, privacy, terms, 404, desktop-linked.

   There were three more. /platform said again, at length, what the landing's
   platform card already says; /support and /updates said again what /contact says
   and what the landing's capture now does. Five pages, each one true.

   Loads AFTER signal.css and uses its tokens. These pages are WRITTEN in the
   paper language, not re-skinned into it. The privacy request opts into the
   shared finite-choice behavior; this file still owns its paper composition.

   Two laws from the landing hold here:
     · hover belongs to things you can click. Nothing else lights up.
     · the footer zone stays transparent, so the footer sits on the same cream
       as the block above it — never a band, never a seam.
   ═════════════════════════════════════════════════════════════════════ */

/* ══ THE PAGE ══════════════════════════════════════════════════════════ */
.doc{padding:calc(150px + env(safe-area-inset-top)) 0 0}
.doc .wrap{max-width:min(74ch,var(--page))}

.doc h1{
  margin:14px 0 0;
  font-size:clamp(40px,5.2vw,68px);line-height:.98;letter-spacing:-.05em;
}
.doc .say{max-width:62ch}

/* ── prose ────────────────────────────────────────────────────────────── */
.prose{margin-top:clamp(40px,6vh,64px)}
.prose h2{
  margin:clamp(40px,5vh,56px) 0 12px;
  font-size:clamp(21px,2vw,27px);line-height:1.15;letter-spacing:-.035em;
  color:var(--ink);
}
.prose h2:first-child{margin-top:0}
.prose p{margin-top:14px;font-size:16.5px;line-height:1.68;color:var(--ink-2)}
.prose ul{margin-top:14px;display:flex;flex-direction:column}
.prose li{
  padding:14px 0;border-top:1px solid var(--rule-soft);
  font-size:16.5px;line-height:1.66;color:var(--ink-2);
}
.prose li:first-child{border-top:0;padding-top:6px}
.prose strong,.prose b{font-weight:600;color:var(--ink)}
.prose em{font-style:normal;font-weight:600;color:var(--ink)}
.prose code{font:inherit;font-weight:600;color:var(--accent-ink)}
/* Inline prose links keep their hit box inside the inherited 27px line box.
   Larger vertical padding overlaps adjacent lines and can send a click to the
   wrong sentence; inline text links retain the platform's target-size exception. */
.prose a{
  color:var(--accent-ink);font-weight:500;
  padding:3px 0;text-decoration-thickness:1px;text-underline-offset:3px;
}
.prose a:hover{text-decoration:underline}
.updated{
  margin-top:clamp(40px,6vh,60px);padding-top:22px;
  border-top:1px solid var(--rule-soft);
  font-size:14px;color:var(--ink-3);
}

.privacy-request,.privacy-review{
  margin-top:22px;padding:20px;border:1px solid var(--rule-soft);border-radius:16px;
  background:#fffdf9;box-shadow:var(--float);
}
.privacy-request label,.privacy-review label{display:block;font-size:14px;font-weight:600;color:var(--ink);margin-bottom:9px}
.privacy-request-fields{display:grid;grid-template-columns:minmax(220px,1fr) minmax(190px,.72fr) max-content;align-items:end;gap:10px}
.privacy-request-field{min-width:0}
.privacy-request input,.privacy-request select,.privacy-review input{
  width:100%;min-width:0;height:48px;box-sizing:border-box;padding:0 14px;
  border:1px solid var(--rule);border-radius:10px;background:#fff;color:var(--ink);
  font:500 15px/1.35 var(--ui);
}
.privacy-kind-select{
  width:100%;
  --ui-line:var(--rule);--ui-panel:#fff;--ui-text:var(--ink);
  --ui-accent:var(--accent-ink);--ui-radius:10px;--shadow-pop:var(--float);
}
.privacy-kind-select.is-enhanced > select{display:none}
.privacy-kind-select .privacy-select-trigger{
  height:48px;padding:0 12px 0 14px;
  border:1px solid var(--rule);border-radius:10px;background:#fff;color:var(--ink);
  font:500 15px/1.35 var(--ui);letter-spacing:-.012em;transform:none;
}
.privacy-kind-select .privacy-select-trigger:hover{border-color:rgba(20,22,26,.4);background:#fff;transform:none}
.privacy-kind-select .ui-select-popup{
  font-size:14px;
}
.privacy-kind-select .ui-select-option{
  border-radius:8px;
}
.privacy-request input:focus-visible,.privacy-kind-select .privacy-select-trigger:focus-visible{
  outline:0;border-color:var(--accent-ink);box-shadow:0 0 0 3px rgba(36,64,200,.14);
}
.privacy-request button,.privacy-review button,.privacy-review .btn{height:48px;min-height:48px}
.privacy-request [role="status"],.privacy-review [role="status"]{min-height:22px;margin-top:10px;font-size:14px;color:var(--ink-2)}
.privacy-request [role="status"]:empty,.privacy-review [role="status"]:empty{min-height:0;margin-top:0}
.privacy-request .privacy-no-js-note{margin:10px 0 0;font-size:14px;line-height:1.5;color:var(--ink-2)}
.privacy-review h3{font-size:20px;line-height:1.2;letter-spacing:-.025em}
.privacy-review p{font-size:15px}
.privacy-review-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.privacy-review [hidden]{display:none}
#privacy-deletion-review{margin-top:20px;padding-top:18px;border-top:1px solid var(--rule-soft)}
@media (max-width:640px){
  .privacy-request-fields{grid-template-columns:minmax(0,1fr);align-items:stretch}
  .privacy-request input,.privacy-request select,.privacy-request button,.privacy-review input,.privacy-review button{width:100%}
}

/* ── the fact cards (contact, support) ────────────────────────────────── */
.cards{
  margin-top:clamp(36px,5vh,52px);
  display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));
  gap:14px;
}
.card{
  display:flex;flex-direction:column;gap:8px;
  padding:24px;border-radius:18px;
  border:1px solid var(--rule-soft);background:#FFFDF9;box-shadow:var(--float);
}
.card .k{font-size:12.5px;font-weight:600;letter-spacing:.02em;color:var(--ink-3)}
.card .v{
  font-size:clamp(16px,1.5vw,18.5px);font-weight:600;
  letter-spacing:-.02em;color:var(--ink);overflow-wrap:anywhere;
}
/* an address is not code */
.card .v.mono{font-size:16px;font-weight:600}
.card .d{margin-top:auto;font-size:14.5px;line-height:1.55;color:var(--ink-3)}
/* only a card that IS a link reacts */
a.card{transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
a.card:hover{
  transform:translateY(-3px);
  box-shadow:0 4px 8px -4px rgba(20,22,26,.06), 0 30px 64px -32px rgba(20,22,26,.28);
}
a.card .v{color:var(--accent-ink)}

@media (max-width:760px){
  .doc{padding-top:calc(112px + env(safe-area-inset-top))}
  .doc h1{font-size:clamp(34px,9vw,46px)}
}
