.policy-page{--project-space:clamp(24px,4vw,64px)}
.policy-page .project-header{justify-content:space-between}
.policy-back{display:inline-flex;gap:20px;align-items:center;min-height:44px;font-size:14px}
.policy-main{max-width:1120px;margin:0 auto;padding:0 var(--project-space) 80px}
.policy-page h1{font-size:clamp(31px,5.3vw,64px);overflow-wrap:anywhere;max-width:18ch}
.policy-page h1 em{display:block}
.policy-date{font-size:13px;color:var(--project-muted);margin:24px 0 40px}
.policy-intro,.policy-text{font-size:16px;line-height:1.8;max-width:76ch}
.policy-intro p,.policy-text p{margin:0 0 18px}
.policy-page .policy-intro a,.policy-text a{text-decoration:underline;text-underline-offset:3px}
.policy-contents{display:grid;grid-template-columns:1fr 1fr;gap:4px 32px;padding:24px 0;margin:36px 0 48px;border-block:1px solid var(--project-line)}
.policy-contents a{display:flex;align-items:center;min-height:44px;font-size:14px;line-height:1.5}
.policy-text section{scroll-margin-top:24px;margin:0 0 42px}
.policy-text h2{font-size:clamp(23px,2.6vw,30px);font-weight:400;letter-spacing:-.025em;line-height:1.25;margin:0 0 22px}
.policy-details{margin:0}
.policy-details>div{display:grid;grid-template-columns:190px minmax(0,1fr);gap:12px 28px;border-bottom:1px solid var(--project-line);padding:16px 0}
.policy-details dt{color:var(--project-muted);font-size:14px}
.policy-details dd{margin:0;overflow-wrap:anywhere;min-width:0}
.policy-page .project-footer{gap:20px 36px;flex-wrap:wrap}
.policy-page .project-footer a{min-height:44px;display:flex;align-items:center}
@media(hover:hover) and (pointer:fine){.policy-back:hover,.policy-contents a:hover{color:var(--project-olive);text-decoration:underline;text-underline-offset:4px}}
@media(max-width:600px){.policy-page .project-brand{font-size:21px}.policy-back{font-size:12px;gap:8px}.policy-page .breadcrumbs{line-height:1.7;margin:24px 0 36px}.policy-contents{grid-template-columns:1fr;gap:0;margin-block:28px 36px}.policy-details>div{grid-template-columns:1fr;gap:4px}.policy-date{margin-bottom:28px}.policy-main{padding-bottom:40px}.policy-text section{margin-bottom:34px}}
@media(max-width:380px){.policy-page h1 em{font-size:26px}}
@media print{.project-header,.project-footer,.project-skip,.policy-contents,.breadcrumbs{display:none}.policy-main{max-width:none;padding:0}.policy-page h1{font-size:30px}.policy-text{max-width:none}.policy-text section{break-inside:avoid}.policy-page a{color:inherit}}
