.back { font-size: 14px; color: var(--muted); text-decoration: none; }
.back:hover { color: var(--ink); }
.policy { padding: 110px 0 80px; max-width: 760px; }
.policy h1 { font-size: clamp(40px, 6vw, 64px); margin: 12px 0 8px; }
.updated { color: var(--muted); font-size: 14px; }
.ptabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 28px 0 44px; }
.ptabs a { font-size: 14px; text-decoration: none; padding: 8px 14px; border-radius: 999px; border: 1px solid var(--line); background: var(--paper); transition: background .2s, color .2s, border-color .2s; }
.ptabs a:hover { border-color: var(--orange); }
.ptabs a.on { background: var(--ink); color: var(--paper); border-color: var(--ink); }

.policy article h2 { font-size: 26px; margin: 40px 0 12px; }
.policy article p, .policy article li { color: #4a3a2e; margin-bottom: 12px; }
.policy article ul, .policy article ol { padding-left: 22px; margin-bottom: 12px; }
.policy article a { color: var(--orange-deep); }
.policy .lead { font-size: 18px; color: var(--ink); }
.note { background: var(--paper); border: 1px solid var(--line); border-left: 4px solid var(--orange); border-radius: 12px; padding: 16px 18px; margin: 20px 0; }
.todo { background: #fff1a8; color: #7a5b00; padding: 0 4px; border-radius: 4px; font-weight: 600; }

.contact-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; margin: 10px 0 20px; }
.contact-grid > div { background: var(--paper); border: 1px solid var(--line); border-radius: 16px; padding: 18px 20px; }
.contact-grid dt { font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--orange-deep); font-weight: 600; margin-bottom: 4px; }
.contact-grid dd { color: var(--ink); font-weight: 500; overflow-wrap: anywhere; }
