.policy-modal[hidden]{display:none}.policy-modal{position:fixed;z-index:500;inset:0;display:grid;place-items:end center;padding:0}.policy-modal__backdrop{position:absolute;inset:0;background:rgba(7,10,8,.72);backdrop-filter:blur(5px)}.policy-modal__panel{position:relative;width:100%;max-height:min(88svh,56rem);overflow:auto;border-radius:1rem 1rem 0 0;background:var(--paper);box-shadow:0 -24px 70px rgba(0,0,0,.28);animation:policy-rise var(--base) var(--ease)}.policy-modal__header{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;gap:1rem;align-items:start;padding:1.35rem 1.25rem 1rem;border-bottom:1px solid var(--line);background:var(--paper)}.policy-modal__header h2{max-width:15ch;margin:0;font-family:var(--font-sans);font-size:1.35rem;letter-spacing:-.04em;text-transform:none}.policy-modal__close{display:grid;flex:0 0 auto;place-items:center;width:2.5rem;height:2.5rem;border:1px solid var(--line);border-radius:50%;background:transparent;font-size:1.4rem}.policy-modal__content{padding:1.25rem}.policy-modal__effective{padding-bottom:1.25rem;border-bottom:1px solid var(--line);color:var(--muted);font-size:.76rem}.policy-modal__content section{padding:1.15rem 0;border-bottom:1px solid var(--line)}.policy-modal__content section:last-child{border-bottom:0}.policy-modal__content h3{margin-bottom:.5rem;font-family:var(--font-sans);font-size:1rem;letter-spacing:-.02em}.policy-modal__content p{margin-bottom:0;color:#465048;font-size:.88rem}@keyframes policy-rise{from{opacity:0;transform:translateY(2rem)}to{opacity:1;transform:translateY(0)}}@media (min-width:760px){.policy-modal{place-items:center;padding:2rem}.policy-modal__panel{width:min(100%,52rem);max-height:calc(100svh - 4rem);border-radius:var(--radius-md)}.policy-modal__header{padding:1.75rem 2rem 1.15rem}.policy-modal__content{padding:1.5rem 2rem 2rem}}
.terms-consent{display:grid;grid-template-columns:1.2rem 1fr;gap:.2rem .7rem;align-items:start;padding:1rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2)}.terms-consent input{width:1.1rem;height:1.1rem;margin:.15rem 0 0;accent-color:var(--accent)}.terms-consent label{font-size:.8rem;line-height:1.5}.terms-consent a{font-weight:800;text-decoration:underline;text-underline-offset:.2rem}.terms-consent small{grid-column:2;color:var(--danger);font-size:.7rem}.terms-consent.has-error{border-color:var(--danger)}
