MediaWiki:Common.css

From Dreams Knowledge Platform
Revision as of 09:19, 18 June 2026 by Admin (talk | contribs)
Jump to: navigation, search

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
/* CSS placed here will be applied to all skins */
.navbar-brand img {
  padding-top: 10px;
  height: 60px;
}

.firstHeading {
  color: rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1)) !important;
}

.external.text {
  color: rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1)) !important;
}

.grid-container {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  padding: 20px;
}

.square {
  padding: 30px;
  border-radius: 12px;
  text-align: center;
  font-family: Arial, sans-serif;
  font-weight: bold;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 150px;
}

.blue { background-color: #2D8CFF; }
.red { background-color: #FF4757; }
.green { background-color: #2ED573; }
.yellow { background-color: #FFD32A; }
.orange { background-color: #fee4cb; }
.hue1 { background-color: #5c4ce4; }
.hue2 { background-color: #8068ff; }
.hue3 { background-color: #a386ff; }
.hue4 { background-color: #c6a4ff; }
.hue5 { background-color: #e9c4ff; }


/* ── Main Page ── */
.__NOTOC__ + * { margin-top: 0; }

.main-hero {
  display: flex;
  align-items: center;
  gap: 2em;
  padding: 2em 0 2.5em;
  border-bottom: 1px solid #e1e4ff;
  margin-bottom: 2em;
  flex-wrap: wrap;
}

.main-hero__text { flex: 1; min-width: 280px; }

.main-hero__tag {
  font-size: 0.75em;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #5c4ce4;
  margin-bottom: 0.6em;
}

.main-hero__title {
  font-size: 1.7em;
  font-weight: 800;
  line-height: 1.25;
  color: #1a1a2e;
  margin: 0 0 0.6em;
  border: none;
  padding: 0;
}

.main-hero__lead {
  font-size: 1.05em;
  color: #444;
  line-height: 1.6;
  max-width: 580px;
  margin-bottom: 1.2em;
  text-align: justify;
}

.main-hero__actions {
  display: flex;
  gap: 0.8em;
  flex-wrap: wrap;
}

.main-hero__logo {
  flex-shrink: 0;
}

.main-hero__logo figure,
.main-hero__logo .thumb,
.main-hero__logo .thumbinner {
  border: none !important;
  background: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.main-hero__logo .thumbcaption,
.main-hero__logo .magnify { display: none !important; }

.main-hero__btn a,
a.main-hero__btn {
  display: inline-block;
  background: #5c4ce4;
  color: #fff !important;
  padding: 0.5em 1.2em;
  border-radius: 5px;
  font-weight: 600;
  font-size: 0.95em;
  text-decoration: none !important;
}

.main-hero__btn--outline a {
  background: transparent;
  color: #5c4ce4 !important;
  border: 2px solid #5c4ce4;
}

.main-hero__btn a:hover { opacity: 0.85; }

.main-hero__actions {
  display: flex;
  gap: 0.8em;
  flex-wrap: wrap;
  align-items: stretch;
}

.main-hero__btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  box-sizing: border-box;
}

.main-section {
  margin-bottom: 2.5em;
}

.main-intro {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2em;
  margin-top: 1em;
}

.main-intro__col {
  font-size: 1.02em;
  line-height: 1.65;
  color: #333;
  text-align: justify;
}

.main-labs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6em;
  margin-top: 1em;
  justify-content: center;
}

.main-lab-btn a {
  display: inline-block;
  background: #f3f1ff;
  border: 1px solid #c6a4ff;
  color: #5c4ce4 !important;
  padding: 0.4em 1em;
  border-radius: 20px;
  font-weight: 600;
  font-size: 0.95em;
  text-decoration: none !important;
}

.main-lab-btn a:hover {
  background: #5c4ce4;
  color: #fff !important;
  border-color: #5c4ce4;
}

.main-connect {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 1em;
  margin-top: 1em;
}

.main-connect__item {
  background: #f3f1ff;
  border: 1px solid #e1e4ff;
  border-left: 4px solid #5c4ce4;
  padding: 0.8em 1em;
  font-size: 0.97em;
}

.main-connect__item a {
  color: #5c4ce4 !important;
  font-weight: 600;
  text-decoration: none !important;
}

@media (max-width: 700px) {
  .main-hero { flex-direction: column; }
  .main-intro { grid-template-columns: 1fr; }
}


/* DREAMers team layout */
.dreamer-section { 
  margin: 22px 0 30px; 
}

.dreamer-section__head {
  margin: 4px 0 14px;
  border-left: 4px solid rgb(92,76,228);
  padding-left: 10px;
}

.dreamer-section__title {
  font-size: 1.25em;
  font-weight: 700;
}

.dreamer-section__subtitle {
  color: #54595d;
  margin-top: 0;
}

.dreamer-section__subtitle:empty { 
  display: none;
}

.dreamers-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, 260px);
  gap: 20px;
  justify-content: center;
}

.dreamers-grid > p {
  display: none;
}

.dreamer-card {
  width: 260px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid #e1e4ff;
  box-shadow: 0 6px 16px rgba(92,76,228,0.08);
}

.dreamer-card__imgwrap {
  width: 100%;
  height: 250px;       
  overflow: hidden;
  background: #f3f1ff;
}

.dreamer-card__imgwrap pre {
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  overflow: hidden;
  white-space: normal;
  width: 100%;
  height: 100%;
}

.dreamer-card__imgwrap a {
  display: block;
  width: 100%;
  height: 100%;
}

.dreamer-card__img {
  width: 100%;
  height: 100%;    
  object-fit: cover;   
  object-position: center top; 
  display: block;
  border-radius: 0;
}

.dreamer-card__body {
  padding: 10px 14px 12px;
}

.dreamer-card__name {
  line-height: 1.2;
  color: #1f2328;
}

.dreamer-card__role {
  color: #54595d;
  margin-top: 2px;
}

.dreamer-card__meta {
  color: #72777d;
  margin-top: 6px;
  font-size: 0.95em;
}

.dreamer-card__imgwrap figure,
.dreamer-card__imgwrap .thumb,
.dreamer-card__imgwrap .thumbinner {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
  display: block !important;
}

.dreamer-card__imgwrap .thumbcaption,
.dreamer-card__imgwrap .magnify {
  display: none !important;
}

.dreamer-card__meta:empty { display: none; }


/* ── Event detail page ── */
.event-detail { margin-top: 8px; }

.event-detail__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0 32px;
  padding: 14px 20px;
  padding-bottom: 0px;
  background: #f3f1ff;
  border-left: 4px solid #5c4ce4;
  margin-bottom: 24px;
}
.event-detail__meta-item { display: flex; gap: 8px; align-items: baseline; }
.event-detail__meta-label {
  font-weight: 700;
  color: #5c4ce4;
  text-transform: uppercase;
  font-size: 0.78em;
  letter-spacing: 0.05em;
}
.event-detail__description {
  font-size: 1.05em;
  line-height: 1.65;
  margin-bottom: 28px;
  max-width: 780px;
}

/* ── Event image gallery ── */
.event-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 16px;
  margin-top: 8px;
}
.event-gallery > p { display: none; }
.event-gallery__item {
  overflow: hidden;
  background: #f3f1ff;
  border: 1px solid #e1e4ff;
  box-shadow: 0 4px 12px rgba(92,76,228,0.08);
  line-height: 0;
}

.event-gallery__item a,
.event-gallery__item span,
.event-gallery__item .thumb,
.event-gallery__item .thumbinner {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
}
.event-gallery__item img {
  display: block !important;
  width: 100% !important;
  height: 260px;
  object-fit: cover;
  object-position: center;
}
.event-gallery__item .thumbcaption,
.event-gallery__item .magnify { display: none; }

/* Strip thumb borders inside event gallery */
.event-gallery .thumb {
  border: none !important;
  background: none !important;
  padding: 0 !important;
}

.event-gallery .thumbinner {
  border: none !important;
  background: none !important;
  padding: 0 !important;
  width: 100% !important;
}

.event-gallery .thumbimage {
  border: none !important;
}

.event-gallery .thumbcaption,
.event-gallery .magnify {
  display: none !important;
}

/* ── Event Card ── */
.event-card {
  border: 1px solid #dde;
  border-radius: 8px;
  overflow: hidden;
  background: #f9f9fc;
  width: 300px;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}

.event-card-image {
  width: 100%;
  height: 160px;
  overflow: hidden;
  background: #eef;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Strip MediaWiki thumb wrapper inside event cards */
.event-card-image figure,
.event-card-image figure.mw-default-size,
.event-card-image .thumb,
.event-card-image .thumbinner {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
  display: block !important;
}

.event-card-image .thumbcaption,
.event-card-image .magnify {
  display: none !important;
}

.event-card-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}

.event-card-image--placeholder {
  background: linear-gradient(135deg, #e8ecf8 0%, #d0d8f0 100%);
  position: relative;
}

.event-card-image--placeholder::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 2.5em;
  height: 2.5em;
  opacity: 0.35;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23334' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.event-card-body {
  padding: 1em 1.2em;
  display: flex;
  flex-direction: column;
  gap: 0.4em;
  flex: 1;
}

.event-card-tag {
  font-size: 0.78em;
  color: #fff;
  background: #4a5dcc;
  border-radius: 3px;
  padding: 0.15em 0.55em;
  display: inline-block;
  align-self: flex-start;
  width: fit-content;
}

.event-card-title {
  font-weight: bold;
  font-size: 1em;
  line-height: 1.4;
}

.event-card-location {
  font-size: 0.82em;
  color: #555;
}

.event-card-desc {
  font-size: 0.85em;
  color: #444;
  line-height: 1.4;
}

.event-card-readmore {
  font-size: 0.82em;
  font-weight: 600;
  margin-top: 0.4em;
}

/* ── Publication detail page ── */
.publication-detail__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0 32px;
  padding: 14px 20px;
  background: #f3f1ff;
  border-left: 4px solid #5c4ce4;
  margin-bottom: 24px;
  font-size: 0.97em;
}
.publication-detail__meta-item { display: flex; gap: 8px; align-items: baseline; }
.publication-detail__meta-label {
  font-weight: 700;
  color: #5c4ce4;
  text-transform: uppercase;
  font-size: 0.78em;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
.publication-detail__description {
  font-size: 1.05em;
  line-height: 1.65;
  margin-bottom: 28px;
  max-width: 780px;
}
.publication-detail__section { margin-top: 24px; }
.publication-detail__section-title {
  font-weight: 700;
  color: #5c4ce4;
  text-transform: uppercase;
  font-size: 0.78em;
  letter-spacing: 0.05em;
  margin-bottom: 10px;
}
.publication-authors {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.publication-author {
  background: #f3f1ff;
  border: 1px solid #c6a4ff;
  padding: 5px 12px;
  font-size: 0.92em;
  line-height: 1.4;
  color: #1f2328;
}

/* ── Living Lab detail page ── */
.living-lab-detail__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0 32px;
  padding: 14px 20px;
  background: #f3f1ff;
  border-left: 4px solid #5c4ce4;
  margin-bottom: 24px;
  font-size: 0.97em;
}
.living-lab-detail__meta-item { display: flex; gap: 8px; align-items: baseline; }
.living-lab-detail__meta-label {
  font-weight: 700;
  color: #5c4ce4;
  text-transform: uppercase;
  font-size: 0.78em;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
.living-lab-detail__section { margin-bottom: 28px; }
.living-lab-detail__section-title {
  font-weight: 700;
  color: #5c4ce4;
  text-transform: uppercase;
  font-size: 0.78em;
  letter-spacing: 0.05em;
  margin-bottom: 8px;
  border-bottom: 1px solid #e1e4ff;
  padding-bottom: 4px;
}
.living-lab-detail__text {
  font-size: 1.02em;
  line-height: 1.65;
  max-width: 820px;
}
.living-lab-detail__map { max-width: 820px; }
.living-lab-detail__map .maps-map { width: 100% !important; }

/* ── SUMP overview  ── */
.sump-journey {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  margin: 1.75rem 0;
}
@media (min-width: 720px) {
  .sump-journey { grid-template-columns: 1fr 1fr; }
}
.sump-journey__phase {
  border: 1px solid var(--dreams-border, #e0e0e0);
  border-top: 4px solid var(--sump-accent, #5c4ce4);
  border-radius: 10px;
  background: #fff;
  padding: 1rem 1.15rem 1.2rem;
}
.sump-journey__phase:nth-child(1) { --sump-accent: #c6a4ff; }
.sump-journey__phase:nth-child(2) { --sump-accent: #a386ff; }
.sump-journey__phase:nth-child(3) { --sump-accent: #8068ff; }
.sump-journey__phase:nth-child(4) { --sump-accent: #5c4ce4; }
.sump-journey__head {
  display: flex;
  align-items: center;
  gap: .55rem;
  margin: 0 0 .45rem;
}
.sump-journey__head h3 {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 1.1rem;
  font-weight: 700;
  color: #222;
}
.sump-journey__num {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.9rem;
  height: 1.9rem;
  border-radius: 50%;
  background: var(--dreams-primary, #5c4ce4);
  color: #fff;
  font-weight: 700;
  font-size: .95rem;
}
.sump-journey__desc {
  margin: 0 0 .85rem;
  color: #555;
  line-height: 1.55;
  font-size: var(--dreams-small, .85em);
}
.sump-journey__steps {
  display: grid;
  gap: .45rem;
}
.sump-journey__step {
  display: flex;
  align-items: baseline;
  gap: .55rem;
  line-height: 1.45;
}
.sump-journey__step-num {
  flex: 0 0 1.5rem;
  font-weight: 700;
  font-size: var(--dreams-small, .85em);
  color: var(--dreams-primary, #5c4ce4);
  font-variant-numeric: tabular-nums;
}
.sump-journey__step a { color: var(--dreams-primary, #5c4ce4); }
.sump-journey-cycle {
  font-size: var(--dreams-small, .85em);
  color: #777;
  margin: .25rem 0 0;
}

/* --- Brand tokens --- */
:root {
  --dreams-primary: #5c4ce4;
  --dreams-tint:    #f3f1ff;
  --dreams-border:  #cac4f8;
  --dreams-dark:    #3d30c4;
  --dreams-text-on: #ffffff;
  --dreams-small:   0.85em;
  --sump-tint: #f3f1ff; 
}
 
/* --- Page wrapper --- */
.sump-step { max-width: 60rem; }
 
/* --- Phase / step header bar --- */
.sump-step__head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .4rem;
  padding: .75rem 0 1rem;
  border-bottom: 1px solid #e0e0e0;
  margin-bottom: 1rem;
}
.sump-step__phase-label {
  font-size: var(--dreams-small);
  color: #555;
}
.sump-step__phase-tag {
  display: inline-block;
  font-size: var(--dreams-small);
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  padding: .2rem .7rem;
  border-radius: 1rem;
  color: var(--dreams-text-on);
  background: var(--dreams-primary);
}
.sump-step__counter {
  margin-left: auto;
  font-size: var(--dreams-small);
  color: #888;
}
 
/* --- Section headings --- */
.sump-step h2 {
  border-left: 3px solid var(--dreams-primary);
  padding-left: .75rem;
  margin-top: 3rem;
  margin-bottom: 1.5rem;
}
 
/* --- Intro text block --- */
.sump-intro {
  line-height: 1.75;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #e8e8e8;
  margin-top: 0;
  margin-bottom: 1.75rem;
  text-align: justify;
}
.sump-intro > p:first-child { margin-top: 0; }
.sump-intro > p:last-child  { margin-bottom: 0; }
 
/* --- Four-body card grid --- */
.sump-bodies-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 10px;
  margin: 1.25rem 0 1.75rem;
}
.sump-body-card {
  background: #fafafa;
  border: 1px solid #e8e8e8;
  border-radius: 8px;
  padding: .9rem 1rem;
}
.sump-body-card__label {
  font-size: var(--dreams-small);
  font-weight: 700;
  color: var(--dreams-primary);
  margin-bottom: .35rem;
}
.sump-body-card__desc {
  font-size: var(--dreams-small);
  line-height: 1.55;
  color: #444;
}
 
/* --- Callout --- */
.dreams-callout {
  font-size: var(--dreams-small);
  border-left: 3px solid var(--dreams-primary);
  background: var(--dreams-tint);
  padding: .75rem 1rem;
  border-radius: 0 6px 6px 0;
  margin: 1.25rem 0;
  line-height: 1.65;
  color: #333;
}
.dreams-callout__label {
  font-size: var(--dreams-small);
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--dreams-primary);
  margin-bottom: .35rem;
}
 
/* --- Outskirts challenge box --- */
.sump-outskirts-box {
  border: 1px solid var(--dreams-border);
  border-radius: 8px;
  overflow: hidden;
  margin: 1.5rem 0;
}
.sump-outskirts-box__head {
  background: var(--dreams-primary);
  color: var(--dreams-text-on);
  padding: .6rem 1rem;
  font-size: var(--dreams-small);
  font-weight: 700;
  letter-spacing: .02em;
}
.sump-outskirts-box__body {
  background: var(--dreams-tint);
  padding: .9rem 1.1rem;
  line-height: 1.65;
  color: #333;
}
 
/* --- Setup sequence --- */
.sump-sequence-wrap {
  margin: 1rem 0 1.5rem;
  counter-reset: seq;
}
.sump-seq-item {
  counter-increment: seq;
  display: grid;
  grid-template-columns: 28px 1fr;
  grid-template-rows: auto auto;
  gap: 0 12px;
  align-items: start;
  margin-bottom: 14px;
  line-height: 1.6;
}
.sump-seq-item::before {
  content: counter(seq);
  width: 24px;
  height: 24px;
  background: var(--dreams-primary);
  color: var(--dreams-text-on);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--dreams-small);
  font-weight: 700;
  flex-shrink: 0;
  margin-top: 3px;
  grid-row: 1 / 3;
}
.sump-seq-label {
  font-weight: 700;
  color: var(--dreams-primary);
  grid-column: 2;
  grid-row: 1;
}
.sump-seq-desc {
  color: #333;
  grid-column: 2;
  grid-row: 2;
  font-size: var(--dreams-small);
}

@media (min-width: 560px) {
  .sump-seq-item {
    grid-template-columns: 28px 10rem 1fr;
    grid-template-rows: auto;
    align-items: baseline;
  }
  .sump-seq-item::before {
    grid-row: 1;
  }
  .sump-seq-label {
    grid-column: 2;
    grid-row: 1;
  }
  .sump-seq-desc {
    grid-column: 3;
    grid-row: 1;
    font-size: inherit;
  }
}
 
/* --- Go deeper / handoff block --- */
.dreams-handoff {
  border: 1px solid var(--dreams-border);
  background: var(--dreams-tint);
  padding: .85rem 1.1rem;
  border-radius: 8px;
  margin: 1.5rem 0;
  line-height: 1.6;
}
.dreams-handoff__label {
  font-size: var(--dreams-small);
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--dreams-primary);
  margin-bottom: .5rem;
}
.dreams-handoff__label::before {
  content: "";
  display: inline-block;
  width: 1.8em;
  height: 1.5em;
  margin-right: .5em;
  vertical-align: -0.4em;
  background-image: url("data:image/svg+xml,%3Csvg%20width=%27100%25%27%20height=%27100%25%27%20viewBox=%2716.0%2068.5%20321.8%20284.0%27%20version=%271.1%27%20xmlns=%27http://www.w3.org/2000/svg%27%20style=%27fill-rule:evenodd%3Bclip-rule:evenodd%3Bstroke-linecap:round%3Bstroke-linejoin:round%3Bstroke-miterlimit:1.5%3B%27%3E%3Cg%20transform=%27matrix(1%2C0%2C0%2C1%2C-456%2C0)%27%3E%3Cg%20id=%27GoDeeper%27%20transform=%27matrix(0.439206%2C0%2C0%2C0.512758%2C287.345%2C-194.848)%27%3E%3Cg%20transform=%27matrix(2.63711%2C0%2C0%2C1.95024%2C-934.506%2C451.584)%27%3E%3Cpath%20d=%27M525.149%2C301.234C534.342%2C289.369%20558.258%2C261.592%20561.188%2C258.189C580.119%2C283.071%20578.089%2C278.713%20594.192%2C303.034C597.195%2C299.54%20597.7%2C300.145%20633.691%2C261.119C651.717%2C283.229%20652.447%2C281.183%20670.291%2C303.889C687.496%2C283.504%20686.303%2C286.932%20706.198%2C265.12C736.504%2C297.015%20738.285%2C302.884%20740.142%2C303.923C743.792%2C305.968%20748.123%2C301.965%20780.452%2C264.301%27%20style=%27fill:none%3Bstroke:%235c4ce4%3Bstroke-width:15.4px%3B%27/%3E%3C/g%3E%3Cg%20transform=%27matrix(2.27684%2C0%2C0%2C1.95024%2C-622.626%2C461.977)%27%3E%3Cpath%20d=%27M601.094%2C162.33C601.094%2C162.33%20570.639%2C221.546%20564.511%2C237.267C563.096%2C240.896%20547.671%2C275.742%20563.658%2C246.965C579.645%2C218.189%20596.698%2C192.077%20596.698%2C192.077L694.217%2C160.103C694.217%2C160.103%20751.516%2C66.111%20761.818%2C44.44C764.382%2C39.047%20761.895%2C31.143%20743.244%2C56.722C724.592%2C82.301%20693.551%2C133.021%20693.551%2C133.021L601.094%2C162.33Z%27%20style=%27fill:%235c4ce4%3Bstroke:%235c4ce4%3Bstroke-width:16.67px%3B%27/%3E%3C/g%3E%3Cg%20transform=%27matrix(2.27684%2C0%2C0%2C1.95024%2C-706.294%2C506.62)%27%3E%3Ccircle%20cx=%27601.196%27%20cy=%27125.693%27%20r=%2714.655%27%20style=%27fill:%235c4ce4%3Bstroke:%235c4ce4%3Bstroke-width:16.67px%3B%27/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
 
/* --- Sources footer --- */
.sump-sources {
  font-size: var(--dreams-small);
  color: #666;
  border-top: 1px solid #e8e8e8;
  margin-top: 2rem;
  padding-top: .85rem;
  line-height: 1.6;
}
 
/* --- Prev / next navigation bar --- */
.sump-step__nav {
  display: flex;
  align-items: center;
  gap: .5rem;
  flex-wrap: wrap;
  font-size: var(--dreams-small);
}
.sump-step__nav--top {
  margin: .5rem 0 1.75rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #e0e0e0;
}
.sump-step__nav--bottom {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #e0e0e0;
}
.sump-step__nav a { color: var(--dreams-primary); }
.sump-step__nav a:hover {
  color: var(--dreams-dark);
  text-decoration: underline;
}
.sump-step__nav-home a {
  font-weight: 700;
  color: #333 !important;
  border: 1px solid #ccc;
  padding: .2rem .75rem;
  border-radius: 6px;
  text-decoration: none !important;
}
.sump-step__nav-home a:hover { background: var(--dreams-tint); }
.sump-step__nav-prev { flex: 1 1 0; min-width: 0; text-align: left; }
.sump-step__nav-next { flex: 1 1 0; min-width: 0; text-align: right; }
.sump-step__nav-home { flex: 0 0 auto; text-align: center; }
/* overview slides into the gap: left on step 1, right on step 12 */
.sump-step__nav--first .sump-step__nav-prev { display: none; }
.sump-step__nav--last  .sump-step__nav-next { display: none; }

/* ── SUMP phase row (horizontal numbered phases, e.g. work-plan arcs) ── */
.sump-phases {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 1.5rem;
  margin: 1.5rem 0 1.75rem;
  counter-reset: phase;
}
.sump-phases__item { counter-increment: phase; }
.sump-phases__item::before {
  content: counter(phase);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.2rem;
  height: 2.2rem;
  margin-bottom: 0.6rem;
  border: 2px solid var(--dreams-primary);
  border-radius: 50%;
  background: var(--dreams-tint);
  color: var(--dreams-primary);
  font-weight: 700;
}
.sump-phases__title { font-weight: 700; color: #1f2328; margin-bottom: 0.25rem; }
.sump-phases__desc { font-size: var(--dreams-small); line-height: 1.6; color: #444; }



/* A. figure tiles */
.dreams-figures { display:flex; flex-wrap:wrap; gap:.75rem; margin:1.25rem 0; }
.dreams-figure { flex:1 1 8rem; border:1px solid #e0e0e0; border-top:3px solid var(--sump-accent,#666); background:#fff; border-radius:6px; padding:.75rem .9rem; }
.dreams-figure__value { font-size:1.6rem; font-weight:700; line-height:1.1; color:var(--sump-accent,#666); }
.dreams-figure__label { font-size:var(--dreams-small); color:#444; margin-top:.25rem; }

/* B. two-pane contrast */
.sump-versus { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin:1.25rem 0; }
.sump-versus__pane { border:1px solid #e0e0e0; border-radius:6px; padding:.85rem 1rem; background:#fafafa; }
.sump-versus__pane--accent { background:var(--sump-tint); border-color:var(--sump-accent,#666); }
.sump-versus__head { font-weight:700; margin-bottom:.35rem; }
@media (max-width:560px){ .sump-versus { grid-template-columns:1fr; } }

.sump-checklist { display:grid; gap:.5rem; margin:1.25rem 0; }
.sump-check { display:grid; grid-template-columns:1.4rem 1fr; gap:.5rem; align-items:start; }
.sump-check__box { width:1.1rem; height:1.1rem; border:2px solid var(--sump-accent,#666); border-radius:3px; margin-top:.15rem; }

/* optional inline continuity marker */
.sump-thread { font-size:var(--dreams-small); font-weight:600; color:var(--sump-accent,#666); }

/* --- Living-lab example box --- */
.dreams-lab {
  border: 1px solid var(--dreams-border);
  border-left: 4px solid var(--dreams-primary);
  background: #fff;
  border-radius: 4px;
  padding: .7rem 1.1rem;
  margin: 1.25rem 0;
  line-height: 1.65;
  color: #333;
}
.dreams-lab__tag {
  font-size: var(--dreams-small);
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--dreams-primary);
  margin-bottom: .25rem;
}

.dreams-impact-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 14px;
	margin: 1em 0 1.5em;
}
@media (min-width: 480px) {
	.dreams-impact-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 780px) {
	.dreams-impact-grid { grid-template-columns: repeat(3, 1fr); }
}
.dreams-impact-card {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 1rem 1.1rem;
	background: #ffffff;
	border: 1px solid #e7e4f7;
	border-radius: 12px;
}
.dreams-impact-head {
	display: flex;
	align-items: center;
	gap: 10px;
}
.dreams-impact-icon {
	flex: none;
	width: 38px;
	height: 38px;
	border-radius: 10px;
	background-color: #f3f1ff;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 24px 24px;
}
.dreams-impact-name {
	font-size: 1.05em;
	font-weight: 600;
	color: #5c4ce4;
}
.dreams-impact-body {
	font-size: 0.95em;
	line-height: 1.6;
	color: #333333;
}
.dreams-impact-body p { margin: 0; }
.dreams-impact-icon--accessibility { background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%235c4ce4'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M12%204a1%201%200%201%200%202%200a1%201%200%201%200%20-2%200'%20/%3E%3Cpath%20d='M7%2021l3%20-4'%20/%3E%3Cpath%20d='M16%2021l-2%20-4l-3%20-3l1%20-6'%20/%3E%3Cpath%20d='M6%2012l2%20-3l4%20-1l3%203l3%201'%20/%3E%3C/svg%3E"); }
.dreams-impact-icon--carbon { background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%235c4ce4'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M5%2021c.5%20-4.5%202.5%20-8%207%20-10'%20/%3E%3Cpath%20d='M9%2018c6.218%200%2010.5%20-3.288%2011%20-12v-2h-4.014c-9%200%20-11.986%204%20-12%209c0%201%200%203%202%205h3l.014%200'%20/%3E%3C/svg%3E"); }
.dreams-impact-icon--liveability { background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%235c4ce4'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M12%2013l-2%20-2'%20/%3E%3Cpath%20d='M12%2012l2%20-2'%20/%3E%3Cpath%20d='M12%2021v-13'%20/%3E%3Cpath%20d='M9.824%2016a3%203%200%200%201%20-2.743%20-3.69a3%203%200%200%201%20.304%20-4.833a3%203%200%200%201%204.615%20-3.707a3%203%200%200%201%204.614%203.707a3%203%200%200%201%20.305%204.833a3%203%200%200%201%20-2.919%203.695h-4l-.176%20-.005'%20/%3E%3C/svg%3E"); }
.dreams-impact-icon--health { background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%235c4ce4'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M3%2012h4l3%208l4%20-16l3%208h4'%20/%3E%3C/svg%3E"); }
.dreams-impact-icon--economic { background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%235c4ce4'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M3%2021l18%200'%20/%3E%3Cpath%20d='M3%207v1a3%203%200%200%200%206%200v-1m0%201a3%203%200%200%200%206%200v-1m0%201a3%203%200%200%200%206%200v-1h-18l2%20-4h14l2%204'%20/%3E%3Cpath%20d='M5%2021l0%20-10.15'%20/%3E%3Cpath%20d='M19%2021l0%20-10.15'%20/%3E%3Cpath%20d='M9%2021v-4a2%202%200%200%201%202%20-2h2a2%202%200%200%201%202%202v4'%20/%3E%3C/svg%3E"); }
.dreams-impact-icon--equity { background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%235c4ce4'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M7%2020l10%200'%20/%3E%3Cpath%20d='M6%206l6%20-1l6%201'%20/%3E%3Cpath%20d='M12%203l0%2017'%20/%3E%3Cpath%20d='M9%2012l-3%20-6l-3%206a3%203%200%200%200%206%200'%20/%3E%3Cpath%20d='M21%2012l-3%20-6l-3%206a3%203%200%200%200%206%200'%20/%3E%3C/svg%3E"); }

/* ── Partner logo bar (main page footer) ── */
.partner-logo-bar {
  margin: 2.5em 0 0;
  padding-top: 2em;
  border-top: 1px solid #e1e4ff;
}

.partner-logo-bar__label {
  font-size: 0.72em;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: #8a8aaa;
  margin-bottom: 1em;
}

.partner-logo-bar__row {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0.5em;
  margin-bottom: 2em;
}

.partner-logo-bar__row--flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5em;
  margin-bottom: 2em;
}

.partner-logo-bar__row--flex .partner-logo-bar__item {
  width: calc(20% - 0.4em);
  min-width: 100px;
}

.partner-logo-bar__item {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 60px;
  padding: 6px 10px;
}

.partner-logo-bar__item a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

.partner-logo-bar__item img {
  max-height: 42px;
  max-width: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  border: none !important;
  background: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.partner-logo-bar__item figure,
.partner-logo-bar__item .thumb,
.partner-logo-bar__item .thumbinner {
  border: none !important;
  background: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

.partner-logo-bar__item .thumbcaption,
.partner-logo-bar__item .magnify { display: none !important; }

.partner-logo-bar__item--narrow img { max-width: 75px; }
.partner-logo-bar__item--boost img  { min-height: 58px; }

.partner-logo-bar__item--text {
  font-size: 0.82em;
  font-weight: 600;
}

.partner-logo-bar__item--text a {
  color: #5c4ce4 !important;
  text-decoration: none !important;
  text-align: center;
}

.partner-logo-bar__item--text a:hover {
  text-decoration: underline !important;
}

.partner-logo-bar__disclaimer {
  margin-top: 0.5em;
  padding-top: 1em;
  border-top: 1px solid #e1e4ff;
  font-size: 0.82em;
  color: #888;
  font-style: italic;
  display: flex;
  align-items: center;
  gap: 0.75em;
}

.partner-logo-bar__disclaimer img {
  max-height: 40px;
  max-width: 130px;
  width: auto;
  height: auto;
  object-fit: contain;
  flex-shrink: 0;
  border: none !important;
  background: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.partner-logo-bar__disclaimer figure,
.partner-logo-bar__disclaimer .thumb,
.partner-logo-bar__disclaimer .thumbinner {
  border: none !important;
  background: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex;
  align-items: center;
}

.partner-logo-bar__disclaimer .thumbcaption,
.partner-logo-bar__disclaimer .magnify { display: none !important; }

@media (max-width: 700px) {
  .partner-logo-bar__row {
    grid-template-columns: repeat(3, 1fr);
  }
  .partner-logo-bar__row--flex .partner-logo-bar__item {
    width: calc(33% - 0.4em);
  }
}