/* Policy pages: one template for every policy. The policy text is the CMS rich text as live, styled by CSS only.
   Motion is scroll-driven (progressive enhancement, no script) and off for reduced motion. */

/* Reading progress along the top edge */
.pol-progress{position:fixed;z-index:60;top:0;left:0;right:0;height:3px;background:var(--orange);transform:scaleX(0);transform-origin:left;pointer-events:none;display:none}

/* Hero: the live abstract graphic under a light veil so its squares still read */
.pol-hero::after{background:linear-gradient(90deg,rgba(0,23,63,.72),rgba(0,23,63,.3) 55%,rgba(0,23,63,.05))}
.pol-hero>img{object-position:50% 50%}
.pol-hero .wrap{padding-bottom:clamp(36px,5vw,72px)}
.pol-hero .crumbs{margin-bottom:clamp(28px,5vw,64px)}
.pol-hero .crumbs a[aria-current]{text-decoration:none;color:#fff}
.pol-hero .label{color:#fff}
.pol-meta{display:flex;flex-wrap:wrap;gap:10px 0;margin-top:clamp(22px,3vw,34px);color:#e8edf6;font-size:14.5px}
.pol-meta li{display:flex;align-items:center;gap:8px;padding:0 18px;border-left:1px solid rgba(255,255,255,.28)}
.pol-meta li:first-child{padding-left:0;border-left:0}
.pol-meta svg{flex:none;width:16px;height:16px;color:var(--orange)}
.pol-meta span{color:#fff;font-weight:600}

/* Body: contents rail beside the policy */
.pol-body{padding-top:clamp(40px,5vw,80px)}
@media (min-width:1181px){.pol-layout{grid-template-columns:240px minmax(0,1fr)}}
.pol-rail{top:96px;max-height:calc(100vh - 120px);overflow:auto;scrollbar-width:thin}
.pol-rail a.l4{padding-left:28px;color:var(--muted);font-size:14px}
.pol-rail a.l4.on{color:var(--navy)}
.pol-print{display:inline-flex;align-items:center;gap:8px;padding:0 0 2px;background:none;border:0;border-bottom:2px solid var(--orange);color:var(--navy);font-size:14.5px;font-weight:600;cursor:pointer}
.pol-print svg{width:16px;height:16px;flex:none}
.pol-rail .pol-print{margin-top:22px}

/* Contents on tablets and phones */
.pol-toc-m{display:none;margin-bottom:32px;background:var(--ground);border:1px solid var(--line);border-radius:4px}
.pol-toc-m summary{display:flex;align-items:center;gap:10px;min-height:50px;padding:0 16px;color:var(--navy);font-weight:600;cursor:pointer;list-style:none}
.pol-toc-m summary::-webkit-details-marker{display:none}
.pol-toc-m summary span{margin-left:auto;color:var(--muted);font-size:14px;font-weight:500}
.pol-toc-m summary::after{content:"";width:8px;height:8px;margin:-4px 2px 0 0;border:solid var(--navy);border-width:0 2px 2px 0;transform:rotate(45deg);transition:transform .2s var(--ease)}
.pol-toc-m[open] summary::after{margin-top:4px;transform:rotate(-135deg)}
.pol-toc-m nav{padding:6px 16px 12px;border-top:1px solid var(--line)}
.pol-toc-m a{display:block;padding:9px 0;color:var(--navy);font-size:15px;line-height:1.35;text-decoration:none}
.pol-toc-m a.l4{padding-left:16px;color:var(--muted);font-size:14.5px}

/* The policy text */
.pol-rt{max-width:780px;counter-reset:sec;font-size:16.5px;line-height:1.7}
.pol-rt p+p,.pol-rt p+ul,.pol-rt ul+p,.pol-rt p+ol,.pol-rt ol+p{margin-top:16px}
.pol-rt h2{margin-bottom:20px;font-size:clamp(23px,1.1vw + 19px,36px);line-height:1.17}
.pol-rt h2+p{padding-left:20px;border-left:3px solid var(--orange);color:var(--navy);font-size:clamp(17px,.3vw + 16px,19px);line-height:1.6}
.pol-rt h2,.pol-rt h3,.pol-rt h4{scroll-margin-top:96px}
.pol-rt h3{counter-increment:sec;position:relative;margin:clamp(48px,5vw,72px) 0 16px;padding-top:24px;font-size:clamp(21px,.7vw + 18px,27px);line-height:1.2}
.pol-rt h3::after{content:"";position:absolute;top:0;left:0;right:0;border-top:1px solid var(--navy)}
.pol-rt h3::before{content:counter(sec,decimal-leading-zero);display:block;margin-bottom:8px;color:var(--orange);font-size:14px;font-weight:600;letter-spacing:.04em;font-variant-numeric:tabular-nums}
.pol-rt h4{display:flex;align-items:flex-start;gap:12px;margin:30px 0 8px;font-size:18px;line-height:1.35}
.pol-rt h4::before{content:"";flex:none;width:8px;height:8px;margin-top:8px;background:var(--orange)}
.pol-rt h3+h4{margin-top:6px}
.pol-rt ul,.pol-rt ol{margin:16px 0 0;padding:0;list-style:none;border-bottom:1px solid var(--line)}
.pol-rt li{position:relative;padding:12px 0 12px 30px;border-top:1px solid var(--line)}
.pol-rt ul>li::before{content:"";position:absolute;left:0;top:17px;width:18px;height:18px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18' fill='none'%3E%3Cpath d='m3 9.5 4 4 8-9' stroke='%23ff4d01' stroke-width='2.2'/%3E%3C/svg%3E") no-repeat center/18px}
.pol-rt ol{counter-reset:item}
.pol-rt ol>li::before{counter-increment:item;content:counter(item);position:absolute;left:0;top:12px;color:var(--orange);font-weight:600}
.pol-rt li>span:first-child,.pol-rt strong{color:var(--navy);font-weight:600}
.pol-rt a{color:var(--navy);font-weight:500;text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:2px;text-underline-offset:3px}
.pol-rt a:hover{text-decoration-color:var(--navy)}

/* Wide screens: section numbers sit in their own column as large outlined figures */
@media (min-width:901px){
  .pol-rt{padding-left:96px}
  .pol-rt h3::after{left:-96px}
  .pol-rt h3::before{position:absolute;left:-96px;top:20px;margin:0;font-size:52px;line-height:1;letter-spacing:-.03em}
}

/* End of the document */
.pol-end{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 24px;max-width:780px;margin-top:clamp(48px,5vw,72px);padding:18px 22px;background:var(--ground);border-left:3px solid var(--navy);border-radius:2px;font-size:15px}
.pol-end strong{color:var(--navy)}
.pol-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px}
.pol-actions .more{font-size:14.5px}
.pol-print-only{display:none}
@media (min-width:901px){.pol-end{max-width:684px;margin-left:96px}}

/* Every policy, in two groups */
.pol-more .t-2{margin-bottom:clamp(24px,3vw,40px)}
.pol-groups{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,64px);align-items:start}
.pol-groups h3{padding-bottom:12px;border-bottom:1px solid var(--navy);color:var(--muted);font-size:14px;font-weight:600}
.pol-cards a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 20px;padding:16px 0;border-bottom:1px solid var(--line);text-decoration:none;transition:padding .22s var(--ease),box-shadow .22s,background .18s}
.pol-cards a:hover{padding-left:14px;background:#fff;box-shadow:inset 3px 0 0 var(--orange)}
.pol-ref{grid-column:1;color:var(--muted);font-size:12.5px;font-weight:600;letter-spacing:.03em;font-variant-numeric:tabular-nums}
.pol-cards strong{grid-column:1;color:var(--navy);font-size:17px;font-weight:600;line-height:1.3}
.pol-sum{grid-column:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:2px;color:var(--muted);font-size:14.5px;line-height:1.45}
.pol-go{grid-column:2;grid-row:1/span 3;align-self:center;display:flex;align-items:center;gap:6px;color:var(--navy);font-size:14px;font-weight:600;white-space:nowrap}
.pol-go .arrow{color:var(--orange)}
.pol-cards a:hover .arrow{transform:translate(2px,-2px)}
.pol-cards a[aria-current]{padding-left:14px;background:#fff;box-shadow:inset 3px 0 0 var(--navy)}
.pol-cards a[aria-current] .pol-go{color:var(--muted);font-weight:500}

@media (max-width:1180px){.pol-toc-m{display:block}}
@media (max-width:900px){.pol-groups{grid-template-columns:1fr}}
@media (max-width:640px){
  .pol-meta{gap:8px 18px;font-size:13.5px}
  .pol-meta li{padding:0;border-left:0}
  .pol-rt{font-size:16px}
  .pol-sum,.pol-go b{display:none}
  .pol-end{padding:16px 18px}
}

@supports (animation-timeline:view()){
  @media (prefers-reduced-motion:no-preference){
    .pol-progress{display:block;animation:pol-bar linear both;animation-timeline:scroll(root)}
    .pol-hero>img{animation:pol-drift linear both;animation-timeline:scroll(root);animation-range:0 80vh}
    .pol-rt h3{view-timeline:--pol-sec block}
    .pol-cards li,.pol-end{animation:rise linear both;animation-timeline:view();animation-range:entry 0% entry 45%}
  }
  @media (prefers-reduced-motion:no-preference) and (min-width:901px){
    .pol-rt h3::before{animation:pol-num linear both;animation-timeline:--pol-sec;animation-range:entry 30% cover 45%}
  }
}
@keyframes pol-bar{to{transform:scaleX(1)}}
@keyframes pol-drift{from{transform:scale(1.16)}to{transform:translateY(6%) scale(1.16)}}
@keyframes pol-num{from{color:transparent;-webkit-text-stroke:1.5px #b9c3d6}to{color:var(--orange);-webkit-text-stroke:1.5px var(--orange)}}

/* Print or save as PDF: the policy alone, with the accreditation statement and its address */
@media print{
  @page{size:A4;margin:16mm 16mm 18mm}
  *{animation:none!important;transition:none!important}
  body{color:#000;font-size:10.5pt}
  .head,.foot,.callbar,.pol-progress,.pol-rail,.pol-toc-m,.pol-more,.crumbs,.pol-hero>img,.pol-actions,.skip,#zsiq_float,.zsiq_floatmain{display:none!important}
  .pol-print-only{display:block}
  .pol-brand{margin-bottom:10pt;color:var(--navy);font-size:11pt;font-weight:600}
  .pol-hero{background:none;color:#000}
  .pol-hero::after{display:none}
  .wrap{max-width:none;padding:0}
  .pol-hero .wrap{padding:0 0 12pt;border-bottom:1px solid #000}
  .pol-hero h1,.pol-hero .label{color:var(--navy)}
  .pol-hero h1{font-size:22pt}
  .pol-hero p,.pol-meta,.pol-meta span{color:#000}
  .pol-body{padding:14pt 0 0}
  .pol-layout{display:block}
  .pol-rt{max-width:none;padding-left:0;font-size:10.5pt;line-height:1.5}
  .pol-rt h3{margin-top:18pt;padding-top:10pt}
  .pol-rt h3::after{left:0}
  .pol-rt h3::before{position:static;margin-bottom:4pt;color:var(--orange);font-size:10pt}
  .pol-rt h3,.pol-rt h4{break-after:avoid;break-inside:avoid}
  .pol-rt h2+p{font-size:11.5pt}
  .pol-rt p,.pol-rt li{break-inside:avoid}
  .pol-rt a{text-decoration:none}
  .pol-end{display:block;max-width:none;margin:18pt 0 0;padding:8pt 0 0;background:none;border:0;border-top:1px solid #000;font-size:9pt}
  .pol-end .pol-print-only{margin-top:4pt}
}
