/* CC Impact Report: page styles. Everything is scoped to #cc-impact so it can't affect the rest of the site. */
#cc-impact{--ink:#161616;--paper:#F3F2EE;--muted:#6B6A66;--soft:#E1DFD9;--rule:#C9C7C0;--photo:#3A3936;
  color:var(--ink);background:var(--paper);font-family:var(--cc-font,inherit);line-height:1.5;-webkit-font-smoothing:antialiased}
#cc-impact *{box-sizing:border-box}
#cc-impact img{display:block;max-width:100%}
#cc-impact a{color:inherit}
#cc-impact h2,#cc-impact h3,#cc-impact p{margin:0}
#cc-impact .serif{font-family:'Newsreader',Georgia,serif}
#cc-impact .cap{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:500}
#cc-impact .muted{color:var(--muted)}
#cc-impact .wrap{max-width:1280px;margin:0 auto;padding:0 40px}
#cc-impact .sec{padding-top:120px}
#cc-impact .bar-title{background:var(--ink);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 28px}
#cc-impact .bar-title h2{font-weight:400;font-size:44px;line-height:1.1}
#cc-impact .rule-b{border-bottom:1px solid var(--ink)}
#cc-impact .n{font-weight:300;letter-spacing:-.04em;line-height:.85;font-variant-numeric:tabular-nums}
#cc-impact .n-xl{font-size:clamp(96px,16vw,240px)}
#cc-impact .n-l{font-size:clamp(72px,9vw,140px)}
#cc-impact .n-m{font-size:clamp(48px,6vw,80px)}
#cc-impact .n-s{font-size:clamp(36px,4vw,52px)}
#cc-impact .photo{background:var(--photo);position:relative;overflow:hidden}
#cc-impact .photo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
#cc-impact .photo .ph{position:absolute;left:14px;bottom:12px;font-size:11px;letter-spacing:.1em;color:#BDBAB1}
#cc-impact .full{height:clamp(320px,55vw,640px)}
#cc-impact .btn{display:inline-flex;align-items:center;min-height:44px;padding:0 24px;border-radius:999px;text-decoration:none;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:500}
#cc-impact .btn-w{background:#fff;color:var(--ink)}
#cc-impact .btn-o{border:1px solid currentColor;background:transparent;color:inherit;cursor:pointer;font-family:inherit}

/* hero */
#cc-impact .hero{position:relative;min-height:calc(var(--ccir-hero,90) * 1vh);min-height:calc(var(--ccir-hero,90) * 1svh);color:#fff;display:flex;flex-direction:column;justify-content:flex-end;background:#2C2B28}
#cc-impact .hero .photo{position:absolute;inset:0}
#cc-impact .hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:65%;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.7))}
#cc-impact .hero-in{position:relative;z-index:2;padding:160px 120px 72px}
#cc-impact .hero h1{margin:0;font-weight:700;font-size:clamp(52px,9vw,132px);line-height:.95;letter-spacing:-.01em;color:#fff}
#cc-impact .hero-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-top:32px}
#cc-impact .hero-row p{font-size:20px;max-width:520px}

/* section nav */
#cc-impact .snav{position:sticky;z-index:20;background:var(--paper);border-bottom:1px solid var(--ink)}
#cc-impact .snav-in{max-width:1280px;margin:0 auto;padding:0 40px;display:flex;gap:28px;align-items:center;height:60px;overflow-x:auto;white-space:nowrap;scrollbar-width:none}
#cc-impact .snav-in::-webkit-scrollbar{display:none}
#cc-impact .snav a{text-decoration:none;font-size:15px;padding:8px 0;border-bottom:2px solid transparent}
#cc-impact .snav a.on{border-bottom-color:var(--ink)}

/* ministries grid */
#cc-impact .big-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 24px;padding:40px 0 28px}
#cc-impact .big-row .lbl{font-size:30px;line-height:1.15}
#cc-impact .mgrid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-areas:"ph bap att" "ph bap srv"}
#cc-impact .mgrid .ph-cell{grid-area:ph;min-height:460px}
#cc-impact .cell{padding:24px;display:flex;justify-content:space-between;align-items:flex-end;gap:12px;border-left:1px solid var(--ink)}
#cc-impact .cell .t{font-size:15px;line-height:1.3}
#cc-impact .cell.vcol{flex-direction:column;align-items:flex-start}
#cc-impact .g-bap{grid-area:bap}
#cc-impact .g-att{grid-area:att;border-bottom:1px solid var(--ink)}
#cc-impact .g-srv{grid-area:srv}
#cc-impact .two{display:grid;grid-template-columns:1fr 1fr}
#cc-impact .two .cell:first-child{border-left:0;padding-left:0}

