.policy-hero{max-width:850px;padding:35px 0 42px}.policy-hero h1{font:400 clamp(34px,4vw,54px)/1.18 var(--serif);color:var(--ink);margin:18px 0}.policy-intro{font-size:17px;line-height:1.8;color:var(--muted);max-width:760px}.policy-date{font-size:12px;color:var(--muted);margin-top:18px}.policy-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:48px;align-items:start}.policy-sidebar{position:sticky;top:24px;border:1px solid var(--line);border-radius:12px;padding:24px;background:#fffdf9}.policy-sidebar h2{font:500 20px/1.4 var(--serif);margin-bottom:18px}.policy-sidebar nav a{display:block;font-size:13px;line-height:1.6;padding:12px 0;border-bottom:1px solid var(--line);color:var(--muted)}.policy-sidebar nav a[aria-current=page]{color:var(--accent);font-weight:600}.policy-help{display:block;font-size:13px;margin-top:22px}.policy-content{min-width:0}.policy-summary{background:#eeece3;border-left:3px solid var(--accent);border-radius:0 8px 8px 0;padding:24px;font-size:15px;line-height:1.8;color:var(--ink)}.policy-toc{padding:25px 0 30px;border-bottom:1px solid var(--line);font-size:13px}.policy-toc p{color:var(--accent);margin-bottom:12px}.policy-toc ol{padding-left:22px;display:grid;gap:8px}.policy-toc a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.policy-section{padding:34px 0;border-bottom:1px solid var(--line);scroll-margin-top:24px}.policy-section h2{display:flex;gap:14px;align-items:baseline;font:400 27px/1.35 var(--serif);color:var(--ink)}.policy-section h2 span{font:500 12px var(--sans);color:var(--accent);flex-shrink:0}.policy-section .rich-text{margin-top:18px}.policy-section .rich-text p:last-child{margin-bottom:0}.policy-section ul{padding-left:22px}.policy-section li{margin:8px 0}.policy-contact{margin-top:35px;padding:30px;border:1px solid var(--line);border-radius:12px;background:#eeece3}.policy-contact h2{font:400 30px/1.3 var(--serif);margin:15px 0}.policy-contact p:not(.eyebrow){font-size:14px;line-height:1.8;margin-top:14px}.policy-page a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.policy-page .rich-text,.policy-intro,.policy-summary{overflow-wrap:anywhere}
@media(max-width:900px){.policy-layout{grid-template-columns:220px minmax(0,1fr);gap:28px}}
@media(max-width:760px){.policy-hero{padding:20px 0 28px}.policy-intro{font-size:15px}.policy-layout{grid-template-columns:1fr;gap:24px}.policy-sidebar{position:static;padding:20px}.policy-sidebar nav{display:grid;grid-template-columns:1fr 1fr;column-gap:20px}.policy-sidebar h2{grid-column:1/-1}.policy-sidebar nav a{font-size:12px}.policy-summary{padding:20px;font-size:14px}.policy-section{padding:26px 0}.policy-section h2{font-size:23px;gap:10px}.policy-contact{padding:24px 20px}.policy-contact .actions{gap:18px}.policy-contact .btn{max-width:100%;white-space:normal}}

/* Step 12 fix: isolate policy navigation from the shared global nav flex rule. */
.policy-page .policy-sidebar{min-width:0}
.policy-page .policy-sidebar nav{display:block;width:100%;gap:0;justify-content:normal;align-items:normal}
.policy-page .policy-sidebar nav a{white-space:normal;overflow-wrap:anywhere}
.policy-page .policy-toc{display:block;width:100%;gap:0;justify-content:normal;align-items:normal}
.policy-page .policy-toc ol{margin:0;min-width:0}
@media(max-width:760px){.policy-page .policy-sidebar nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;row-gap:0}.policy-page .policy-sidebar nav h2{grid-column:1/-1}}
@media(max-width:420px){.policy-page .policy-sidebar nav{grid-template-columns:minmax(0,1fr)}}
