/* Campaign directory — dedicated presentation */
.page-campaigns{--cp-ink:#082a47;--cp-blue:#004790;--cp-deep:#03223e;--cp-gold:#d2ae6d;--cp-paper:#f4f1e8;--cp-line:#d5dfe5;color:#465d70;background:var(--cp-paper)}.page-campaigns *{box-sizing:border-box}.page-campaigns .container{width:min(1180px,calc(100% - 40px));margin:auto}.page-campaigns h1,.page-campaigns h2,.page-campaigns h3{font-family:var(--fog-font-display,'Toroka Wide',serif);text-wrap:balance}.page-campaigns p{line-height:1.7}.campaigns-hero{padding:calc(var(--fog-header-h,76px) + 85px) 0 100px;color:#fff;background:var(--cp-deep)}.campaigns-hero-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:90px;align-items:end}.campaigns-hero span,.directory-heading>span,.completed-heading>span,.campaigns-footer span{color:#efd58b;font-size:.68rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.campaigns-hero span{display:flex;gap:9px;align-items:center}.campaigns-hero span .fog-i{width:18px}.campaigns-hero h1{margin:22px 0 0;color:#fff;font-size:clamp(3.2rem,6.7vw,6.4rem);letter-spacing:-.06em;line-height:.93}.campaigns-hero p{color:#c4d3de}.campaigns-hero a{display:flex;gap:9px;align-items:center;width:fit-content;margin-top:24px;padding:13px 15px;color:var(--cp-deep);background:var(--cp-gold);font-size:.7rem;font-weight:900;text-decoration:none}.campaigns-hero a .fog-i{width:14px}.campaign-directory{padding:105px 0}.directory-heading,.completed-heading{display:grid;grid-template-columns:.35fr .65fr;gap:35px;margin-bottom:45px}.directory-heading h2,.completed-heading h2,.campaigns-footer h2{margin:0;color:var(--cp-ink);font-size:clamp(2.3rem,4.6vw,4.3rem);line-height:1.02}.campaign-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.campaign-card{display:grid;grid-template-columns:.8fr 1.2fr;background:#fff;border:1px solid #d8d1c4}.campaign-image{min-height:330px;display:grid;place-items:center;color:#fff;background:var(--cp-blue);overflow:hidden}.campaign-image img{width:100%;height:100%;object-fit:cover}.campaign-image>span{font:700 4rem var(--fog-font-display,serif)}.campaign-body{display:flex;flex-direction:column;padding:28px}.campaign-meta{display:flex;justify-content:space-between;color:#28724e;font-size:.62rem;font-weight:900;text-transform:uppercase}.campaign-meta b{color:#8999a4}.campaign-body h3{margin:18px 0 8px;color:var(--cp-ink);font-size:1.3rem}.campaign-body h3 a{color:inherit;text-decoration:none}.campaign-body>p{font-size:.74rem}.campaign-progress{margin-top:auto;padding-top:20px}.campaign-progress progress,.campaign-body>progress{width:100%;height:7px;accent-color:var(--cp-blue)}.campaign-progress>div{display:flex;justify-content:space-between;gap:10px;margin-top:8px;font-size:.62rem}.campaign-progress strong{color:var(--cp-ink)}.campaign-progress small{display:block;margin-top:7px;color:#805b15;font-weight:800}.campaign-cta{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-top:18px;padding-top:14px;color:var(--cp-blue);border-top:1px solid var(--cp-line);font-size:.68rem;font-weight:900}.campaign-cta .fog-i{width:14px}.campaign-empty{padding:55px;text-align:center;background:#fff;border:1px solid #d8d1c4}.campaign-empty>.fog-i{width:32px;color:var(--cp-blue)}.campaign-empty h3{color:var(--cp-ink)}.completed-heading{margin-top:90px}.completed-grid .campaign-image{filter:saturate(.7)}.campaigns-footer{padding:70px 0;color:#fff;background:var(--cp-blue)}.campaigns-footer>.container{display:flex;justify-content:space-between;gap:40px;align-items:center}.campaigns-footer h2{margin-top:7px;color:#fff}.campaigns-footer a{display:flex;gap:9px;align-items:center;padding:13px 15px;color:var(--cp-deep);background:var(--cp-gold);font-size:.7rem;font-weight:900;text-decoration:none}.campaigns-footer .fog-i{width:16px}.page-campaigns :focus-visible{outline:3px solid var(--cp-gold);outline-offset:4px}@media(max-width:900px){.campaigns-hero-layout{grid-template-columns:1fr;gap:25px}.campaign-card{grid-template-columns:1fr}.campaign-image{min-height:230px}}@media(max-width:700px){.campaign-grid{grid-template-columns:1fr}.directory-heading,.completed-heading{grid-template-columns:1fr}.campaigns-footer>.container{align-items:flex-start;flex-direction:column}}@media(max-width:560px){.page-campaigns .container{width:calc(100% - 28px)}.campaigns-hero{padding:calc(var(--fog-header-h,66px) + 52px) 0 65px}.campaigns-hero h1{font-size:clamp(2.8rem,14vw,4.4rem)}.campaign-directory{padding:75px 0}.campaigns-footer a{width:100%}}