.policy-main{max-width:1040px;margin:0 auto;padding:64px 24px 84px}
.policy-hero{max-width:760px;margin-bottom:32px}
.policy-hero h1{font-size:clamp(40px,6vw,68px);line-height:1.02;letter-spacing:-.05em}
.policy-hero .policy-lead{max-width:720px;margin:24px 0 0;color:#675967;font-size:18px;line-height:1.7}
.policy-meta{margin:18px 0 0;color:#775c6b;font-size:14px}
.policy-index{display:flex;flex-wrap:wrap;gap:8px 18px;margin:28px 0 0;padding:16px 18px;border:1px solid #eadde3;border-radius:12px;background:#fff}
.policy-index a{color:#831b49;font-size:14px;font-weight:700;border-bottom:1px solid transparent}
.policy-index a:hover,.policy-index a:focus-visible{border-color:#831b49}
.policy-notice{margin:24px 0;padding:20px 22px;border:1px solid #eadde3;border-radius:14px;background:#fff5f8;color:#5e3348;line-height:1.65}
.policy-notice strong{display:block;margin-bottom:7px;color:#831b49}
.policy-document{background:#fff;border:1px solid #eadde3;border-radius:18px;padding:clamp(24px,5vw,52px);box-shadow:0 14px 35px rgba(48,27,44,.05)}
.policy-document section+section{margin-top:42px;padding-top:34px;border-top:1px solid #f0e5e9}
.policy-document h2{margin:0 0 14px;font-size:clamp(25px,3vw,34px);line-height:1.1;color:#301b2c}
.policy-document h3{margin:24px 0 8px;font-size:19px;color:#5b2442}
.policy-document p,.policy-document li{color:#514450;line-height:1.72}
.policy-document p{margin:12px 0}
.policy-document ul,.policy-document ol{margin:12px 0;padding-left:24px}
.policy-document li+li{margin-top:8px}
.policy-document a{color:#831b49;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.policy-document address{font-style:normal;line-height:1.7;color:#514450}
.policy-table-wrap{overflow-x:auto;margin:18px 0}
.policy-table{width:100%;border-collapse:collapse;min-width:620px;font-size:15px}
.policy-table th,.policy-table td{padding:13px 14px;border:1px solid #eadde3;text-align:left;vertical-align:top;line-height:1.5}
.policy-table th{background:#fff5f8;color:#5b2442;font-weight:750}
.policy-form{padding:22px;border:1px solid #eadde3;border-radius:14px;background:#fffafb}
.policy-form p{margin:7px 0}
.policy-form span{display:inline-block;min-width:220px;border-bottom:1px solid #8d7881;color:#775c6b}
.policy-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.policy-actions a,.policy-actions button{display:inline-block;padding:12px 18px;border:1px solid #831b49;border-radius:28px;background:#831b49;color:white;text-decoration:none;font:700 15px var(--sans);cursor:pointer}
.policy-actions a.secondary,.policy-actions button.secondary{background:#fff;border-color:#e1cbd4;color:#831b49}
.policy-subtle{color:#775c6b;font-size:14px}
@media(max-width:650px){.policy-main{padding:38px 18px 58px}.policy-document{padding:24px 20px}.policy-document section+section{margin-top:34px;padding-top:27px}.policy-hero .policy-lead{font-size:16px}.policy-index{display:grid;gap:10px}.policy-form span{min-width:140px}}
