@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--blue:#1c4f7d;--ink:#18334c;--paper:#faf7ef;--line:#d9d4cd;--muted:#4e6171}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font-family:'DM Sans',Arial,sans-serif;font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,summary{outline-offset:5px}button{cursor:pointer}img{max-width:100%;display:block}.preview{height:35px;background:#102f4e;color:#fff;padding:0 5%;display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:1.3px}.preview a{letter-spacing:.4px;color:#e3d9c7}.preview b{margin-left:13px}header{min-height:110px;padding:22px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:30px}.brand{display:flex;gap:14px;align-items:center}.brand img{width:50px;height:50px;object-fit:contain}.brand span{font-size:12px;font-weight:600;letter-spacing:1.3px}.brand small{display:block;font-size:9px;letter-spacing:3px;margin-top:3px}nav{display:flex;gap:25px;align-items:center;font-size:12px}nav a.active{color:var(--blue)}.navcontact{border-bottom:1px solid var(--blue);padding-bottom:7px;color:var(--blue)}#menu{display:none}h1,h2,h3,p{margin-top:0}h1,h2,.display{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;line-height:1.04}h1{font-size:clamp(56px,7.2vw,104px);letter-spacing:-2px;margin:20px 0 28px}h2{font-size:clamp(42px,4vw,62px);letter-spacing:-1px;margin-bottom:28px}h3{font-size:20px;line-height:1.35;font-weight:500}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--blue)}.wrap{max-width:1260px;margin:auto;padding:75px 5%}.hero{display:grid;grid-template-columns:1.1fr .9fr;min-height:650px}.herotext{padding:70px 9% 45px 11%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.hero h1 em{font-style:normal;color:var(--blue)}.intro{font-size:16px;max-width:440px;color:var(--muted)}.btn{background:var(--blue);color:#fff;padding:14px 23px;display:inline-flex;align-items:center;gap:32px;border:1px solid var(--blue);font-size:12px}.btn.light{background:transparent;color:var(--blue)}.btn.black{background:var(--ink);border-color:var(--ink)}.actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-top:16px}.textlink{font-size:12px;border-bottom:1px solid var(--line);padding:7px 0}.heroart{background:#d9d4ca;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;min-height:520px}.heroart svg{width:100%;height:100%;position:absolute;inset:0}.artcaption{position:absolute;bottom:38px;left:38px;color:#fff;font-size:11px;letter-spacing:1px}.artcaption span{display:block;font-size:9px;opacity:.7;letter-spacing:2px}.countries{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 5%}.countries a{padding:23px 25px;border-right:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:13px}.countries a:last-child{border:0}.countries small{font-size:10px;color:var(--muted);display:block}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.split p{color:var(--muted)}.label{color:var(--blue);font-size:11px;letter-spacing:1px}.expertlist{border-top:1px solid var(--line)}.expertrow{display:grid;grid-template-columns:45px 1fr 30px;gap:15px;padding:23px 0;border-bottom:1px solid var(--line);align-items:center}.expertrow span{font-size:10px;color:var(--blue)}.expertrow h3{margin:0;font-family:Georgia,serif;font-size:23px}.expertrow b{font-size:23px;font-weight:400;color:var(--blue)}.band{background:#ebe6dd}.sectionhead{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:35px}.sectionhead h2{margin-bottom:0}.teamgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}.teamcard{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:center}.teamcard img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top;background:#ddd6cc;filter:grayscale(1)}.teamcard h3{font-family:Georgia,serif;font-size:25px;margin:12px 0}.teamcard p{font-size:12px;color:var(--muted)}.teamcard button{border:0;background:transparent;padding:8px 0;border-bottom:1px solid var(--blue);font-size:12px;color:var(--blue)}.cta{background:var(--blue);color:white;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:60px 8%}.cta h2{font-size:50px;margin:0;max-width:650px}.cta .btn{border-color:#efce87;background:transparent;white-space:nowrap}.pagehero{padding:65px 8% 55px;border-bottom:1px solid var(--line);max-width:1400px;margin:auto}.pagehero h1{font-size:76px;max-width:900px}.pagehero p{max-width:660px;color:var(--muted)}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.plaincard{padding:30px 0;border-top:1px solid var(--line)}.plaincard p{color:var(--muted);font-size:14px}.bigletter{font-family:Georgia,serif;font-size:50px;color:var(--blue);margin-bottom:25px}.service{display:grid;grid-template-columns:90px 1fr 1.1fr;gap:25px;padding:40px 0;border-top:1px solid var(--line)}.service p{color:var(--muted);margin:0}.service h2{font-size:35px;margin:0}.number{color:var(--blue);font-size:12px}details{border-bottom:1px solid var(--line);padding:25px 0}summary{list-style:none;cursor:pointer;font-family:Georgia,serif;font-size:30px;display:flex;justify-content:space-between}summary:after{content:'+';color:var(--blue)}details[open] summary:after{content:'−'}details p{max-width:800px;margin:22px 0 0;color:var(--muted)}.publication{display:grid;grid-template-columns:90px 1fr auto;gap:30px;align-items:center;border-top:1px solid var(--line);padding:30px 0}.book{width:72px;height:98px;background:#1c4f7d;color:white;font-family:Georgia,serif;padding:10px;display:flex;align-items:end;font-size:12px;border-left:5px solid #153d62}.publication p{max-width:650px;color:var(--muted);font-size:13px}.publication h3{margin-bottom:8px}.office{border-top:1px solid var(--line);padding-top:22px}.office p{font-size:13px;color:var(--muted)}.office a{color:var(--blue)}.contactbox{background:#eae5dc;padding:35px}.contactbox input,.contactbox textarea,.editor input,.editor textarea{width:100%;border:1px solid var(--line);background:#fff;padding:12px;border-radius:0}.contactbox label,.editor label{font-size:12px;display:block;margin-bottom:15px}.contactbox small{color:var(--muted)}.notice{font-size:12px;background:#ede7db;padding:15px 20px;border-left:3px solid var(--blue);margin-bottom:30px}.price{font-family:'Libre Caslon Display',Georgia,serif;font-size:90px;line-height:1.1;margin:20px 0}.price small{font:13px 'DM Sans',sans-serif;color:var(--muted)}.proposalgrid{display:grid;grid-template-columns:1.5fr 1fr;gap:60px}.pricebox{background:#eae5dc;padding:35px;align-self:start;position:sticky;top:30px}.checklist{padding:0;list-style:none}.checklist li{padding:15px 0;border-bottom:1px solid var(--line);font-size:14px}.checklist li:before{content:'↗';color:var(--blue);margin-right:15px}.editor{display:grid;grid-template-columns:1fr 1fr;gap:45px;background:#ebe6dd;padding:35px}.editor img{max-height:230px;object-fit:cover}.editor .teamcard{grid-template-columns:150px 1fr}.status{font-size:12px;color:var(--blue);min-height:1.5em}.partnerlist{columns:2;font-size:14px;color:var(--muted);line-height:2.2}.source{font-size:11px;color:var(--muted);margin-top:40px}footer{padding:50px 6%;background:#102f4e;color:#ddd;display:grid;grid-template-columns:1.5fr .6fr 1fr;gap:40px;font-size:12px}footer a{display:block;margin-bottom:8px}footer small{color:#aaa}.footbrand{font-family:Georgia,serif;font-size:30px;letter-spacing:4px}.footbrand span{display:block;font:9px Arial;letter-spacing:2px}footer p{color:#b4b5b0}dialog{max-width:650px;width:90%;border:0;background:var(--paper);padding:55px;color:var(--ink)}dialog::backdrop{background:#0009}.close{position:absolute;right:15px;top:10px;border:0;background:none;font-size:28px}.printlink{border:0;background:transparent;color:var(--blue);padding:0;cursor:pointer;font-size:12px;text-decoration:underline}@media(max-width:1050px){nav{gap:15px;font-size:11px}.brand span{display:none}.herotext{padding-left:10%}.teamcard{display:block}.teamcard img{height:320px;object-fit:cover}.split{gap:40px}}@media(max-width:760px){.preview{font-size:8px;height:38px;padding:0 5%}.preview span{max-width:40%}header{padding:15px 5%;min-height:85px;flex-wrap:wrap}.brand span{display:block}.brand img{width:40px;height:40px}#menu{display:block;border:0;background:none;font-size:12px}nav{display:none;width:100%;padding:15px 0;flex-direction:column;align-items:start;gap:17px}nav.open{display:flex}.hero{grid-template-columns:1fr}.herotext{padding:45px 7%}.hero h1{font-size:67px}.heroart{min-height:360px}.countries{margin:0;grid-template-columns:1fr}.countries a{padding:14px 7%;border-right:0;border-bottom:1px solid var(--line)}.wrap{padding:50px 7%}.split,.proposalgrid,.editor{grid-template-columns:1fr;gap:30px}.grid3{grid-template-columns:1fr}.sectionhead{align-items:start;flex-direction:column}.teamgrid{gap:20px}.teamcard img{height:220px}.teamcard h3{font-size:22px}.cta{display:block;padding:45px 7%}.cta h2{font-size:40px;margin-bottom:25px}.pagehero{padding:45px 7%}.pagehero h1{font-size:57px;letter-spacing:-1px}.service{grid-template-columns:35px 1fr;gap:15px}.service p{grid-column:2}.service h2{font-size:30px}.publication{grid-template-columns:65px 1fr;gap:15px}.publication>a{grid-column:2}.book{width:58px;height:80px}.pricebox{position:static}.partnerlist{columns:1}.editor{padding:22px}.editor .teamcard{display:block}.editor img{max-height:180px}footer{grid-template-columns:1fr 1fr;gap:25px}footer>div:last-child{grid-column:1/-1}summary{font-size:24px}}@media print{header,footer,.preview,.printlink,#menu{display:none}.pricebox{position:static}.wrap,.pagehero{padding:20px 0}.proposalgrid{grid-template-columns:1.5fr 1fr}body{font-size:11px;background:white}.pagehero h1{font-size:45px}h2{font-size:32px}.price{font-size:60px}.editor{display:none}a{text-decoration:none}}