/* charts */
#cc-impact .chart{display:flex;flex-wrap:wrap;gap:40px 56px;padding:72px 0}
#cc-impact .chart-copy{flex:1 1 300px}
#cc-impact .chart-copy h3{margin:12px 0 14px;font-weight:500;font-size:clamp(26px,3vw,34px);line-height:1.15}
#cc-impact .chart-body{flex:2 1 520px;min-width:0}
#cc-impact .hbar{margin-bottom:22px}
#cc-impact .hbar-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px}
#cc-impact .track{height:18px;background:var(--soft);position:relative}
#cc-impact .fill{height:100%;background:var(--ink);width:0;transition:width 1.4s cubic-bezier(.2,.7,.2,1)}
#cc-impact .in .fill{width:var(--w)}
#cc-impact .cells{display:grid;gap:5px}
#cc-impact .cells span{aspect-ratio:1;border:1px solid var(--ink)}
#cc-impact .cells span.f{background:var(--ink)}
#cc-impact .legend{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:16px;font-size:14px}
#cc-impact .legend i{display:inline-block;width:14px;height:14px;margin-right:8px;vertical-align:-2px;border:1px solid var(--ink)}
#cc-impact .legend i.f{background:var(--ink)}

/* revival + leaders */
#cc-impact .split{display:flex;flex-wrap:wrap}
#cc-impact .split>*{flex:1 1 460px}
#cc-impact .rev-copy{padding:40px 40px 40px 0;display:flex;flex-direction:column;justify-content:space-between;gap:40px;min-height:420px}
#cc-impact .leaders{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:32px;padding:48px 0}
#cc-impact .avatar{width:120px;height:120px;border-radius:50%;background:var(--photo);overflow:hidden;margin-bottom:16px;position:relative}
#cc-impact .avatar img{width:100%;height:100%;object-fit:cover}

/* campuses */
#cc-impact .share{display:flex;height:72px}
#cc-impact .share div{display:flex;align-items:center;padding:0 16px;color:#fff;font-size:16px;white-space:nowrap;overflow:hidden;border-left:2px solid var(--paper)}
#cc-impact .share div:first-child{border-left:0}
#cc-impact .campus{display:flex;flex-wrap:wrap;gap:40px;padding:56px 0;border-bottom:1px solid var(--ink)}
#cc-impact .campus .photo{flex:1 1 380px;min-height:420px}
#cc-impact .campus-copy{flex:1.4 1 520px;display:flex;flex-direction:column;gap:20px;min-width:0}
#cc-impact .campus-copy h3{font-weight:500;font-size:44px;line-height:1.05}
#cc-impact .campus-copy>p{font-size:19px;max-width:560px}
#cc-impact .campus-nums{display:flex;flex-wrap:wrap;gap:32px 40px;align-items:flex-end;margin-top:auto}
#cc-impact .table{flex:1 1 260px;border-top:1px solid var(--ink)}
#cc-impact .table div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--rule)}
#cc-impact .table div:last-child{border-bottom:0}
#cc-impact .table b{font-weight:400;font-size:22px}
#cc-impact .steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
#cc-impact .steps .s{height:10px;border:1px solid var(--ink);margin-bottom:10px}
#cc-impact .steps .s.d{background:var(--ink)}
#cc-impact .steps span{font-size:13px;line-height:1.35}

/* guinea */
#cc-impact .dots10{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;max-width:420px}
#cc-impact .dots10 span{aspect-ratio:1;border-radius:50%;border:1px solid var(--ink)}
#cc-impact .dots10 .b{background:var(--ink)}
#cc-impact .dots10 .u{border-width:2px;background:repeating-linear-gradient(45deg,var(--ink) 0 3px,transparent 3px 9px)}
#cc-impact .dots100{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:8px;max-width:520px}
#cc-impact .dots100 span{aspect-ratio:1;border-radius:50%;background:#D3D1CA}
#cc-impact .dots100 span.one{background:var(--ink);transform:scale(.6)}
#cc-impact .facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:36px;border-top:1px solid var(--ink);padding-top:18px}

