.policy-shell { min-height:100vh; display:flex; flex-direction:column; background:var(--bg); }
.policy-wrap { width:var(--site-width); margin:0 auto; }
.policy-main { flex:1; padding:76px 0 104px; }
.policy-header { padding-bottom:37px; border-bottom:1px solid var(--line); }
.policy-eyebrow { display:block; margin-bottom:13px; color:var(--muted); font-family:var(--mono); font-size:11px; letter-spacing:.07em; text-transform:uppercase; }
.policy-header h1 { margin:0; font-family:var(--headline); font-size:clamp(32px,5vw,42px); line-height:1.08; letter-spacing:-.009em; font-weight:430; }
.policy-intro { max-width:650px; margin:18px 0 0; color:var(--text-soft); font-size:16px; line-height:1.68; }
.policy-updated { margin:16px 0 0; color:var(--muted); font-family:var(--mono); font-size:11px; }

.policy-content { padding-top:13px; }
.policy-section { padding:30px 0 4px; }
.policy-section + .policy-section { border-top:1px solid var(--line); }
.policy-section h2 { margin:0 0 13px; font-family:var(--headline); font-size:18px; line-height:1.3; letter-spacing:.002em; font-weight:510; }
.policy-section h3 { margin:23px 0 8px; font-size:15px; font-weight:570; letter-spacing:.004em; }
.policy-section p,.policy-section li,.policy-section address { color:var(--text-soft); font-size:15px; line-height:1.7; }
.policy-section p { margin:0 0 13px; }
.policy-section p:last-child { margin-bottom:0; }
.policy-section address { margin:0 0 13px; font-style:normal; }
.policy-section ul { margin:10px 0 14px; padding-left:22px; }
.policy-section li + li { margin-top:6px; }
.policy-section a { color:var(--text); text-decoration:underline; text-decoration-color:var(--line-strong); text-underline-offset:3px; }
.policy-section a:hover { text-decoration-color:currentColor; }
.policy-note { margin:19px 0 3px; padding:16px 17px; border:1px solid var(--line); border-radius:var(--radius-md); background:var(--bg-raised); }
.policy-note strong { display:block; margin-bottom:5px; color:var(--text); font-size:14px; font-weight:560; }
.policy-note p { color:var(--muted); font-size:14px; }
code { padding:2px 5px; border-radius:5px; background:var(--panel); color:var(--text-soft); font-size:.9em; }

.policy-footer { border-top:1px solid var(--line); }
.policy-footer-inner { width:var(--site-width); min-height:64px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:20px; color:var(--muted); font-size:12px; }
.policy-footer-brand { color:var(--text-soft); font-family:var(--headline); font-size:11px; font-weight:640; letter-spacing:.045em; }
.policy-footer nav { display:flex; gap:18px; }
.policy-footer a:hover,.policy-footer a[aria-current="page"] { color:var(--text); }


@media (max-width:600px) {

  .policy-main { padding:54px 0 72px; }
  .policy-header { padding-bottom:29px; }
  .policy-section { padding-top:25px; }
  .policy-footer-inner { min-height:auto; padding:20px 0; flex-direction:column; align-items:flex-start; gap:12px; }
}

.policy-section>p,.policy-section>ul,.policy-section>address,.policy-note { max-width:85ch; }
