/* /child-protection-safeguarding/ — "Layers of protection": concentric-ring header, ring badges, layered cards, care flow */
.p-child-protection-safeguarding .cp{max-width:1040px;margin:0 auto}
.p-child-protection-safeguarding .cp-head{position:relative;overflow:hidden;margin-bottom:36px;padding:clamp(28px,4vw,48px) clamp(20px,4vw,48px);padding-right:clamp(20px,28%,300px);background:var(--army);color:#EAF0EA}
.p-child-protection-safeguarding .cp-head::after{content:"";position:absolute;right:-90px;top:50%;width:360px;height:360px;margin-top:-180px;border-radius:50%;background:repeating-radial-gradient(circle,rgb(254 209 12 / .55) 0 2px,transparent 3px 26px)}
.p-child-protection-safeguarding .cp-head h1{margin:0 0 12px;font-size:clamp(30px,4.2vw,46px);color:#fff}
.p-child-protection-safeguarding .cp-lead{margin:0;font-size:18px;line-height:1.75;color:#EAF0EA}
.p-child-protection-safeguarding .cp-lead strong,.p-child-protection-safeguarding .cp-lead em{color:var(--gold)}
.p-child-protection-safeguarding .cp-sec{margin-bottom:38px}
.p-child-protection-safeguarding .cp-sec h2{display:flex;align-items:center;gap:12px;margin:0 0 16px;font-size:clamp(24px,2.6vw,30px);color:var(--olive-900)}
.p-child-protection-safeguarding .cp-sec h2::before{content:"";flex:none;width:26px;height:26px;border-radius:50%;background:radial-gradient(circle,var(--army) 0 4px,#fff 5px 7px,var(--army) 8px 10px,#fff 11px 12px,var(--army) 13px)}
.p-child-protection-safeguarding .cp-sec p,.p-child-protection-safeguarding .cp-sec li{font-size:17px;line-height:1.65}
.p-child-protection-safeguarding .cp-quote{margin:14px 0 0;padding:16px 22px;border:2px solid var(--army);border-radius:60px;font-family:var(--ff-head);font-size:20px;font-weight:600;line-height:1.35;color:var(--army);text-align:center}
.p-child-protection-safeguarding .cp-principles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none;text-align:center}
.p-child-protection-safeguarding .cp-principles li{padding:0 6px}
.p-child-protection-safeguarding .cp-principles li::before{content:"";display:block;width:76px;height:76px;margin:0 auto 12px;border-radius:50%;background:radial-gradient(circle,var(--gold) 0 14px,var(--army) 15px 22px,#fff 23px 26px,rgb(var(--army-rgb) / .35) 27px 30px,#fff 31px 34px,rgb(var(--army-rgb) / .15) 35px 38px)}
.p-child-protection-safeguarding .cp-principles strong{display:block;font-family:var(--ff-head);font-size:19px;color:var(--olive-900)}
.p-child-protection-safeguarding .cp-principles p{margin:4px 0 0;font-size:16px}
.p-child-protection-safeguarding .cp-layers{margin:0;padding:0;list-style:none}
.p-child-protection-safeguarding .cp-layers li{display:grid;grid-template-columns:230px minmax(0,1fr);gap:16px;align-items:center;margin-bottom:8px;padding:14px 18px;background:rgb(var(--army-rgb) / .07);border-left:6px solid var(--army)}
.p-child-protection-safeguarding .cp-layers li:nth-child(2){margin-left:18px;background:rgb(var(--army-rgb) / .1)}
.p-child-protection-safeguarding .cp-layers li:nth-child(3){margin-left:36px;background:rgb(var(--army-rgb) / .13)}
.p-child-protection-safeguarding .cp-layers li:nth-child(4){margin-left:54px;background:rgb(var(--army-rgb) / .16)}
.p-child-protection-safeguarding .cp-layers li:nth-child(5){margin-left:72px;background:rgb(var(--army-rgb) / .2)}
.p-child-protection-safeguarding .cp-layers strong{font-family:var(--ff-head);font-size:20px;color:var(--olive-900)}
.p-child-protection-safeguarding .cp-layers p{margin:0;font-size:16px}
.p-child-protection-safeguarding .cp-tips{margin:0;padding:0;list-style:none;columns:2;column-gap:28px}
.p-child-protection-safeguarding .cp-tips li{break-inside:avoid;position:relative;padding:8px 0 8px 32px}
.p-child-protection-safeguarding .cp-tips li::before{content:"";position:absolute;left:0;top:11px;width:20px;height:20px;border-radius:50%;border:5px solid var(--gold);box-shadow:0 0 0 2px var(--army)}
.p-child-protection-safeguarding .cp-flow{display:flex;margin:0;padding:0;list-style:none;counter-reset:f}
.p-child-protection-safeguarding .cp-flow li{counter-increment:f;position:relative;flex:1;padding:50px 14px 14px;font-size:16px;text-align:center}
.p-child-protection-safeguarding .cp-flow li::before{content:counter(f);position:absolute;left:50%;top:0;width:38px;height:38px;margin-left:-19px;display:grid;place-items:center;border-radius:50%;background:var(--maroon);color:#fff;font-family:var(--ff-head);font-weight:800;font-size:18px;z-index:1}
.p-child-protection-safeguarding .cp-flow li::after{content:"";position:absolute;left:0;right:0;top:18px;height:3px;background:rgb(126 20 22 / .25)}
.p-child-protection-safeguarding .cp-flow li:first-child::after{left:50%}
.p-child-protection-safeguarding .cp-flow li:last-child::after{right:50%}
.p-child-protection-safeguarding .cp-chips{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.p-child-protection-safeguarding .cp-chips li{padding:10px 18px;border-radius:30px;background:var(--stone);border:1px solid rgb(var(--army-rgb) / .25);font-size:16px}
.p-child-protection-safeguarding .cp-sec--final{padding:26px clamp(18px,3vw,32px);background:var(--stone-2);border:2px solid var(--army);border-radius:6px 40px 6px 40px}
@media (max-width:900px){.p-child-protection-safeguarding .cp-principles{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:22px}}
@media (max-width:640px){
  .p-child-protection-safeguarding .cp-head{padding:24px 18px}
  .p-child-protection-safeguarding .cp-head::after{display:none}
  .p-child-protection-safeguarding .cp-principles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .p-child-protection-safeguarding .cp-layers li{grid-template-columns:1fr;gap:4px}
  .p-child-protection-safeguarding .cp-layers li:nth-child(n){margin-left:0}
  .p-child-protection-safeguarding .cp-tips{columns:1}
  .p-child-protection-safeguarding .cp-flow{flex-direction:column}
  .p-child-protection-safeguarding .cp-flow li{padding:8px 0 18px 54px;text-align:left}
  .p-child-protection-safeguarding .cp-flow li::before{left:0;margin-left:0}
  .p-child-protection-safeguarding .cp-flow li::after{left:18px!important;right:auto!important;top:0;bottom:0;width:3px;height:auto}
}
