/* Published policy centre: readable without JavaScript, shared VI/EN structure. */
.policy-page .policy-hero { padding-bottom:72px; }
.policy-page .policy-hero-layout { grid-template-columns:1.15fr .85fr; gap:72px; }
.policy-page .landing-title { font-size:clamp(2.8rem,5.2vw,4.6rem); }
.policy-page .landing-lead { max-width:600px; }
.policy-summary { padding:32px; border:1px solid rgba(171,196,225,.26); border-radius:18px; background:rgba(255,255,255,.035); }
.policy-summary-label { color:#b8c5d1; font-size:.72rem; letter-spacing:.12em; }
.policy-summary h2 { margin:22px 0; font:400 1.9rem/1.25 "Times New Roman",Georgia,serif; }
.policy-summary dl { margin:0; }
.policy-summary dl > div { padding:18px 0; border-top:1px solid rgba(171,196,225,.2); }
.policy-summary dt { font-weight:600; color:#fff; }
.policy-summary dd { margin:4px 0 0; color:#b8c5d1; font-size:.94rem; }
.policy-effective { padding-top:18px; margin:4px 0 0; border-top:1px solid rgba(171,196,225,.2); color:#b8c5d1; font-size:.82rem; }
.policy-effective time { color:white; white-space:nowrap; }
.policy-reading { display:grid; grid-template-columns:250px minmax(0,1fr); gap:76px; align-items:start; padding-top:72px; padding-bottom:88px; }
.policy-toc { position:sticky; top:112px; max-height:calc(100vh - 136px); overflow-y:auto; padding:4px; }
.policy-toc h2 { font:600 .86rem/1.5 "Segoe UI",Arial,sans-serif; text-transform:uppercase; letter-spacing:.05em; margin:0 0 16px; }
.policy-toc nav > a { display:flex; gap:14px; align-items:baseline; min-height:48px; padding:12px 0; border-bottom:1px solid var(--border); font-size:.92rem; line-height:1.5; }
.policy-toc nav > a span { color:var(--blue-700); font-size:.75rem; font-variant-numeric:tabular-nums; }
.policy-toc nav > a:hover { color:var(--blue-700); text-decoration:underline; text-underline-offset:4px; }
.policy-toc > p { font-size:.82rem; color:var(--muted); margin:24px 0 0; }
.policy-document { min-width:0; }
.policy-article { border-top:1px solid var(--border); padding:40px 0 48px; scroll-margin-top:24px; }
.policy-article:first-child { padding-top:0; border-top:0; }
.policy-article > header { display:flex; align-items:baseline; gap:22px; margin-bottom:28px; }
.policy-number { color:var(--blue-700); font-size:.85rem; font-variant-numeric:tabular-nums; }
.policy-article h2 { margin:0; font:400 clamp(1.9rem,2.5vw,2.5rem)/1.2 "Times New Roman",Georgia,serif; text-wrap:balance; }
.policy-article .policy-intro { margin:12px 0 0; color:var(--muted); }
.policy-article h3 { margin:30px 0 12px; font-size:1.08rem; line-height:1.5; }
.policy-article p, .policy-article li, .policy-article dd { line-height:1.85; }
.policy-article p { margin:14px 0; }
.policy-article ul, .policy-article ol { margin:14px 0 24px; padding-left:24px; }
.policy-article li { padding-left:6px; margin-bottom:14px; }
.policy-article li::marker { color:var(--blue-700); }
.policy-article a:not(.button) { color:var(--blue-700); text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere; }
.policy-storage { margin:24px 0; }
.policy-storage > div { border-left:2px solid var(--blue-700); padding:0 0 0 22px; margin:24px 0; }
.policy-storage dt { font-weight:600; }
.policy-storage dd { margin:8px 0 0; }
.policy-contact { background:white; padding:32px; border:1px solid var(--border); border-radius:18px; }
.policy-contact-details { margin:28px 0; }
.policy-contact-details > div { display:grid; grid-template-columns:170px minmax(0,1fr); gap:24px; padding:15px 0; border-bottom:1px solid var(--border); }
.policy-contact-details dt { color:var(--muted); }
.policy-contact-details dd { margin:0; }
.policy-contact address { font-style:normal; }
.policy-contact .button { margin-top:14px; }
@media(max-width:1100px) {
  .policy-page .policy-hero-layout { gap:36px; }
  .policy-reading { grid-template-columns:210px minmax(0,1fr); gap:40px; }
  .policy-contact-details > div { grid-template-columns:1fr; gap:5px; }
}
@media(max-width:760px) {
  .policy-page .policy-hero-layout { grid-template-columns:1fr; }
  .policy-summary { padding:26px; }
  .policy-reading { grid-template-columns:1fr; gap:44px; padding-top:40px; }
  .policy-toc { position:static; max-height:none; overflow:visible; }
  .policy-toc nav { display:grid; grid-template-columns:1fr 1fr; gap:0 22px; }
  .policy-toc h2 { grid-column:1/-1; }
  .policy-toc nav > a { font-size:.85rem; gap:8px; }
  .policy-toc > p { max-width:60ch; }
  .policy-article > header { gap:14px; }
  .policy-contact { padding:24px 20px; }
}
@media(max-width:380px) { .policy-toc nav { grid-template-columns:1fr; } }
@media print {
  .policy-page .site-header, .policy-page .site-footer, .policy-toc, .policy-page .skip-link, .policy-page .scroll-progress, .policy-page .button { display:none; }
  .policy-page .policy-hero { padding:20px 0; color:#111; background:white; }
  .policy-page .policy-hero-layout, .policy-reading { display:block; }
  .policy-summary { display:none; }
  .policy-page .landing-title em, .policy-page .landing-lead { color:#111; }
  .policy-article h2, .policy-article h3 { break-after:avoid; }
}
