:root{--blue:#1f3a5f;--sand:#f4f1ec;--white:#fff;--text:#2b2b2b;--muted:#66717d;--line:#dce2e7;--pale:#dce7f3;--gold:#d9c7a1;--green:#3faf7d;--red:#c14953;--edu:#4c78a8;--shadow:0 14px 40px rgba(31,58,95,.09);--max:1200px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--text);background:var(--sand);line-height:1.55}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.container{width:min(calc(100% - 40px),var(--max));margin:auto}.top{background:var(--blue);color:#fff;text-align:center;padding:7px;font-size:12px}header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}nav{height:76px;display:flex;align-items:center;gap:27px}.logo{margin-right:auto;color:var(--blue);font-size:22px;font-weight:700}.official-logo{display:flex;align-items:center;width:230px;height:66px;max-width:230px;overflow:hidden}.official-logo img{display:block;width:230px;height:auto;max-width:100%;max-height:64px;object-fit:contain;object-position:left center}.logo small{display:block;font-size:9px;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:#66717d}.links{display:flex;align-items:center;gap:24px;font-size:14px;font-weight:600}.links>a.active,.links>a:hover{color:var(--edu)}.drop{position:relative}.drop button{border:0;background:none;font-weight:600;cursor:pointer;padding:0;color:inherit}.menu{display:none;position:absolute;top:25px;left:-15px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:10px;padding:9px;min-width:190px}.menu a{display:block;padding:8px 10px;border-radius:6px}.menu a:hover{background:var(--pale)}.drop:hover .menu,.drop:focus-within .menu{display:block}.signin{color:var(--blue);font-weight:700}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:9px;padding:11px 17px;border:1px solid transparent;font-weight:700;cursor:pointer}.primary{background:var(--blue);color:#fff}.outline{background:#fff;border-color:var(--blue);color:var(--blue)}.hero{padding:75px 0;background:linear-gradient(125deg,#fbfaf7,#eaf0f6);border-bottom:1px solid var(--line)}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:700;color:var(--blue)}h1,h2,h3{color:var(--blue);line-height:1.15;margin-top:0}h1{font-size:clamp(38px,5vw,58px);letter-spacing:-.04em;max-width:820px;margin:13px 0 17px}h2{font-size:clamp(28px,4vw,39px);letter-spacing:-.025em}.lead{font-size:19px;color:#566573;max-width:760px}.search{margin-top:32px;background:#fff;border:1px solid #d4dee7;border-radius:14px;box-shadow:var(--shadow);padding:18px;display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:12px}.field label{display:block;font-size:12px;font-weight:700;margin:0 0 6px 2px;color:#536170}.field input,.field select{width:100%;min-height:49px;padding:12px;border:1px solid #cbd5df;border-radius:8px;background:#fff}.section{padding:70px 0}.white{background:#fff}.head{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:28px}.head p{max-width:610px;color:var(--muted)}.grid{display:grid;gap:17px}.three{grid-template-columns:repeat(3,1fr)}.four{grid-template-columns:repeat(4,1fr)}.five{grid-template-columns:repeat(5,1fr)}.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:23px}.card p{font-size:14px;color:var(--muted)}.tag{display:inline-flex;border-radius:99px;background:#edf2f5;padding:5px 9px;font-size:11px;font-weight:700;margin:3px}.tag.green{background:#e4f5ee;color:#247558}.tag.red{background:#f8e8ea;color:#963943}.tag.blue{background:#e7eef6;color:#365f89}.orgtop{display:flex;gap:14px;align-items:center}.mark{width:52px;height:52px;border-radius:10px;background:var(--pale);color:var(--blue);font-weight:700;display:grid;place-items:center}.verified{border-top:1px solid var(--line);padding-top:13px;margin-top:17px;color:#39765f;font-size:12px}.about{display:grid;grid-template-columns:.8fr 1.2fr;gap:55px}.quote{font:30px/1.45 "Libre Baskerville",Georgia,serif;color:var(--blue)}.flow{background:var(--blue);color:#d8e3ed;border-radius:16px;padding:30px;margin-top:30px}.flow h2,.flow h3{color:#fff}.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.step{border:1px solid rgba(255,255,255,.22);border-radius:9px;padding:14px;font-size:12px}.step strong{display:block;color:#fff;margin-bottom:5px}.directory{display:grid;grid-template-columns:250px 1fr;gap:25px}.filters{background:#f7f9fa;border:1px solid var(--line);border-radius:12px;padding:20px;height:max-content}.filters .field{margin-bottom:16px}.map{position:relative;min-height:440px;background:linear-gradient(135deg,#dce7f3,#f4f1ec);border-radius:16px;overflow:hidden}.land{position:absolute;background:#b8c9b7;opacity:.85;border-radius:48%}.a{width:30%;height:40%;left:8%;top:15%}.b{width:20%;height:44%;left:32%;top:47%}.c{width:35%;height:32%;right:7%;top:20%}.d{width:14%;height:14%;right:9%;bottom:9%}.pin{position:absolute;width:18px;height:18px;border:4px solid #fff;border-radius:50%;background:var(--red);box-shadow:0 3px 10px #456}.pin.m{left:74%;top:56%}.pin.i{left:77%;top:68%}.pin.p{left:81%;top:46%}.pin.v{left:75%;top:43%}.pin.au{left:83%;top:79%}.coming{text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:700;background:#f1eadb;color:#74603b;border-radius:99px;padding:6px 10px}.employer{background:var(--blue);color:#fff;border-radius:17px;padding:42px}.employer h1,.employer h2{color:#fff}.employer p{color:#dbe5ee}.formbox{max-width:520px;margin:30px auto;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:34px}.formbox .field{margin:15px 0}.formbox .btn{width:100%}footer{background:#162d4b;color:#c6d2de;padding:45px 0}.footer{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:30px}.footer h3{color:#fff;font-size:14px}.footer a{display:block;font-size:13px;margin:7px 0}.muted{color:var(--muted)}@media(max-width:900px){.links{display:none}.search{grid-template-columns:1fr 1fr}.search .btn{grid-column:1/-1}.three,.four,.five{grid-template-columns:1fr 1fr}.about,.directory{grid-template-columns:1fr}.steps{grid-template-columns:1fr 1fr}.footer{grid-template-columns:1fr 1fr}}@media(max-width:600px){.container{width:min(calc(100% - 26px),var(--max))}.search,.three,.four,.five,.steps,.footer{grid-template-columns:1fr}.hero{padding:50px 0}.section{padding:52px 0}}

/* Subtle interactive movement */
.btn,.card,.purpose-item,.how-card,.toc-card,.org-card,.step,.founder-meta span,.portrait,.mark,.pin,.toc-node,.toc-centre,.links a,.menu a{transition:transform .24s ease,box-shadow .24s ease,background-color .24s ease,color .24s ease,border-color .24s ease}
.btn:hover,.btn:focus-visible{transform:translateY(-3px);box-shadow:0 10px 24px rgba(31,58,95,.2)}
.primary:hover,.primary:focus-visible{background:#294a75}
.outline:hover,.outline:focus-visible{background:var(--blue);color:#fff}
.card:hover,.purpose-item:hover,.how-card:hover,.toc-card:hover,.org-card:hover,.step:hover{transform:translateY(-6px);border-color:#b9c8d8;box-shadow:0 14px 30px rgba(31,58,95,.12)}
.card:hover .feature-icon,.purpose-item:hover .purpose-no,.how-card:hover .section-card-icon,.org-card:hover .mark{transform:scale(1.08)}
.founder-meta span:hover{transform:translateY(-2px);border-color:var(--blue);background:var(--pale)}
.portrait:hover{transform:scale(1.015);box-shadow:0 22px 48px rgba(31,58,95,.18)}
.toc-node:hover{transform:translateY(-4px)}
.toc-node:hover:before{background:var(--pale)}
.toc-centre:hover{transform:translate(-50%,-50%) scale(1.04);background:#fff}
.pin:hover{transform:scale(1.35);box-shadow:0 5px 14px rgba(31,58,95,.35)}
.links a:hover{transform:translateY(-2px)}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* Pages render immediately during navigation, without an intermediate reveal. */
.scroll-reveal,
body.reveal-ready .scroll-reveal,
body.reveal-ready .scroll-reveal.is-visible{
  opacity:1!important;
  translate:none!important;
  transition:none!important;
}

/* Keep the shared brand mark stable while the next page loads. */
.official-logo,
.official-logo img,
header .logo img{
  width:230px!important;
  max-width:230px!important;
  max-height:64px!important;
  height:auto!important;
  object-fit:contain;
}

/* Privacy, legal and accessibility */
.skip-link{position:fixed;left:16px;top:10px;z-index:10000;transform:translateY(-160%);background:#fff;color:var(--blue);border:2px solid var(--blue);border-radius:7px;padding:9px 13px;font-weight:700}
.skip-link:focus{transform:translateY(0)}
.legal-hero{padding:48px 0 30px;background:linear-gradient(125deg,#fbfaf7,#eaf0f6);border-bottom:1px solid var(--line)}
.legal-hero h1{font-size:clamp(34px,4vw,48px);margin-bottom:8px}
.legal-page{background:#fff;padding:42px 0 60px}
.legal-content{max-width:860px;margin:auto}
.legal-content h2{font-size:25px;margin:34px 0 10px}
.legal-content h3{font-size:18px;margin:24px 0 8px}
.legal-content p,.legal-content li{color:#4f5e6b;font-size:15px}
.legal-content a{color:#1c6396;text-decoration:underline;text-underline-offset:2px}
.legal-content .legal-note{background:#f4f1ec;border-left:4px solid var(--gold);padding:15px 17px;border-radius:0 8px 8px 0;color:#3e4a55}
.legal-updated{color:var(--muted);font-size:13px}
.cookie-banner{position:fixed;z-index:1000;left:18px;right:18px;bottom:18px;max-width:1180px;margin:auto;background:#fff;color:var(--text);border:1px solid #cbd6e1;border-radius:14px;box-shadow:0 18px 55px rgba(17,35,60,.24);padding:18px 20px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}
.cookie-banner[hidden],.cookie-modal-backdrop[hidden]{display:none!important}
.cookie-banner h2{font-size:20px;margin:0 0 5px}
.cookie-banner p{font-size:13px;margin:0;color:#52616e;max-width:700px}
.cookie-banner a{color:#1c6396;text-decoration:underline}
.cookie-actions{display:flex;gap:9px;justify-content:flex-end;flex-wrap:wrap}
.cookie-actions .btn{font-size:13px;padding:9px 13px}
.cookie-modal-backdrop{position:fixed;z-index:1100;inset:0;background:rgba(12,28,50,.62);display:grid;place-items:center;padding:20px}
.cookie-modal{position:relative;width:min(100%,600px);max-height:min(90vh,720px);overflow:auto;background:#fff;border-radius:15px;padding:28px;box-shadow:0 24px 70px rgba(0,0,0,.3)}
.cookie-modal h2{font-size:28px;margin-bottom:8px}
.cookie-modal>p{color:#586673;font-size:14px}
.cookie-close{position:absolute;right:16px;top:13px;border:0;background:none;color:var(--blue);font-size:28px;cursor:pointer}
.cookie-choice{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding:16px 0;cursor:pointer}
.cookie-choice span{display:grid;gap:3px}.cookie-choice small{color:#64717c}.cookie-choice input{width:20px;height:20px;accent-color:var(--blue)}
@media(max-width:760px){.cookie-banner{grid-template-columns:1fr;gap:14px}.cookie-actions{justify-content:flex-start}.cookie-actions .btn{flex:1}.legal-hero{padding:38px 0 25px}}
/* For Organisations: separate the live directory phase from the future portal. */
body[data-page="organisations"] .organisations-hero {
  padding: 44px 0 40px;
}

.organisations-hero-inner {
  text-align: center;
}

body[data-page="organisations"] .organisations-hero h1 {
  max-width: 820px;
  margin: 10px auto 12px;
  font-size: clamp(25px, 3vw, 32px);
  line-height: 1.12;
}

body[data-page="organisations"] .organisations-hero .lead {
  max-width: 760px;
  margin: 0 auto;
  font-size: 18px;
  line-height: 1.55;
}

.organisations-phases {
  padding: 46px 0;
}

.organisation-phase-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  align-items: stretch;
}

.organisation-phase-card {
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 30px;
  box-shadow: 0 16px 38px rgba(31, 44, 101, .08);
}

.organisation-phase-card.phase-live {
  border-top: 5px solid var(--blue);
  background: #fff;
}

.organisation-phase-card.phase-future {
  border-top: 5px solid var(--gold);
  background: var(--cream);
}

.phase-status {
  display: inline-flex;
  align-items: center;
  margin-bottom: 16px;
  padding: 7px 11px;
  border-radius: 999px;
  background: #eee8d5;
  color: #715f22;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.phase-status.is-live {
  background: #e4f4ed;
  color: #087652;
}

.organisation-phase-card h2 {
  margin: 0 0 12px;
  font-size: clamp(25px, 2.5vw, 31px);
  line-height: 1.18;
}

.organisation-phase-card p {
  margin: 0 0 18px;
  font-size: 17px;
  line-height: 1.55;
}

.phase-list {
  display: grid;
  gap: 10px;
  margin: 20px 0 26px;
  padding: 0;
  list-style: none;
}

.phase-list li {
  position: relative;
  padding-left: 25px;
  line-height: 1.45;
}

.phase-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: #087652;
  font-weight: 900;
}

.phase-actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
}

.phase-note {
  padding: 14px 16px;
  border-left: 3px solid var(--gold);
  background: rgba(255, 255, 255, .66);
  font-size: 15px !important;
}

.phase-preview-link {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  color: var(--blue);
  font-weight: 800;
  text-decoration: none;
}

.phase-preview-link:hover span {
  transform: translateX(4px);
}

.phase-preview-link span {
  transition: transform .2s ease;
}

@media (max-width: 820px) {
  .organisation-phase-grid {
    grid-template-columns: 1fr;
  }

  .organisation-phase-card {
    padding: 24px;
  }
}
.impact-category .impact-custom-icon{width:30px;height:30px;object-fit:contain}