/* second chapter */
#cc-impact .dark{background:var(--ink);color:#fff}
#cc-impact .dark .muted{color:#A9A69D}
#cc-impact .count{font-size:clamp(56px,13vw,200px);font-weight:300;line-height:.85;letter-spacing:-.05em;font-variant-numeric:tabular-nums}
#cc-impact .stack{display:flex;height:56px}
#cc-impact .stack .a{background:#fff}
#cc-impact .stack .b{background:#8F8D86;border-left:2px solid var(--ink)}
#cc-impact .stack .c{flex:1;border:1px dashed #8F8D86;border-left:2px solid var(--ink)}
#cc-impact .stack .a,#cc-impact .stack .b{width:0;transition:width 1.6s cubic-bezier(.2,.7,.2,1)}
#cc-impact .in .stack .a,#cc-impact .in .stack .b{width:var(--w)}
#cc-impact .keys{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:22px}
#cc-impact .keys>div{display:flex;gap:12px}
#cc-impact .keys i{width:14px;height:14px;margin-top:8px;flex:none}
#cc-impact .keys .v{font-size:38px;font-weight:300;line-height:1.1}
#cc-impact .sq{display:grid;grid-template-columns:repeat(15,minmax(0,1fr));gap:6px}
#cc-impact .sq span{aspect-ratio:1;border:1px dashed #6F6D67;transition:background .3s}
#cc-impact .sq span.a{background:#fff;border:0}
#cc-impact .sq span.b{background:#8F8D86;border:0}
#cc-impact .pace{border-left:1px solid #444;padding-left:40px;display:flex;flex-direction:column;gap:18px}
#cc-impact .rows3 div{display:grid;grid-template-columns:160px minmax(0,1fr);gap:24px;padding:22px 0;border-bottom:1px solid #444;font-size:20px}

/* stories + quotes */
#cc-impact .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}
#cc-impact .card{border-top:1px solid var(--ink);padding-top:20px;display:flex;flex-direction:column;gap:16px}
#cc-impact .card .photo{height:380px}
#cc-impact .nts3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
#cc-impact .nts3>div{padding:28px 24px;border-left:1px solid var(--ink)}
#cc-impact .nts3>div:first-child{border-left:0;padding-left:0}
#cc-impact .list2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px}
#cc-impact .list2 div{display:flex;gap:20px;padding:16px 0;border-bottom:1px solid var(--ink);font-size:17px}
#cc-impact .quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
#cc-impact .quotes>div{padding:28px;border-left:1px solid var(--ink);display:flex;flex-direction:column;gap:18px}
#cc-impact .quotes>div:first-child{border-left:0;padding-left:0}
#cc-impact .ahead div{display:grid;grid-template-columns:80px minmax(0,1fr) minmax(0,1.4fr);gap:24px;padding:24px 0;border-bottom:1px solid #555;align-items:baseline}
#cc-impact .asks{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #777;border-bottom:1px solid #777}
#cc-impact .asks>div{padding:32px}
#cc-impact .asks>div:first-child{padding-left:0}
#cc-impact .asks>div+div{border-left:1px solid #777}

/* reveal on scroll */
#cc-impact .rv{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}
#cc-impact .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){#cc-impact .rv{opacity:1;transform:none;transition:none}#cc-impact .fill,#cc-impact .stack .a,#cc-impact .stack .b{transition:none}}

