/* Legal and FAQ pages: night band with title, paper text column, optional table of contents. */
.pagehead{position:relative;background:var(--night);color:var(--ink-inv)}
.pagehead .stars{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none}
.pagehead-copy{position:relative;padding-block:40px 20px}
.pagehead h1{font-weight:800;font-size:clamp(1.75rem,1.3rem + 2vw,2.75rem);line-height:1.1;letter-spacing:-.03em;max-width:17.83em}
.pagehead .intro{margin-top:16px;max-width:37.5em;font-size:var(--fs-lead);color:var(--ink-inv-2)}
.legal-body{background:var(--paper);color:var(--ink);padding-block:clamp(40px,6vw,80px) clamp(56px,7vw,96px);--focus:var(--ink)}
.legal-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:32px}
@media (min-width:1100px){.legal-grid{grid-template-columns:260px minmax(0,var(--measure-legal));gap:64px;align-items:start}.toc{position:sticky;top:calc(var(--head-h) + 24px)}}
.toc h2{font:700 1rem/1.3 var(--font-head);color:var(--ink)}
.toc ul{list-style:none;margin:8px 0 0;padding:0}
.toc a{display:flex;align-items:center;min-height:44px;color:var(--ink-2);text-decoration:none;font-weight:600}
@media (hover:hover) and (pointer:fine){.toc a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:4px}}
.prose{min-width:0;max-width:var(--measure-legal);font-size:var(--fs-legal);line-height:1.65}
.prose h2{font-weight:800;font-size:1.5rem;line-height:1.2;margin-top:56px;}
.prose h2:first-child{margin-top:0}
.prose p{margin-top:14px}
.prose ul,.prose ol{margin:14px 0 0;padding-left:22px;display:grid;gap:8px}
.prose li{padding-left:2px}
.prose a:not(.btn){color:var(--teal);font-weight:700;text-underline-offset:3px}
.prose li a:not(.btn),.prose p a:not(.btn){padding-block:11px}  /* inline: padding grows the hit box to 44px without moving the lines */
.prose .own-line{display:flex;align-items:center;min-height:44px}
.contact-box{margin-top:56px;background:var(--paper-2);border-radius:var(--r-card);padding:24px;max-width:var(--measure-legal)}
.contact-box h2{margin-top:0;font-size:1.25rem}
.contact-box .btn{margin-top:16px}
.contact-box .own-line{margin-top:4px}

/* FAQ */
.faq h2{margin-top:48px}
.faq details{margin-top:10px;background:var(--paper-2);border-radius:var(--r-field)}
.faq summary{position:relative;display:flex;align-items:center;min-height:56px;padding:12px 56px 12px 18px;cursor:pointer;font-weight:700;font-size:var(--fs-legal);line-height:1.35;list-style:none;border-radius:var(--r-field)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before,.faq summary::after{content:"";position:absolute;right:20px;top:50%;width:16px;height:4px;margin-top:-2px;background:var(--ink)}
.faq summary::after{transform:rotate(90deg)}
.faq details[open] summary::after{transform:none;opacity:0}
.faq summary:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.faq details>p{margin:0;padding:0 18px 18px;line-height:1.65}
.pagehead .edge{width:100%;height:auto;display:block;fill:var(--paper);transform:scaleY(-1);margin-bottom:-1px}
.consent-copy{margin-top:14px;background:var(--paper-2);border-radius:14px;padding:20px;display:grid;gap:12px}
.consent-copy p{margin:0}
.consent-prev{margin-top:14px}
.consent-prev summary{display:flex;align-items:center;min-height:44px;cursor:pointer;font-weight:700;touch-action:manipulation}
.consent-prev summary:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:var(--r-field)}
