/* /privacy — calm landing page: the important answers are visible up top, details open on demand. */

.pv-page main { overflow-x: clip; }
.hide-sm { }
@media (max-width: 560px) { .hide-sm { display: none; } }
.seg { white-space: nowrap; }

.pv-hero { padding: clamp(56px, 9vh, 104px) 0 clamp(48px, 7vh, 80px); }
.pv-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 48px; align-items: center; }
.pv-title { font-size: clamp(36px, 5.4vw, 64px); line-height: 1.24; font-weight: 700; letter-spacing: 0; }
.pv-sub { margin-top: 22px; max-width: 30em; font-size: clamp(17px, 1.6vw, 20px); line-height: 1.75; color: var(--ink-2); }
.pv-meta { margin-top: 18px; font-size: 14px; color: var(--ink-2); }

.pv-visual { position: relative; width: 220px; height: 220px; display: grid; place-items: center; }
.pv-glow { position: absolute; inset: -10%; border-radius: 50%; background: radial-gradient(closest-side, rgba(221, 238, 255, 1), rgba(221, 238, 255, 0)); }
.pv-tile { position: relative; width: 168px; height: 168px; border-radius: 40px; display: grid; place-items: center; }
.pv-tile svg { width: 92px; height: 92px; fill: none; stroke: var(--ink); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.pv-tile .pv-dot { fill: var(--pink); stroke: var(--ink); }
.pv-tile .pv-check { stroke: var(--ink); }

.motion .pv-hero-copy { animation: pv-in .5s var(--ease) both; }
.motion .pv-visual { animation: pv-in .6s var(--ease) .1s both; }
@keyframes pv-in { from { opacity: 0; transform: translateY(10px); } }

/* ---------- summary: three short answers ---------- */
.pv-summary { padding: 0 0 clamp(72px, 10vh, 112px); }
.pv-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); }
.pv-cols li { padding: 32px 32px 8px 0; }
.pv-cols li + li { padding-left: 32px; border-left: 1px solid var(--line); }
.pv-icon { width: 48px; height: 48px; padding: 11px; border-radius: 14px; fill: none; stroke: var(--ink); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.pv-cols li:nth-child(1) .pv-icon { background: var(--pink); }
.pv-cols li:nth-child(2) .pv-icon { background: var(--sky); }
.pv-cols li:nth-child(3) .pv-icon { background: var(--yellow); }
.pv-cols p { text-wrap: pretty; }
.pv-cols h2 { margin-top: 18px; font-size: 21px; font-weight: 700; line-height: 1.45; }
.pv-cols p { margin-top: 10px; font-size: 16px; line-height: 1.75; color: var(--ink-2); }
.motion .pv-cols .reveal { --rise: 10px; --dur: .45s; }

/* ---------- details ---------- */
.pv-details { padding: clamp(64px, 9vh, 104px) 0 clamp(88px, 12vh, 136px); background: var(--paper); }
.pv-narrow { max-width: calc(var(--measure) + 40px + var(--gutter) * 2); }
.pv-h2 { font-size: clamp(26px, 2.6vw, 32px); font-weight: 700; line-height: 1.4; }
.acc-group { margin-top: 24px; background: var(--white); border: 1px solid var(--line); border-radius: var(--r-panel); padding: 4px 24px; box-shadow: var(--shadow-1); }
.acc + .acc { border-top: 1px solid var(--line); }
.acc summary {
  display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 64px;
  list-style: none; cursor: pointer; font-size: 17px; font-weight: 600; line-height: 1.5; border-radius: 10px;
}
.acc summary::-webkit-details-marker { display: none; }
.acc summary:hover span { text-decoration: underline; text-decoration-color: var(--line-input); text-underline-offset: .25em; }
.acc summary svg { width: 20px; height: 20px; flex: none; fill: none; stroke: var(--ink-2); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s var(--ease); }
.acc[open] summary svg { transform: rotate(180deg); }
.acc-body { overflow: hidden; }
.facts { display: grid; gap: 12px; padding: 0 0 24px; }
.facts li { position: relative; padding-left: 20px; font-size: 16px; line-height: 1.75; color: var(--ink-2); }
.facts li::before { content: ""; position: absolute; left: 4px; top: .75em; width: 5px; height: 5px; border-radius: 50%; background: var(--ink-3); }
.vendors { display: grid; gap: 0; margin-bottom: 18px; border-top: 1px solid var(--line); }
.vendors div { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.vendors dt { font-size: 15px; font-weight: 600; }
.vendors dd { font-size: 15px; line-height: 1.7; color: var(--ink-2); }
.acc-p { font-size: 16px; color: var(--ink-2); }
.contact { display: flex; flex-wrap: wrap; gap: 4px 24px; padding: 4px 0 20px; }
.contact a { display: inline-flex; align-items: center; min-height: 44px; font-size: 17px; font-weight: 600; }

@media (max-width: 860px) {
  .pv-cols { grid-template-columns: 1fr; }
  .pv-cols li, .pv-cols li + li { padding: 26px 0 22px; border-left: 0; }
  .pv-cols li + li { border-top: 1px solid var(--line); }
}
@media (max-width: 640px) {
  .pv-hero-grid { grid-template-columns: 1fr; gap: 28px; }
  .pv-visual { order: -1; width: 128px; height: 128px; }
  .pv-tile { width: 104px; height: 104px; border-radius: 28px; }
  .pv-tile svg { width: 58px; height: 58px; }
  .acc-group { padding: 2px 18px; }
  .vendors div { grid-template-columns: 1fr; gap: 2px; }
}
