/* Policy reading layer: current dusk/lilac palette, calm typography, no new animation. */
.policy-layout { display: grid; align-items: start; gap: 30px; }
.policy-main { min-width: 0; }
.policy-preview { padding: 18px 22px; margin-bottom: 24px; border: 1px solid var(--line); border-radius: 16px; background: var(--lilac-2); color: var(--ink-2); font-size: 14px; }
.policy-preview strong { display: block; color: var(--dusk); margin-bottom: 5px; font-weight: 650; }
.policy-contents { padding: 25px; background: var(--card); border: 1px solid var(--line); border-radius: 20px; margin-bottom: 32px; }
.policy-contents h2, .policy-related h2 { font-size: 20px; line-height: 1.25; letter-spacing: -.015em; font-weight: 600; }
.policy-contents ol { display: grid; gap: 10px; padding-left: 20px; margin: 16px 0 0; color: var(--ink-2); font-size: 16px; }
.policy-contents a, .policy-copy a { text-underline-offset: 4px; text-decoration-thickness: 1px; }
.policy-contents a:hover, .policy-copy a:hover { color: var(--violet); }
.policy-copy { max-width: 760px; }
.policy-copy h2 { font-size: clamp(25px, 3vw, 34px); line-height: 1.15; margin: 36px 0 14px; scroll-margin-top: 110px; }
.policy-copy h2:first-child { margin-top: 0; }
.policy-copy p, .policy-copy li { line-height: 1.7; color: var(--ink-2); }
.policy-copy p + p { margin-top: 14px; }
.policy-copy li + li { margin-top: 14px; }
.policy-copy a { overflow-wrap: anywhere; }
.policy-rail { display: grid; gap: 20px; }
.policy-help, .policy-related { padding: 26px; border-radius: 20px; border: 1px solid var(--line); background: var(--card); }
.policy-help { background: var(--lilac-2); }
.policy-note { display: block; color: var(--cape-deep); font-family: var(--hand); font-size: 30px; transform: rotate(-3deg); transform-origin: left center; margin-bottom: 8px; }
.policy-help h2 { font-size: 30px; line-height: 1.08; }
.policy-help p { font-size: 15px; line-height: 1.55; color: var(--ink-2); margin: 16px 0 22px; }
.policy-email, .policy-contact { display: block; width: fit-content; margin: 14px auto 0; font-size: 15px; text-underline-offset: 4px; }
.policy-related ul { list-style: none; padding: 0; margin: 12px 0 0; }
.policy-related a { display: block; padding: 10px 0; text-decoration: none; font-size: 15px; color: var(--ink-2); }
.policy-related a[aria-current="page"] { color: var(--violet); font-weight: 600; }
@media (min-width: 900px) { .policy-layout { grid-template-columns: minmax(0, 1fr) 300px; gap: 54px; } .policy-rail { position: sticky; top: 110px; } }