/* tablet */
@media (max-width:1000px){
  #cc-impact .hero-in{padding:140px 40px 56px}
  #cc-impact .mgrid{grid-template-columns:1fr 1fr;grid-template-areas:"ph ph" "bap att" "bap srv"}
  #cc-impact .mgrid .ph-cell{min-height:360px}
  #cc-impact .g-bap{border-left:0;padding-left:0}
  #cc-impact .keys{grid-template-columns:repeat(2,minmax(0,1fr))}
  #cc-impact .pace{border-left:0;padding-left:0;border-top:1px solid #444;padding-top:32px}
  #cc-impact .quotes{grid-template-columns:1fr}
  #cc-impact .quotes>div{border-left:0;padding:28px 0;border-top:1px solid var(--ink)}
}
/* phone */
@media (max-width:640px){
  #cc-impact .wrap,#cc-impact .snav-in{padding:0 20px}
  #cc-impact .sec{padding-top:72px}
  #cc-impact .hero-in{padding:120px 20px 40px}
  #cc-impact .hero-row p{font-size:17px}
  #cc-impact .bar-title{padding:16px 18px}
  #cc-impact .bar-title h2{font-size:30px}
  #cc-impact .big-row .lbl{font-size:22px}
  #cc-impact .mgrid{grid-template-columns:1fr;grid-template-areas:"ph" "bap" "att" "srv"}
  #cc-impact .mgrid .ph-cell{min-height:260px}
  #cc-impact .mgrid .cell{border-left:0;padding:18px 0;border-top:1px solid var(--ink);flex-direction:row;align-items:flex-end}
  #cc-impact .g-att{border-bottom:0}
  #cc-impact .g-bap .n{font-size:72px}
  #cc-impact .two{grid-template-columns:1fr}
  #cc-impact .two .cell{border-left:0;padding:18px 0;border-top:1px solid var(--ink)}
  #cc-impact .two .cell:first-child{border-top:0}
  #cc-impact .chart{padding:48px 0;gap:28px}
  #cc-impact .chart-body{flex-basis:100%}
  #cc-impact .rev-copy{padding:32px 0;min-height:0}
  #cc-impact .split .photo{min-height:280px}
  #cc-impact .leaders{grid-template-columns:1fr 1fr;gap:24px}
  #cc-impact .avatar{width:88px;height:88px}
  #cc-impact .share{height:auto;flex-direction:column}
  #cc-impact .share div{width:100% !important;height:44px;border-left:0;border-top:2px solid var(--paper)}
  #cc-impact .campus{padding:40px 0;gap:24px}
  #cc-impact .campus .photo{min-height:260px;flex-basis:100%}
  #cc-impact .campus-copy{flex-basis:100%}
  #cc-impact .campus-copy h3{font-size:34px}
  #cc-impact .campus-copy>p{font-size:17px}
  #cc-impact .steps{grid-template-columns:1fr;gap:0}
  #cc-impact .steps>div{display:flex;align-items:center;gap:12px;padding:8px 0}
  #cc-impact .steps .s{width:28px;flex:none;margin:0}
  #cc-impact .facts{grid-template-columns:repeat(3,minmax(0,1fr))}
  #cc-impact .keys{grid-template-columns:1fr 1fr;gap:20px}
  #cc-impact .keys .v{font-size:28px}
  #cc-impact .sq{grid-template-columns:repeat(10,minmax(0,1fr));gap:4px}
  #cc-impact .rows3 div{grid-template-columns:90px minmax(0,1fr);font-size:17px}
  #cc-impact .card .photo{height:280px}
  #cc-impact .nts3{grid-template-columns:1fr}
  #cc-impact .nts3>div{border-left:0;padding:20px 0;border-top:1px solid var(--ink);display:flex;justify-content:space-between;align-items:flex-end}
  #cc-impact .nts3>div:first-child{border-top:0}
  #cc-impact .nts3 .n{font-size:88px}
  #cc-impact .list2{grid-template-columns:1fr}
  #cc-impact .sn-right{border-left:0 !important;padding-left:0 !important;border-top:1px solid var(--ink)}
  #cc-impact .split>div:first-child{padding-right:0 !important}
  #cc-impact .ahead div{grid-template-columns:44px minmax(0,1fr);gap:8px 16px}
  #cc-impact .ahead div span:last-child{grid-column:2}
  #cc-impact .asks{grid-template-columns:1fr}
  #cc-impact .asks>div{padding:28px 0}
  #cc-impact .asks>div+div{border-left:0;border-top:1px solid #777}
}

/* full-width page template */
.ccir-full-page .ccir-main{margin:0 !important;padding:0 !important;max-width:none !important;width:100%}
.ccir-full-page .ccir-main>*{margin-top:0;margin-bottom:0;max-width:none}
#cc-impact .photo img.plx{will-change:transform;bottom:auto}
