.policy-page { background: var(--bg-soft); min-height: 100vh; }
.policy-header { padding: 1.25rem 0; background: var(--white); box-shadow: var(--shadow-sm); }
.policy-header .container,.policy-footer .container { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.policy-header a,.policy-footer a { color: var(--secondary-dark); font-weight: 700; text-decoration: underline; text-underline-offset: .15em; }
.policy-main { max-width: 920px; padding-block: 3rem 4rem; }
.policy-main h1 { margin-bottom: .35rem; font-size: clamp(2rem, 5vw, 3.2rem); }
.policy-lead { color: var(--muted); margin-bottom: 1.5rem; }
.policy-main article { padding: clamp(1.25rem, 4vw, 2.5rem); background: var(--white); border-radius: var(--radius); box-shadow: var(--shadow-sm); }
.policy-main article > p:first-child { font-weight: 700; }
.policy-meta { padding: 1rem 1.25rem; margin-block: 1rem 2rem; background: var(--bg-mint); border-left: 4px solid var(--secondary); border-radius: 0 12px 12px 0; }
.policy-meta p + p { margin-top: .25rem; }
.policy-main section { margin-top: 1.8rem; }
.policy-main h2 { margin-bottom: .55rem; font-size: clamp(1.25rem, 3vw, 1.65rem); }
.policy-main h3 { margin: 1rem 0 .4rem; color: var(--secondary-dark); font-size: 1.08rem; }
.policy-main p + p { margin-top: .75rem; }
.policy-main ul,.policy-main ol { margin: .45rem 0 .85rem 1.4rem; }
.policy-main li { padding-left: .2rem; margin-block: .2rem; }
.policy-main address { font-style: normal; }
.policy-main a { color: var(--secondary-dark); text-decoration: underline; text-underline-offset: .15em; }
.policy-directory { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,260px),1fr)); gap: .75rem; margin-top: 1.5rem; }
.policy-directory a { display: block; padding: 1rem 1.15rem; background: var(--white); border-radius: 12px; box-shadow: var(--shadow-sm); }
.policy-directory a:hover,.policy-directory a:focus-visible { background: var(--bg-mint); }
.policy-footer { padding: 1.25rem 0; background: var(--ink); color: var(--white); }
.policy-footer a { color: var(--white); }
@media(max-width:600px) {
  .policy-main { padding-block: 2rem 3rem; }
  .policy-header .container,.policy-footer .container { align-items: flex-start; flex-direction: column; }
}