.teamsection{margin:25px 0 65px;row-gap:45px}.portrait-placeholder{width:100%;aspect-ratio:4/5;background:#e2dcd2;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#a69b8b}.portrait-placeholder span{font:65px Georgia,serif}.portrait-placeholder small{font-size:10px;letter-spacing:1px;margin-top:15px}.supportgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.supportcard{border-top:1px solid var(--line);padding-top:20px}.supportcard p{color:var(--muted);font-size:12px}@media(max-width:760px){.supportgrid{grid-template-columns:1fr 1fr}.portrait-placeholder{height:220px;aspect-ratio:auto}}
/* Proposal: give the scope priority over the budget. */
.proposalgrid{grid-template-columns:minmax(0,2.4fr) minmax(230px,1fr);gap:50px}.pricebox{background:transparent;border-left:1px solid var(--line);padding:15px 0 15px 28px}.pricebox>.eyebrow{color:var(--muted);font-size:9px}.pricebox .price{font-size:49px;margin:15px 0}.pricebox p{font-size:12px;color:var(--muted)}.pricebox h3{font-size:15px;margin:22px 0 10px}.pricebox hr{border:0;border-top:1px solid var(--line);margin:24px 0}.pricebox .actions{display:block}.pricebox .actions a{display:block;margin-top:12px}.pricebox .btn{background:transparent;border:1px solid var(--line);color:var(--muted);padding:10px 13px;font-size:11px}.proposalgrid .checklist{background:#fffaf3;border:1px solid #ddd4c5;padding:8px 25px;margin:25px 0 38px}.proposalgrid .checklist li{font-size:15px;padding:18px 0;line-height:1.6}.proposalgrid .checklist li:last-child{border-bottom:0}.proposalgrid .checklist li:before{content:'✓';font-weight:700}.proposalgrid h3{margin-top:35px}@media(max-width:760px){.proposalgrid{grid-template-columns:1fr;gap:30px}.pricebox{border-left:0;border-top:1px solid var(--line);padding:24px 0}.proposalgrid .checklist{padding:5px 18px}.pricebox .price{font-size:44px}}@media print{.proposalgrid{grid-template-columns:2.4fr 1fr}.pricebox{padding:10px 0 10px 20px}.pricebox .price{font-size:42px}}

/* Large vector identity in the homepage hero */
.heroart-logo{background:#1e5487;flex-direction:column;padding:54px 44px 130px}.heroart-logo .hero-logo{width:min(100%,390px);height:auto;position:relative;object-fit:contain}.heroart-logo .artcaption{left:38px;right:30px;bottom:38px}.heroart-logo .artcaption span{margin-top:6px;line-height:1.7}@media(max-width:760px){.heroart-logo{min-height:420px;padding:35px 45px 120px}.heroart-logo .hero-logo{width:min(100%,270px)}.heroart-logo .artcaption{left:7%;right:7%;bottom:28px}}

@font-face{font-family:LawaysBibleScript;src:url('assets/BibleScript.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
.brand>span{font-family:LawaysBibleScript,Georgia,serif;font-size:24px;font-weight:400;letter-spacing:0;line-height:1.15}.brand small{font-family:'DM Sans',Arial,sans-serif;font-size:9px;letter-spacing:3px;margin-top:6px}.heroart-logo .hero-logo{width:min(100%,340px)}.hero-company-name{font-family:LawaysBibleScript,Georgia,serif;color:#fff;font-size:clamp(25px,2.9vw,41px);line-height:1.2;text-align:center;margin-top:25px;white-space:nowrap}.footbrand{font-family:LawaysBibleScript,Georgia,serif;font-weight:400;letter-spacing:0}@media(max-width:760px){.hero-company-name{font-size:27px;white-space:normal}.heroart-logo .hero-logo{width:min(100%,250px)}.brand>span{font-size:22px}}

/* BibleScript for headings and identity; clear sans-serif for reading */
h1,h2,h3,.display,.expertrow h3,.teamcard h3,summary{font-family:LawaysBibleScript,Georgia,serif;font-weight:400;letter-spacing:0}h1{font-size:clamp(52px,6.5vw,92px)}.hero h1{line-height:1.08}.pagehero h1{font-size:68px}@media(max-width:760px){.hero h1{font-size:58px}.pagehero h1{font-size:49px}}

/* Logo alone in the right-hand panel */
.heroart-logo{padding:54px 44px}.heroart-logo .hero-logo{width:min(100%,390px)}@media(max-width:760px){.heroart-logo{min-height:360px;padding:40px}.heroart-logo .hero-logo{width:min(100%,270px)}}

/* Tighter logo panel and more comfortable reading size */
.heroart-logo{background:var(--paper);padding:45px 35px}.heroart-logo .hero-logo{width:min(100%,390px)}
body{font-size:17px}.intro{font-size:18px}nav{font-size:14px;gap:21px}.btn,.textlink{font-size:14px}.countries a{font-size:15px}.countries small{font-size:12px}.teamcard p,.office p,.publication p{font-size:15px}.checklist li{font-size:16px}.contactbox label,.editor label,.notice{font-size:14px}.source,.status,footer{font-size:14px}.price small{font-size:15px}.pagehero p,.plaincard p{font-size:17px}@media(max-width:1050px){nav{font-size:13px;gap:13px}}@media(max-width:760px){.heroart-logo{min-height:320px;padding:25px 40px}.heroart-logo .hero-logo{width:min(100%,270px)}nav{font-size:16px}.intro{font-size:18px}}

.recognitions{border-top:1px solid var(--line);padding-top:55px;padding-bottom:55px}.recognitions h2{font-size:43px;margin-bottom:0}.recognitions .sectionhead p{font-size:15px;color:var(--muted);margin:0}.recognitions small{font-size:12px}.recognition-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.recognition-grid figure{margin:0;display:flex;gap:18px;align-items:center}.certificate-button{padding:0;border:0;background:none;flex:0 0 105px;cursor:zoom-in}.certificate-button img{width:105px;height:145px;object-fit:contain}.recognition-grid figcaption{font-size:14px}.recognition-grid strong{display:block;font-size:20px;font-weight:500}.recognition-grid figcaption span{display:block;font-size:12px;color:var(--muted);line-height:1.5}.recognition-grid .textlink{border:0;background:none;padding:8px 0;color:var(--blue);font-size:12px;text-align:left}.certificate-large{display:block;margin:18px auto 0;max-height:75vh;width:auto;max-width:100%;object-fit:contain}#bio:has(.certificate-large){padding:45px 30px 25px;max-width:650px}@media(max-width:1050px){.recognition-grid{gap:20px}.recognition-grid figure{flex-direction:column;align-items:flex-start}.certificate-button{flex:auto}}@media(max-width:760px){.recognitions h2{font-size:35px}.recognition-grid{grid-template-columns:1fr}.recognition-grid figure{flex-direction:row;align-items:center;gap:25px}.certificate-button{flex:0 0 95px}.certificate-button img{width:95px;height:130px}}

/* LW Africa identity and country teams */
.heroart-logo .hero-logo {
  border-radius: 8px;
  box-shadow: 0 16px 36px #16375124;
}
.brand img { border-radius: 5px; }
.country-card h3 { margin-bottom: 24px; }
.country-card .eyebrow,
.country-card strong { display: block; }
.country-card .eyebrow { margin-bottom: 5px; }
.support-heading { margin-top: 52px; }
.cross-team { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.country-detail .country-card { max-width: 520px; }
@media (max-width: 760px) {
  .cross-team { grid-template-columns: 1fr; }
}

.org-root {
  width: fit-content;
  margin: 0 auto 28px;
  padding: 10px 22px;
  border-radius: 6px;
  background: #1c4f7d;
  color: white;
  font-weight: 700;
}
.org-branches { position: relative; }
.org-branches::before {
  content: "";
  position: absolute;
  left: 16.66%;
  right: 16.66%;
  top: -14px;
  border-top: 1px solid #91a9be;
}
.org-root, .org-branches > section { position: relative; }
.org-root::after, .org-branches > section::before {
  content: "";
  position: absolute;
  left: 50%;
  height: 14px;
  border-left: 1px solid #91a9be;
}
.org-root::after { top: 100%; }
.org-branches > section::before { bottom: 100%; }
.org-branches h2 { font: 700 18px/1.3 'DM Sans', Arial, sans-serif; }
.org-branches h3 { font: 700 15px/1.3 'DM Sans', Arial, sans-serif; }
.org-branches ul { padding-left: 18px; }
@media (max-width: 760px) {
  .org-branches::before, .org-root::after, .org-branches > section::before { display: none; }
}

/* Colours drawn from the LW Africa mark */
:root {
  --gold: #c49a4d;
  --gold-light: #efce87;
  --navy: #102f4e;
}
.preview a, footer .footbrand { color: var(--gold-light); }
header { border-bottom-color: #d7bd87; }
nav a.active, .navcontact, .textlink { border-bottom: 1px solid var(--gold); }
.btn:hover { background: var(--navy); color: white; }
.hero h1 em { color: var(--blue); }
.org-root { border: 1px solid var(--gold); background: var(--navy); }
.org-branches > section { border-top: 3px solid var(--gold); background: #edf3f8; }
.org-branches::before, .org-root::after, .org-branches > section::before {
  border-color: var(--gold);
}

.featured-network .name-grid {
  list-style: none;
  padding: 0;
}
.featured-network .name-grid li {
  border-top: 3px solid var(--gold);
  font-weight: 700;
}
