@font-face {
  font-family: "Atlas Serif";
  src: url("assets/e5a4ee6a3d87bb90.woff2") format("woff2");
  font-display: swap;
}

@font-face {
  font-family: "Mulish";
  src: url("assets/1d3c2067fd5abaa5.woff2") format("woff2");
  font-display: swap;
}

@font-face {
  font-family: "Mulish";
  src: url("assets/e821ff87ddf803bc.woff2") format("woff2");
  font-weight: 900;
  font-display: swap;
}

:root {
  --brown: #5c2607;
  --brown-deep: #431a06;
  --brown-raised: #6b2d0b;
  --sienna: #a94c0b;
  --orange: #f28627;
  --sand: #f3c59b;
  --paper: #fbeedd;
  --clay: #b57f54;
  --ink-on-dark: #fbeedd;
  --nav-h: 4.5rem;
  --page-pad: clamp(1.35rem, 5vw, 6rem);
  --ease-out-quint: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  color-scheme: dark;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: auto;
  scroll-padding-top: calc(var(--nav-h) + 1.25rem);
  background: var(--brown-deep);
}

body {
  margin: 0;
  overflow-x: clip;
  background: var(--brown);
  color: var(--ink-on-dark);
  font: 400 1rem/1.55 "Mulish", sans-serif;
}

body::before {
  position: fixed;
  inset: 0;
  z-index: 50;
  pointer-events: none;
  content: "";
  opacity: 0.11;
  background-image:
    repeating-radial-gradient(circle at 11% 17%, rgba(251, 238, 221, 0.12) 0 0.45px, transparent 0.55px 3px),
    repeating-linear-gradient(92deg, transparent 0 7px, rgba(251, 238, 221, 0.025) 8px 9px);
  mix-blend-mode: soft-light;
}

img,
svg {
  display: block;
  max-width: 100%;
}

button,
input {
  font: inherit;
}

button,
a {
  -webkit-tap-highlight-color: transparent;
}

a {
  color: inherit;
  text-underline-offset: 0.28em;
}

button {
  color: inherit;
}

:focus-visible {
  outline: 3px solid var(--orange);
  outline-offset: 4px;
}

.skip-link {
  position: fixed;
  top: 0.75rem;
  left: 0.75rem;
  z-index: 100;
  padding: 0.65rem 0.9rem;
  color: var(--brown);
  background: var(--paper);
  transform: translateY(-180%);
  transition: transform 180ms cubic-bezier(0.16, 1, 0.3, 1);
}

.skip-link:focus {
  transform: translateY(0);
}

.route-progress {
  position: fixed;
  top: var(--nav-h);
  right: 0;
  bottom: 0;
  z-index: 42;
  width: 4px;
  background: rgba(251, 238, 221, 0.12);
  pointer-events: none;
}

.route-progress span {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--orange);
  transform: scaleY(0);
  transform-origin: top;
}

@supports (animation-timeline: scroll()) {
  .route-progress span {
    animation: atlas-progress linear both;
    animation-timeline: scroll(root block);
  }
}

@keyframes atlas-progress {
  to { transform: scaleY(1); }
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 40;
  min-height: var(--nav-h);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.6rem var(--page-pad);
  color: var(--brown);
  background: rgba(251, 238, 221, 0.96);
  border-bottom: 1px solid rgba(92, 38, 7, 0.28);
}

.atlas-home {
  font: 400 clamp(1.15rem, 1.6vw, 1.45rem)/1 "Atlas Serif", serif;
  text-decoration: none;
  white-space: nowrap;
}

.site-header .site-nav {
  display: flex;
  align-items: center;
  gap: clamp(0.9rem, 2.5vw, 2.25rem);
  white-space: nowrap;
}

.site-header .site-nav a,
.index-trigger {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding: 0;
  border: 0;
  color: var(--brown);
  background: transparent;
  font: 900 0.72rem/1 "Mulish", sans-serif;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
}

.site-header .site-nav a::after,
.index-trigger::after {
  align-self: flex-end;
  width: 0;
  height: 2px;
  margin-left: -100%;
  content: "";
  background: var(--orange);
  transition: width 260ms cubic-bezier(0.16, 1, 0.3, 1), margin-left 260ms cubic-bezier(0.16, 1, 0.3, 1);
}

.site-header .site-nav a:hover::after,
.site-header .site-nav a[aria-current="true"]::after,
.index-trigger:hover::after {
  width: 100%;
  margin-left: -100%;
}

.founder-index {
  width: min(100%, 92rem);
  max-width: none;
  height: 100dvh;
  max-height: none;
  margin: 0 0 0 auto;
  padding: clamp(4rem, 8vw, 8rem) var(--page-pad) 3rem;
  color: var(--brown);
  background: var(--paper);
  border: 0;
  transform: translateX(3rem);
  opacity: 0;
  transition:
    transform 280ms var(--ease-out-expo),
    opacity 180ms ease-out,
    display 280ms allow-discrete,
    overlay 280ms allow-discrete;
}

.founder-index[open] {
  transform: translateX(0);
  opacity: 1;
}

@starting-style {
  .founder-index[open] {
    transform: translateX(3rem);
    opacity: 0;
  }
}

.founder-index::backdrop {
  background: rgba(38, 11, 1, 0.74);
  backdrop-filter: blur(3px);
}

.index-close {
  position: absolute;
  top: 1rem;
  right: var(--page-pad);
  min-height: 44px;
  padding: 0;
  color: var(--brown);
  background: transparent;
  border: 0;
  border-bottom: 1px solid currentColor;
  cursor: pointer;
}

.index-heading {
  display: grid;
  grid-template-columns: minmax(9rem, 0.45fr) minmax(18rem, 1.55fr);
  gap: clamp(2rem, 7vw, 8rem);
  align-items: end;
  margin-bottom: 2.5rem;
}

.index-heading p {
  max-width: 17ch;
  margin: 0;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.index-heading h2 {
  max-width: 15ch;
  margin: 0;
  font: 400 clamp(3rem, 6vw, 7.5rem)/0.88 "Atlas Serif", serif;
  letter-spacing: -0.045em;
}

.index-inner > h2 {
  display: none;
}

.index-inner label {
  display: block;
  margin-bottom: 0.65rem;
  font-size: 0.82rem;
  font-weight: 900;
}

.index-inner br {
  display: none;
}

.index-inner input {
  width: min(100%, 48rem);
  min-height: 3.6rem;
  padding: 0.7rem 0;
  color: var(--brown);
  background: transparent;
  border: 0;
  border-bottom: 2px solid rgba(92, 38, 7, 0.48);
  border-radius: 0;
  color-scheme: light;
  font: 400 clamp(1.15rem, 2vw, 1.75rem)/1.2 "Atlas Serif", serif;
}

.index-inner input::placeholder {
  color: rgba(92, 38, 7, 0.66);
}

#results {
  margin: 0.75rem 0 2.25rem;
  color: rgba(92, 38, 7, 0.78);
  font-size: 0.78rem;
}

.index-inner ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 2.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.index-inner li {
  border-top: 1px solid rgba(92, 38, 7, 0.22);
}

.index-inner li[hidden] {
  display: none;
}

.index-inner a {
  display: block;
  min-height: 4.65rem;
  padding: 0.85rem 0;
  text-decoration: none;
  transition: color 160ms ease-out, transform 160ms ease-out;
}

.index-inner a:hover {
  color: var(--sienna);
}

@media (hover: hover) and (pointer: fine) {
  .index-inner a:hover {
    transform: translateX(0.25rem);
  }
}

.index-inner a span {
  display: block;
  font: 400 1.12rem/1.1 "Atlas Serif", serif;
}

.index-inner a small {
  display: block;
  margin-top: 0.35rem;
  color: rgba(92, 38, 7, 0.72);
  font-size: 0.68rem;
}

.cover {
  position: relative;
  isolation: isolate;
  min-height: calc(100dvh - var(--nav-h));
  overflow: hidden;
  background: var(--brown);
  contain: layout paint style;
}

.cover-fibre {
  position: absolute;
  inset: 0;
  z-index: -3;
  opacity: 0.28;
  background:
    repeating-linear-gradient(88deg, transparent 0 6px, rgba(251, 238, 221, 0.08) 7px, transparent 9px),
    repeating-linear-gradient(2deg, transparent 0 5px, rgba(30, 8, 0, 0.2) 6px, transparent 8px);
  mix-blend-mode: soft-light;
}

.cover-currents {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.current-field {
  fill: none;
  stroke: rgba(251, 238, 221, 0.19);
  stroke-width: 0.34;
}

.founder-route {
  fill: none;
  stroke: var(--orange);
  stroke-width: 1.55;
  stroke-linecap: round;
}

.cover-shoreline {
  fill: none;
  stroke: rgba(251, 238, 221, 0.28);
  stroke-width: 0.75;
}

.cover-pharos {
  fill: var(--orange);
}

/* Motion grammar: routes draw, maps assemble, editorial plates uncover. */
.has-js.motion-ready .cover .current-field {
  opacity: 0;
  animation: cover-field-in 760ms var(--ease-out-quint) 60ms forwards;
}

.has-js.motion-ready .cover .founder-route {
  clip-path: inset(0 0 100% 0);
  animation: cover-route-in 900ms var(--ease-out-quint) 80ms forwards;
}

.has-js.motion-ready .cover .cover-pharos {
  opacity: 0;
  transform: scale(0.72);
  transform-box: fill-box;
  transform-origin: center;
  animation: cover-pharos-in 220ms var(--ease-out-quint) 820ms forwards;
}

.has-js.motion-ready .cover-place,
.has-js.motion-ready .cover-title > p:first-child,
.has-js.motion-ready .cover-deck {
  opacity: 0;
  transform: translateY(8px);
  animation: cover-copy-in 420ms var(--ease-out-expo) forwards;
}

.has-js.motion-ready .cover-place { animation-delay: 60ms; }
.has-js.motion-ready .cover-title > p:first-child { animation-delay: 100ms; }
.has-js.motion-ready .cover-deck { animation-delay: 360ms; }

@keyframes cover-field-in { to { opacity: 1; } }
@keyframes cover-route-in { to { clip-path: inset(0); } }
@keyframes cover-pharos-in { to { opacity: 1; transform: scale(1); } }
@keyframes cover-copy-in { to { opacity: 1; transform: translateY(0); } }

.cover-place {
  position: absolute;
  top: clamp(2rem, 6vh, 5rem);
  left: var(--page-pad);
  margin: 0;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.cover-title {
  position: absolute;
  left: var(--page-pad);
  bottom: clamp(3rem, 8vh, 6rem);
  z-index: 2;
}

.cover-title > p:first-child {
  margin: 0 0 0.6rem;
  font-size: clamp(0.78rem, 1.1vw, 1rem);
  font-weight: 900;
  letter-spacing: 0.32em;
  text-transform: uppercase;
}

.cover h1 {
  margin: 0;
  font: 400 clamp(7rem, 20vw, 20rem)/0.72 "Atlas Serif", serif;
  letter-spacing: -0.075em;
  text-transform: uppercase;
}

.cover-deck {
  max-width: 28rem;
  margin: clamp(2rem, 5vh, 4rem) 0 0;
  font: 400 clamp(1rem, 1.65vw, 1.35rem)/1.35 "Atlas Serif", serif;
}

.opening {
  min-height: 100dvh;
  display: grid;
  grid-template-columns: minmax(12rem, 0.7fr) minmax(20rem, 1.3fr);
  gap: clamp(3rem, 8vw, 10rem);
  align-items: center;
  padding: clamp(6rem, 10vw, 11rem) var(--page-pad);
  background: var(--brown-deep);
  contain: layout paint style;
}

.opening-mark {
  position: relative;
  max-width: 38rem;
  justify-self: center;
  width: 100%;
}

.opening-mark svg {
  width: 100%;
  overflow: visible;
}

.opening-mark .harbour-water {
  stroke: rgba(251, 238, 221, 0.58);
}

.opening-mark .harbour-shore {
  stroke: rgba(251, 238, 221, 0.28);
}

.opening-mark .harbour-grid {
  stroke: rgba(251, 238, 221, 0.18);
}

.has-js.motion-ready .opening-mark svg {
  opacity: 0.18;
  clip-path: inset(0 0 100% 0);
  transform: translateY(12px);
  transition:
    opacity 620ms var(--ease-out-quint),
    clip-path 700ms var(--ease-out-expo),
    transform 620ms var(--ease-out-quint);
}

.has-js.motion-ready .opening-mark.is-present svg {
  opacity: 1;
  clip-path: inset(0);
  transform: translateY(0);
}

.has-js.motion-ready .opening-mark .harbour-label,
.has-js.motion-ready .opening-mark .harbour-note {
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 320ms var(--ease-out-quint), transform 320ms var(--ease-out-quint);
}

.has-js.motion-ready .opening-mark.is-present .harbour-label,
.has-js.motion-ready .opening-mark.is-present .harbour-note {
  opacity: 1;
  transform: translateY(0);
}

.has-js.motion-ready .opening-mark.is-present .harbour-label-west { transition-delay: 280ms; }
.has-js.motion-ready .opening-mark.is-present .harbour-label-east { transition-delay: 330ms; }
.has-js.motion-ready .opening-mark.is-present .harbour-label-axis { transition-delay: 380ms; }
.has-js.motion-ready .opening-mark.is-present .harbour-note { transition-delay: 430ms; }

.harbour-label {
  position: absolute;
  color: rgba(251, 238, 221, 0.68);
  font-size: 0.6rem;
  font-weight: 900;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.harbour-label-west { left: 2%; bottom: 36%; }
.harbour-label-east { right: 0; bottom: 36%; }
.harbour-label-axis {
  left: 53%;
  top: 5%;
  writing-mode: vertical-rl;
}

.harbour-note {
  position: absolute;
  right: 0;
  bottom: 3%;
  color: rgba(251, 238, 221, 0.72);
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.opening-copy {
  position: relative;
  max-width: 49rem;
}

.opening-number {
  margin: 0 0 0.05em -0.08em;
  color: var(--orange);
  font: 400 clamp(7rem, 15vw, 14rem)/0.75 "Atlas Serif", serif;
  letter-spacing: -0.06em;
}

.opening h2 {
  max-width: 12ch;
  margin: 0 0 2rem;
  font: 400 clamp(2.8rem, 5.7vw, 6.5rem)/0.95 "Atlas Serif", serif;
  letter-spacing: -0.045em;
}

.opening-copy > p:not(.opening-number) {
  max-width: 58ch;
  margin: 0;
  color: rgba(251, 238, 221, 0.82);
  font-size: clamp(1rem, 1.4vw, 1.18rem);
}

.opening-index {
  min-height: 48px;
  margin-top: 2.25rem;
  padding: 0.25rem 0;
  color: var(--paper);
  background: transparent;
  border: 0;
  border-bottom: 2px solid var(--orange);
  cursor: pointer;
  transition: color 180ms ease-out;
}

.opening-index:hover {
  color: var(--orange);
}

.opening-partners {
  width: min(100%, 36rem);
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: clamp(1.25rem, 3vw, 3rem);
  align-items: center;
  margin-top: clamp(3rem, 7vh, 5rem);
  padding: 1rem clamp(1rem, 2vw, 1.75rem);
  background: var(--paper);
}

.opening-partners img {
  width: 100%;
  height: 3.25rem;
  object-fit: contain;
}

.atlas-chapter {
  position: relative;
  isolation: isolate;
  min-height: 100dvh;
  display: grid;
  grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.3fr);
  grid-template-rows: 1fr auto;
  gap: 1.5rem clamp(2rem, 8vw, 10rem);
  align-items: end;
  overflow: hidden;
  padding: clamp(5rem, 9vw, 9rem) var(--page-pad);
  background: var(--brown);
  contain: layout paint style;
}

.atlas-chapter:nth-of-type(4) {
  background: var(--brown-deep);
}

.chapter-kicker {
  align-self: start;
  margin: 0;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.atlas-chapter h2 {
  grid-column: 1;
  margin: 0;
  max-width: 11ch;
  font: 400 clamp(4.6rem, 10vw, 11rem)/0.78 "Atlas Serif", serif;
  letter-spacing: -0.06em;
}

.chapter-copy {
  grid-column: 1;
  max-width: 38ch;
  margin: 1.5rem 0 0;
  color: var(--paper);
  font: 400 clamp(1.1rem, 1.8vw, 1.5rem)/1.45 "Atlas Serif", serif;
}

.chapter-count {
  position: absolute;
  right: var(--page-pad);
  bottom: clamp(2rem, 5vw, 5rem);
  z-index: 2;
  color: var(--orange);
  font: 400 clamp(8rem, 20vw, 22rem)/0.65 "Atlas Serif", serif;
  letter-spacing: -0.07em;
}

.harbour-plate {
  position: absolute;
  right: -6%;
  top: 8%;
  z-index: -1;
  width: min(78vw, 78rem);
  height: 78%;
  opacity: 0.62;
}

.has-js.motion-ready .atlas-chapter .harbour-plate,
.has-js.motion-ready .atlas-chapter h2,
.has-js.motion-ready .atlas-chapter .chapter-count {
  opacity: 0;
  transform: translateY(14px);
  transition: opacity 560ms var(--ease-out-quint), transform 560ms var(--ease-out-quint);
}

.has-js.motion-ready .atlas-chapter.is-present .harbour-plate,
.has-js.motion-ready .atlas-chapter.is-present h2,
.has-js.motion-ready .atlas-chapter.is-present .chapter-count {
  opacity: 1;
  transform: translateY(0);
}

.has-js.motion-ready .atlas-chapter.is-present h2 { transition-delay: 70ms; }
.has-js.motion-ready .atlas-chapter.is-present .chapter-count { transition-delay: 150ms; }

.harbour-grid {
  fill: none;
  stroke: rgba(251, 238, 221, 0.3);
  stroke-width: 0.55;
}

.harbour-water {
  stroke: rgba(251, 238, 221, 0.52);
  stroke-width: 1.1;
}

.harbour-shore {
  stroke: rgba(251, 238, 221, 0.34);
  stroke-width: 0.55;
}

.harbour-axis {
  stroke: var(--orange);
  stroke-width: 1.35;
}

.harbour-pharos {
  fill: var(--orange);
}

.founder-sequence {
  position: relative;
  content-visibility: auto;
}

.has-js .founder-sequence:not([data-rendered="true"]) {
  content-visibility: hidden;
}

.founder-sequence[aria-label="MENA founders"] {
  contain-intrinsic-size: auto 12000px;
}

.founder-sequence[aria-label="Sub-Saharan Africa founders"] {
  contain-intrinsic-size: auto 24000px;
}

.founder-sequence::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: clamp(1.6rem, 4vw, 4.5rem);
  width: 1px;
  content: "";
  background: rgba(242, 134, 39, 0.55);
}

.atlas-entry {
  --entry-bg: var(--brown);
  --entry-accent: var(--sand);
  position: relative;
  min-height: 100dvh;
  display: grid;
  grid-template-rows: auto 1fr;
  align-content: center;
  padding: clamp(6rem, 9vw, 10rem) var(--page-pad) clamp(6rem, 8vw, 9rem);
  overflow: hidden;
  background: var(--entry-bg);
  border-bottom: 1px solid rgba(251, 238, 221, 0.13);
  scroll-margin-top: 0;
  content-visibility: auto;
  contain-intrinsic-size: auto 1000px;
}

.atlas-entry:nth-child(4n + 2) { --entry-bg: #652909; }
.atlas-entry:nth-child(4n + 3) { --entry-bg: #4d1e06; }
.atlas-entry:nth-child(4n + 4) { --entry-bg: #73310d; }

.atlas-entry::before {
  position: absolute;
  left: clamp(1.25rem, 3.2vw, 3.75rem);
  top: 50%;
  z-index: 3;
  width: clamp(0.7rem, 1vw, 0.95rem);
  aspect-ratio: 1;
  content: "";
  background: var(--orange);
  border: 3px solid var(--entry-bg);
  transform: translateY(-50%) rotate(45deg);
}

.has-js.motion-ready .atlas-entry::before {
  opacity: 0;
  transform: translateY(-50%) rotate(45deg) scale(0.65);
  transition: opacity 280ms var(--ease-out-quint), transform 280ms var(--ease-out-quint);
}

.has-js.motion-ready .atlas-entry.is-present::before {
  opacity: 1;
  transform: translateY(-50%) rotate(45deg) scale(1);
  transition-delay: 120ms;
}

.atlas-entry > header {
  position: relative;
  z-index: 5;
  display: grid;
  grid-template-columns: 5.5rem minmax(0, 1fr) minmax(9rem, 14rem);
  gap: clamp(1rem, 2.2vw, 2.5rem);
  align-items: start;
  margin: 0 0 clamp(2rem, 5vw, 4.5rem);
}

.entry-number {
  color: var(--orange);
  font: 400 clamp(3rem, 5vw, 5.5rem)/0.8 "Atlas Serif", serif;
}

.atlas-entry header .eyebrow {
  margin: 0 0 0.65rem;
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.atlas-entry > header h2 {
  max-width: 18ch;
  margin: 0;
  font: 400 clamp(2.7rem, 5vw, 6.4rem)/0.9 "Atlas Serif", serif;
  letter-spacing: -0.045em;
  overflow-wrap: anywhere;
}

.atlas-entry > header .logo,
.identity-page > .logo {
  width: 100%;
  height: clamp(5.2rem, 8vw, 7.75rem);
  padding: 0;
  object-fit: contain;
  background: transparent;
  border: 0;
}

.editorial-pair {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(20rem, 0.94fr);
  grid-template-areas: "identity story";
  gap: clamp(3rem, 8vw, 9rem);
  align-items: center;
}

.identity-page {
  grid-area: identity;
  position: relative;
  min-width: 0;
}

.work-story {
  grid-area: story;
  min-width: 0;
}

.illustration-window {
  position: relative;
  width: min(100%, 36rem);
  overflow: hidden;
  background: var(--sand);
  border: 1px solid rgba(251, 238, 221, 0.28);
  box-shadow: 1.6rem 1.6rem 0 rgba(67, 26, 6, 0.34);
}

.has-js.motion-ready .atlas-entry .illustration-window {
  opacity: 0.82;
  clip-path: inset(0 5% 0 0);
  transform: translateX(-14px);
  transition:
    opacity 580ms var(--ease-out-expo),
    clip-path 640ms var(--ease-out-expo),
    transform 580ms var(--ease-out-expo);
}

.has-js.motion-ready .atlas-entry.composition-2 .illustration-window,
.has-js.motion-ready .atlas-entry.composition-4 .illustration-window,
.has-js.motion-ready .atlas-entry.composition-5 .illustration-window {
  clip-path: inset(0 0 0 5%);
  transform: translateX(14px);
}

.has-js.motion-ready .atlas-entry.is-present .illustration-window {
  opacity: 1;
  clip-path: inset(0);
  transform: translateX(0);
}

.illustration-window::after {
  position: absolute;
  inset: 0;
  z-index: 2;
  content: "";
  pointer-events: none;
  border: clamp(0.55rem, 1.2vw, 1rem) solid var(--entry-bg);
  border-top-width: 0;
  border-bottom-width: 0;
  opacity: 0.28;
}

.illustration-window img {
  display: block;
  max-width: none;
  height: auto;
}

.identity-page h3 {
  position: relative;
  z-index: 4;
  width: fit-content;
  max-width: 12ch;
  margin: clamp(-2.8rem, -4vw, -1.8rem) 0 0 clamp(1rem, 4vw, 4rem);
  padding: 0.22em 0.36em 0.28em;
  color: var(--brown);
  background: var(--paper);
  font: 400 clamp(2.8rem, 5.2vw, 6.3rem)/0.88 "Atlas Serif", serif;
  letter-spacing: -0.045em;
  overflow-wrap: anywhere;
}

.identity-page h3.long-founder {
  font-size: clamp(2.35rem, 4.2vw, 5rem);
}

.identity-page > p {
  margin: 1rem 0 0 clamp(1rem, 4vw, 4rem);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.identity-page > .logo + h3 {
  margin-top: 2rem;
  margin-left: 0;
}

.identity-page > .logo + h3 + p {
  margin-left: 0;
}

.no-portrait .identity-page {
  min-height: 31rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  padding: clamp(2rem, 5vw, 5rem);
  border: 1px solid rgba(251, 238, 221, 0.24);
  background:
    radial-gradient(circle at 74% 40%, transparent 0 18%, rgba(251, 238, 221, 0.17) 18.2% 18.45%, transparent 18.7% 28%, rgba(242, 134, 39, 0.82) 28.2% 28.65%, transparent 28.9%),
    linear-gradient(90deg, transparent 49.85%, rgba(251, 238, 221, 0.14) 50%, transparent 50.15%),
    linear-gradient(0deg, transparent 49.85%, rgba(251, 238, 221, 0.14) 50%, transparent 50.15%);
}

.no-portrait .identity-page::after {
  position: absolute;
  right: -10%;
  bottom: -22%;
  width: 74%;
  aspect-ratio: 1;
  content: "";
  border: 1px solid rgba(251, 238, 221, 0.13);
  border-radius: 50%;
}

.no-portrait .identity-page > .logo {
  display: none;
}

.no-portrait .identity-page h3,
.no-portrait.composition-2 .identity-page h3,
.no-portrait.composition-5 .identity-page h3 {
  margin: 0;
  text-align: left;
}

.no-portrait .identity-page > p,
.no-portrait.composition-2 .identity-page > p,
.no-portrait.composition-5 .identity-page > p {
  position: relative;
  z-index: 2;
  margin: 1rem 0 0;
  text-align: left;
}

.copy > p {
  max-width: 38ch;
  margin: 0;
  color: var(--paper);
  font: 400 clamp(1.7rem, 3vw, 3.35rem)/1.18 "Atlas Serif", serif;
  letter-spacing: -0.02em;
}

.has-js.motion-ready .atlas-entry .copy > p:first-child {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 480ms var(--ease-out-quint), transform 480ms var(--ease-out-quint);
}

.has-js.motion-ready .atlas-entry.is-present .copy > p:first-child {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 100ms;
}

.has-js.motion-ready .founder-index .index-heading,
.has-js.motion-ready .founder-index .index-inner {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 240ms var(--ease-out-quint), transform 280ms var(--ease-out-quint);
}

.has-js.motion-ready .founder-index[open] .index-heading,
.has-js.motion-ready .founder-index[open] .index-inner {
  opacity: 1;
  transform: translateY(0);
}

.has-js.motion-ready .founder-index[open] .index-inner { transition-delay: 45ms; }

.index-trigger,
.index-close,
.opening-index {
  transition: color 180ms ease-out, transform 140ms var(--ease-out-quint);
}

.index-trigger:active,
.index-close:active,
.opening-index:active {
  transform: scale(0.97);
}

.copy > p + p {
  max-width: 52ch;
  margin: 1.5rem 0 0 clamp(1rem, 5vw, 5rem);
  color: rgba(251, 238, 221, 0.78);
  font: 400 clamp(0.95rem, 1.3vw, 1.08rem)/1.65 "Mulish", sans-serif;
  letter-spacing: 0;
}

.photo-sequence {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  align-items: start;
  margin-top: clamp(2rem, 4vw, 3.5rem);
}

.photo-sequence figure {
  margin: 0;
}

.company-image {
  width: 100%;
  max-height: 24rem;
  object-fit: contain;
  object-position: left top;
  background: rgba(251, 238, 221, 0.06);
}

.photo-sequence figcaption {
  margin-top: 0.65rem;
  color: rgba(251, 238, 221, 0.7);
  font-size: 0.72rem;
  line-height: 1.35;
}

.links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.5rem;
  margin-top: 1.75rem;
  font-size: 0.78rem;
  overflow-wrap: anywhere;
}

.links:empty {
  display: none;
}

.links a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  color: var(--sand);
  text-decoration-color: var(--orange);
}

.tone-light .links a {
  color: var(--brown-deep);
}

.tone-dark .links a {
  color: var(--sand);
}

.links a[data-pitch] {
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* Six compositions preserve coffee-table pacing instead of repeating one directory card. */
.composition-2 .editorial-pair,
.composition-5 .editorial-pair {
  grid-template-columns: minmax(20rem, 0.9fr) minmax(0, 1.1fr);
  grid-template-areas: "story identity";
}

.composition-2 .illustration-window,
.composition-5 .illustration-window {
  margin-left: auto;
}

.composition-2 .identity-page h3,
.composition-5 .identity-page h3 {
  margin-left: auto;
  margin-right: clamp(1rem, 4vw, 4rem);
  text-align: right;
}

.composition-2 .identity-page > p,
.composition-5 .identity-page > p {
  margin-left: 0;
  margin-right: clamp(1rem, 4vw, 4rem);
  text-align: right;
}

.composition-3 > header h2 {
  max-width: 12ch;
  font-size: clamp(3.5rem, 7.2vw, 8.5rem);
}

.composition-3 .editorial-pair {
  grid-template-columns: minmax(0, 0.86fr) minmax(20rem, 1.14fr);
  align-items: end;
}

.composition-3 .work-story {
  padding-bottom: 4vw;
}

.composition-4 > header {
  grid-template-columns: 4.2rem minmax(0, 0.78fr) minmax(8rem, 0.22fr);
  margin-left: clamp(0rem, 8vw, 9rem);
}

.composition-4 .editorial-pair {
  grid-template-columns: minmax(20rem, 0.82fr) minmax(0, 1.18fr);
  grid-template-areas: "story identity";
  align-items: start;
}

.composition-4 .work-story {
  padding-top: clamp(1rem, 8vw, 8rem);
}

.composition-4 .copy > p {
  font-size: clamp(2rem, 3.7vw, 4.3rem);
}

.composition-5 .identity-page {
  transform: translateY(clamp(-3rem, -4vw, -1rem));
}

.composition-5 .work-story {
  align-self: end;
}

.composition-6 > header {
  grid-template-columns: 5.5rem minmax(0, 1.3fr) minmax(9rem, 0.7fr);
}

.composition-6 .editorial-pair {
  grid-template-columns: minmax(0, 1.3fr) minmax(20rem, 0.7fr);
}

.composition-6 .illustration-window {
  width: min(100%, 42rem);
}

.composition-6 .copy > p {
  font-size: clamp(1.5rem, 2.5vw, 2.65rem);
}

.active-founder {
  position: fixed;
  right: 1.25rem;
  bottom: 1.25rem;
  z-index: 35;
  width: min(19rem, calc(100vw - 2.5rem));
  display: none;
  grid-template-columns: auto 1fr;
  gap: 0.85rem;
  align-items: baseline;
  padding: 0.78rem 1rem;
  color: var(--brown);
  background: var(--paper);
  border: 1px solid rgba(92, 38, 7, 0.22);
}

.active-founder[data-visible="true"] {
  display: grid;
}

.active-founder span {
  color: var(--sienna);
  font-size: 0.65rem;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.active-founder strong {
  font: 400 1rem/1.1 "Atlas Serif", serif;
}

.site-footer {
  min-height: 45dvh;
  display: grid;
  grid-template-columns: 1fr minmax(16rem, 30rem);
  gap: 3rem;
  align-items: end;
  padding: clamp(5rem, 9vw, 10rem) var(--page-pad) clamp(3rem, 6vw, 6rem);
  background: var(--brown-deep);
  contain: layout paint style;
}

.site-footer p {
  margin: 0;
}

.site-footer p:first-child {
  font: 400 clamp(3rem, 7vw, 8rem)/0.9 "Atlas Serif", serif;
}

.site-footer p:last-child {
  margin-top: 1rem;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.site-footer img {
  width: 100%;
  padding: 1.2rem;
  background: var(--paper);
}

@media (max-width: 64rem) {
  .index-inner ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .atlas-entry > header {
    grid-template-columns: 4rem minmax(0, 1fr) minmax(7rem, 11rem);
  }

  .editorial-pair,
  .composition-2 .editorial-pair,
  .composition-4 .editorial-pair,
  .composition-5 .editorial-pair,
  .composition-6 .editorial-pair {
    gap: clamp(2rem, 5vw, 4rem);
  }
}

@media (max-width: 47.999rem) {
  :root {
    --nav-h: 4rem;
    --page-pad: 1.25rem;
  }

  .site-header {
    min-height: var(--nav-h);
  }

  .site-header .site-nav {
    gap: 1rem;
  }

  .site-header .site-nav a {
    display: none;
  }

  .site-header .site-nav .index-trigger {
    display: inline-flex;
  }

  .founder-index {
    width: 100%;
    padding-top: 5.5rem;
  }

  .index-heading {
    display: block;
  }

  .index-heading p {
    margin-bottom: 1.25rem;
  }

  .index-heading h2 {
    font-size: clamp(2.9rem, 15vw, 4.5rem);
  }

  .index-inner ul {
    grid-template-columns: minmax(0, 1fr);
  }

  .cover {
    min-height: calc(100dvh - var(--nav-h));
  }

  .cover-currents { left: -34%; width: 168%; }

  .cover-place {
    top: 2.2rem;
  }

  .cover-title {
    bottom: 3.25rem;
  }

  .cover h1 {
    font-size: clamp(6rem, 35vw, 9rem);
    line-height: 0.72;
  }

  .cover-deck {
    max-width: 15rem;
    margin-top: 1.8rem;
    font-size: 1rem;
  }

  .has-js.motion-ready .atlas-entry .illustration-window,
  .has-js.motion-ready .atlas-entry.composition-2 .illustration-window,
  .has-js.motion-ready .atlas-entry.composition-4 .illustration-window,
  .has-js.motion-ready .atlas-entry.composition-5 .illustration-window {
    clip-path: inset(0 0 3% 0);
    transform: translateY(6px);
  }

  .has-js.motion-ready .atlas-entry.is-present .illustration-window {
    clip-path: inset(0);
    transform: translateY(0);
  }

  .opening {
    min-height: auto;
    grid-template-columns: minmax(0, 1fr);
    gap: 5rem;
    padding-block: 6rem;
  }

  .opening-mark {
    width: calc(100% + 1.5rem);
    margin-left: -0.75rem;
  }

  .opening-number {
    font-size: 8rem;
    margin-bottom: 0.12em;
  }

  .opening h2 {
    font-size: clamp(3rem, 14vw, 4.8rem);
  }

  .atlas-chapter {
    min-height: 75dvh;
    display: block;
    padding-block: 5rem;
  }

  .atlas-chapter h2 {
    margin-top: 4rem;
    font-size: clamp(4rem, 20vw, 7rem);
  }

  .chapter-copy {
    max-width: 22ch;
  }

  .chapter-count {
    right: 1rem;
    bottom: 1.25rem;
    font-size: 9rem;
  }

  .harbour-plate {
    right: -55%;
    top: 12%;
    width: 145vw;
    height: 70%;
  }

  .founder-sequence::before {
    left: 0.95rem;
  }

  .atlas-entry {
    min-height: auto;
    display: block;
    padding: 4rem 1.25rem 6.5rem 2rem;
  }

  .atlas-entry::before {
    left: 0.55rem;
  }

  .atlas-entry > header,
  .composition-4 > header,
  .composition-6 > header {
    grid-template-columns: 2.6rem minmax(0, 1fr);
    gap: 0.85rem;
    margin-left: 0;
    margin-bottom: 2.5rem;
  }

  .entry-number {
    font-size: 2.6rem;
  }

  .atlas-entry > header h2,
  .composition-3 > header h2 {
    max-width: 100%;
    font-size: clamp(2.8rem, 13vw, 4.6rem);
  }

  .atlas-entry > header .logo {
    grid-column: 2;
    width: min(12rem, 100%);
    height: 5.5rem;
    margin-top: 1rem;
  }

  .editorial-pair,
  .composition-2 .editorial-pair,
  .composition-4 .editorial-pair,
  .composition-5 .editorial-pair,
  .composition-6 .editorial-pair {
    display: flex;
    flex-direction: column;
    gap: 3.5rem;
  }

  .composition-2 .work-story,
  .composition-4 .work-story,
  .composition-5 .work-story {
    order: 2;
  }

  .composition-2 .identity-page,
  .composition-4 .identity-page,
  .composition-5 .identity-page {
    order: 1;
  }

  .composition-2 .illustration-window,
  .composition-5 .illustration-window {
    margin-left: 0;
  }

  .composition-2 .identity-page h3,
  .composition-5 .identity-page h3 {
    margin-left: 0.75rem;
    margin-right: 0;
    text-align: left;
  }

  .composition-2 .identity-page > p,
  .composition-5 .identity-page > p {
    margin-left: 0.75rem;
    margin-right: 0;
    text-align: left;
  }

  .composition-4 .work-story,
  .composition-5 .identity-page {
    padding-top: 0;
    transform: none;
  }

  .illustration-window {
    width: calc(100% + 1rem);
    margin-left: -0.75rem;
    box-shadow: 0.75rem 0.75rem 0 rgba(67, 26, 6, 0.36);
  }

  .identity-page h3,
  .identity-page h3.long-founder {
    max-width: 11ch;
    margin: -1.25rem 0 0 0.75rem;
    font-size: clamp(2.7rem, 13vw, 4.1rem);
  }

  .identity-page > p {
    margin-left: 0.75rem;
  }

  .no-portrait .identity-page {
    min-height: 22rem;
    padding: 2rem;
  }

  .no-portrait .identity-page h3,
  .no-portrait .identity-page h3.long-founder {
    margin: 0;
  }

  .no-portrait .identity-page > p {
    margin-left: 0;
  }

  .copy > p,
  .composition-4 .copy > p,
  .composition-6 .copy > p {
    max-width: 100%;
    font-size: clamp(1.7rem, 8vw, 2.55rem);
  }

  .copy > p + p {
    margin-left: 0;
  }

  .photo-sequence {
    grid-template-columns: minmax(0, 1fr);
  }

  .company-image {
    max-height: 28rem;
  }

  .active-founder {
    display: none !important;
  }

  .site-footer {
    min-height: 60dvh;
    grid-template-columns: minmax(0, 1fr);
    align-content: end;
  }
}

@media (max-width: 22rem) {
  .atlas-home {
    font-size: 1rem;
  }

  .index-trigger {
    font-size: 0.65rem;
  }

  .cover h1 {
    font-size: 5.5rem;
  }

  .cover-title {
    bottom: 3rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  .route-progress span {
    display: none;
  }

  .cover .current-field,
  .cover .founder-route,
  .cover .cover-pharos,
  .cover-place,
  .cover-title > p:first-child,
  .cover h1,
  .cover-deck,
  .opening-mark svg,
  .opening-mark .harbour-label,
  .opening-mark .harbour-note,
  .atlas-chapter .harbour-plate,
  .atlas-chapter h2,
  .atlas-chapter .chapter-count,
  .atlas-entry::before,
  .atlas-entry .illustration-window,
  .atlas-entry .copy > p:first-child,
  .founder-index .index-heading,
  .founder-index .index-inner {
    opacity: 1 !important;
    clip-path: none !important;
    transform: none !important;
    stroke-dashoffset: 0 !important;
  }

}

@media (forced-colors: active) {
  .site-header,
  .opening-partners,
  .active-founder,
  .atlas-entry > header .logo,
  .identity-page > .logo,
  .identity-page h3 {
    border: 1px solid CanvasText;
  }
}


/* V6 cross-format editorial system */
:root{--brown:#5C2607;--brown-deep:#3E1A06;--orange:#C6601C;--sand:#E4DACA;--paper:#F7EFE3;--ink-on-dark:#F7EFE3;color-scheme:light}
body{background:var(--paper);color:var(--brown-deep)}body::before,.cover-fibre{display:none!important}.site-header{width:100%;background:#F7EFE3;color:#3E1A06;border-bottom:1px solid rgba(62,26,6,.2)}
.cover{background:#5C2607;color:#F7EFE3!important}.cover-place{letter-spacing:.12em;color:#F7EFE3!important}.cover-title{background:#5C2607;color:#F7EFE3!important;padding-right:1rem}.cover-title h1{font-size:clamp(7rem,20vw,17rem);color:#F7EFE3!important}.cover-deck{color:#F7EFE3!important}
.opening{background:#F7EFE3;color:#3E1A06}.opening-mark{opacity:.9}.opening-copy>p{max-width:42rem}.opening-partners img{background:transparent;padding:0;object-fit:contain}
.atlas-chapter{background:#5C2607;color:#F7EFE3}.atlas-chapter .chapter-count{color:#F28627}.chapter-kicker{display:none}.chapter-copy{max-width:34rem}.harbour-plate{opacity:.16}
.atlas-entry{position:relative;min-height:100svh;padding:clamp(7rem,10vw,9rem) var(--page-pad) clamp(4rem,7vw,7rem);background:#F7EFE3;color:#3E1A06;overflow:hidden}
.atlas-entry.tone-dark{background:#5C2607;color:#F7EFE3}.atlas-entry::before{display:none!important}
.entry-route{position:absolute;left:43%;top:6.5rem;bottom:3.2rem;width:2px;background:rgba(198,96,28,.48);z-index:0}.entry-route:before,.entry-route:after{content:"";position:absolute;left:50%;width:10px;height:10px;border:2px solid #C6601C;border-radius:50%;transform:translateX(-50%);background:inherit}.entry-route:before{top:0}.entry-route:after{bottom:0}.entry-route i{position:absolute;left:50%;width:16px;height:16px;border-radius:50%;background:#C6601C;transform:translate(-50%,-50%)}
.atlas-entry>header{position:relative;z-index:2;display:grid!important;grid-template-columns:4rem minmax(0,1fr) minmax(11rem,16rem)!important;gap:1.25rem;align-items:center;margin:0 0 clamp(2.5rem,5vw,4.5rem)!important;padding:0!important;border:0!important;background:transparent!important}
.atlas-entry>header .entry-number{font:900 .8rem/1 Mulish,sans-serif;color:#C6601C}.atlas-entry>header h2{font:400 clamp(2rem,4vw,4.2rem)/.95 "Atlas Serif",serif;letter-spacing:-.035em;margin:.3rem 0 0}.atlas-entry>header .logo{justify-self:end;width:min(100%,16rem)!important;height:7rem!important;padding:0!important;background:transparent!important;border:0!important;object-fit:contain;mix-blend-mode:normal!important;transform:none!important;filter:drop-shadow(0 1px 0 rgba(247,239,227,.25))}
.editorial-pair{position:relative;z-index:1;display:grid!important;grid-template-columns:43% 57%!important;gap:0!important;align-items:start!important;max-width:96rem;margin:0 auto!important}.identity-page{position:relative!important;min-height:36rem!important;padding:0 4rem 0 0!important;background:transparent!important;display:flex!important;align-items:flex-start!important;justify-content:flex-start!important}.identity-page .illustration-window{width:min(100%,34rem)!important;max-width:34rem!important;margin:0!important;aspect-ratio:auto!important;border:0!important;box-shadow:none!important;transform:none!important;background:transparent!important;overflow:visible!important}.identity-page .illustration-window img{position:relative!important;inset:auto!important;width:100%!important;height:auto!important;max-width:100%!important;object-fit:contain!important;transform:none!important}.identity-page>h3,.identity-page>p{display:none!important}.identity-page>.logo{width:min(100%,28rem)!important;height:15rem!important;padding:0!important;background:transparent!important;border:0!important;object-fit:contain!important;mix-blend-mode:normal!important;transform:none!important;filter:drop-shadow(0 1px 0 rgba(247,239,227,.25))}
.work-story{position:relative!important;min-height:36rem!important;padding:1rem 0 2rem clamp(3rem,6vw,7rem)!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;background:transparent!important;color:inherit!important}.founder-heading{margin:0 0 clamp(2.5rem,5vw,5rem);max-width:42rem}.founder-heading span{display:block;margin-bottom:.8rem;color:#C6601C;font:900 .72rem/1 Mulish,sans-serif;letter-spacing:.16em;text-transform:uppercase}.founder-heading h3{margin:0;font:400 clamp(3rem,6vw,6.4rem)/.88 "Atlas Serif",serif;letter-spacing:-.045em}.founder-heading p{margin:1.25rem 0 0;font:900 .78rem/1.4 Mulish,sans-serif;letter-spacing:.12em;text-transform:uppercase}.work-story .copy{max-width:44rem!important;columns:auto!important}.work-story .copy p{font:400 clamp(1.2rem,1.6vw,1.55rem)/1.55 "Atlas Serif",serif!important}.work-story .copy p:first-child{font-size:clamp(1.6rem,2.4vw,2.35rem)!important;line-height:1.25!important}.photo-sequence{width:min(100%,44rem);margin-top:2rem}.company-image{width:100%;height:auto;max-height:32rem;object-fit:contain;background:#E4DACA}.links{margin-top:2.25rem}.links a{overflow-wrap:anywhere}
.tone-dark .founder-heading p,.tone-dark .eyebrow{color:#E4DACA}.tone-dark .atlas-entry>header .logo{border-color:transparent}
.composition-1 .identity-page,.composition-2 .identity-page,.composition-3 .identity-page,.composition-4 .identity-page,.composition-5 .identity-page,.composition-6 .identity-page{inset:auto!important;transform:none!important;text-align:left!important}.composition-1 .work-story,.composition-2 .work-story,.composition-3 .work-story,.composition-4 .work-story,.composition-5 .work-story,.composition-6 .work-story{inset:auto!important;transform:none!important}
@supports (animation-timeline:view()){.atlas-entry{animation:atlas-rise linear both;animation-timeline:view();animation-range:entry 5% cover 24%}@keyframes atlas-rise{from{opacity:.84;transform:translateY(24px)}to{opacity:1;transform:none}}}
@media(max-width:760px){.site-header{padding-inline:1rem}.site-header .site-nav{gap:.8rem}.atlas-entry{padding:6.5rem 1.25rem 4rem}.atlas-entry>header{grid-template-columns:2.5rem 1fr!important}.atlas-entry>header .logo{grid-column:1/-1;grid-row:2;justify-self:start;width:13rem!important;height:5.5rem!important}.atlas-entry .editorial-pair{grid-template-columns:minmax(0,1fr)!important}.entry-route{left:1.25rem;top:13rem;bottom:2rem}.atlas-entry .identity-page{grid-column:1!important;grid-row:1!important;width:100%!important;min-height:0!important;padding:0 0 0 2.25rem!important}.identity-page .illustration-window{width:100%!important}.atlas-entry .work-story{grid-column:1!important;grid-row:2!important;width:100%!important;min-height:0!important;padding:2.25rem 0 0 2.25rem!important}.founder-heading{margin-bottom:2.25rem}.founder-heading h3{font-size:clamp(3rem,15vw,5rem)}.work-story .copy p:first-child{font-size:1.55rem!important}.company-image{max-height:none}.cover-title h1{font-size:clamp(6.2rem,34vw,11rem)}}
@media(prefers-reduced-motion:reduce){.atlas-entry{animation:none!important}.route-progress span{animation:none!important;transform:scaleY(1)}}


/* Official SANAD site integration */
.event-alert {
  position: relative;
  z-index: 45;
  padding: .7rem var(--page-pad);
  color: var(--paper);
  background: var(--brown-deep);
  border-bottom: 1px solid rgba(247,239,227,.2);
}
.event-alert__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem 2rem;
}
.event-alert p { display: flex; flex-wrap: wrap; gap: .35rem 1rem; margin: 0; }
.event-alert strong,
.event-alert a {
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.event-alert p span { color: var(--sand); font-size: .78rem; }
.site-header .site-nav { display: flex; align-items: center; gap: clamp(.9rem,2.5vw,2.25rem); white-space: nowrap; }
.site-header .site-nav .program-site-link { display: inline-flex; }
.site-footer a { color: inherit; }
@media (max-width: 47.999rem) {
  .event-alert__inner { display: grid; gap: .25rem; }
  .event-alert a { min-height: 44px; display: inline-flex; align-items: center; }
  .site-header .site-nav .program-site-link { display: none; }
}

/* Profile prose follows the foreground of each alternating light/dark entry. */
.work-story .copy p{color:inherit!important}

/* Keep the long atlas cheap to render while preserving full-resolution assets. */
@supports (content-visibility:auto){
  .atlas-entry{content-visibility:auto;contain-intrinsic-size:auto 1500px}
  .atlas-entry:target{content-visibility:visible}
}

/* Documentary photographs sit on warm archival plates so they belong to the
   atlas without erasing the truth or individual colour of each image. */
.photo-sequence figure{
  position:relative;
  margin:0;
  padding:.72rem .72rem .82rem;
  background:
    radial-gradient(circle at 18% 16%,rgba(198,96,28,.10) 0 1px,transparent 1.5px),
    linear-gradient(145deg,#f0dfc8,#dfc3a3);
  background-size:18px 18px,auto;
  box-shadow:.6rem .68rem 0 rgba(67,26,6,.16);
  transform:rotate(-.22deg);
  transform-origin:center;
}
.composition-2 .photo-sequence figure,
.composition-5 .photo-sequence figure{transform:rotate(.22deg)}
.composition-3 .photo-sequence figure,
.composition-6 .photo-sequence figure{transform:rotate(-.1deg)}
.photo-sequence .company-image{
  display:block;
  width:100%;
  max-height:none;
  background:#d7c1a4;
  border:1px solid rgba(92,38,7,.24);
  clip-path:polygon(.4% .7%,99.4% 0,100% 98.8%,98.9% 100%,.5% 99.5%,0 1.4%);
  filter:sepia(.16) saturate(.78) contrast(1.05) brightness(.98);
}
.composition-2 .photo-sequence .company-image,
.composition-5 .photo-sequence .company-image{
  filter:sepia(.10) saturate(.86) contrast(1.04) brightness(.99);
}
.composition-3 .photo-sequence .company-image,
.composition-6 .photo-sequence .company-image{
  filter:sepia(.22) saturate(.72) contrast(1.06) brightness(.97);
}
.photo-sequence figcaption{
  margin:.75rem .15rem 0;
  padding-top:.6rem;
  border-top:1px solid rgba(92,38,7,.28);
  color:#431a06;
  font:700 .76rem/1.45 Mulish,sans-serif;
  letter-spacing:.01em;
}
.photo-sequence figcaption::before{
  display:inline-block;
  width:.52rem;
  height:.52rem;
  margin-right:.52rem;
  content:"";
  border:1px solid #c6601c;
  transform:rotate(45deg);
}
.photo-sequence figcaption a{
  color:inherit;
  text-decoration-thickness:1px;
  text-underline-offset:.18em;
}
.atlas-entry>header .logo{object-position:left center!important}
@media(max-width:760px){
  .atlas-entry>header .logo{margin-left:2.25rem}
  .photo-sequence figure,
  .composition-2 .photo-sequence figure,
  .composition-3 .photo-sequence figure,
  .composition-5 .photo-sequence figure,
  .composition-6 .photo-sequence figure{
    transform:none;
    box-shadow:.42rem .48rem 0 rgba(67,26,6,.15);
  }
}

/* V7 archival cartography: depth without literal or theatrical Egyptiana. */
body::before{
  display:block!important;
  z-index:40;
  opacity:.055;
  background-image:
    repeating-radial-gradient(circle at 19% 23%,rgba(67,26,6,.28) 0 .42px,transparent .58px 3.2px),
    repeating-linear-gradient(94deg,transparent 0 10px,rgba(67,26,6,.06) 11px 12px);
  mix-blend-mode:multiply;
}
.atlas-entry::after{
  position:absolute;
  inset:-.75rem;
  z-index:0;
  pointer-events:none;
  content:"";
  opacity:.58;
  background:url("assets/atlas-field-light.svg") center/cover no-repeat;
  transform:translate3d(0,0,0);
}
.atlas-entry.tone-dark::after{
  opacity:.5;
  background-image:url("assets/atlas-field-dark.svg");
}
.entry-route{
  background:linear-gradient(to bottom,rgba(198,96,28,.18),rgba(198,96,28,.62) 14%,rgba(198,96,28,.62) 86%,rgba(198,96,28,.18));
  box-shadow:4px 0 0 rgba(198,96,28,.075);
}
.entry-route i::after{
  position:absolute;
  left:50%;
  top:50%;
  width:1.6rem;
  height:1.6rem;
  content:"";
  border:1px solid rgba(198,96,28,.42);
  transform:translate(-50%,-50%) rotate(45deg);
}
.has-js.motion-ready .atlas-entry.is-present::after{
  animation:atlas-field-drift 18s cubic-bezier(.22,1,.36,1) infinite alternate;
}
@keyframes atlas-field-drift{
  from{transform:translate3d(-.18rem,.16rem,0)}
  to{transform:translate3d(.28rem,-.38rem,0)}
}
@media(max-width:760px){
  .atlas-entry::after{
    inset:-.35rem;
    opacity:.48;
    background-position:58% center;
  }
  .atlas-entry.tone-dark::after{opacity:.42}
}
@media(prefers-reduced-motion:reduce){
  .has-js.motion-ready .atlas-entry.is-present::after{animation:none!important}
}

/* V8 geographic narrative: Alexandria is the visual origin, with two clearly
   different regional fields. Inline vectors keep the long page lightweight. */
.cover-map{
  position:absolute;
  right:-4%;
  top:2%;
  z-index:-1;
  width:min(68vw,72rem);
  height:92%;
  overflow:visible;
  opacity:.42;
  pointer-events:none;
}
.cover-place{z-index:2}
.cover-map .map-continent{
  fill:rgba(247,239,227,.035);
  stroke:rgba(247,239,227,.34);
  stroke-width:1.4;
}
.cover-map .map-mediterranean,
.cover-map .map-nile{
  fill:none;
  stroke:rgba(247,239,227,.28);
  stroke-width:1.2;
}
.cover-map .map-routes{
  fill:none;
  stroke:rgba(242,134,39,.72);
  stroke-width:1.35;
  stroke-dasharray:3 8;
}
.cover-map .map-nodes circle{fill:var(--paper);opacity:.72}
.cover-map .map-alexandria circle:first-child{fill:var(--orange)}
.cover-map .map-alexandria circle:nth-child(2){fill:none;stroke:var(--orange);stroke-width:1.4;opacity:.68}
.cover-map .map-alexandria text{
  fill:var(--paper);
  font:900 16px/1 Mulish,sans-serif;
  letter-spacing:3px;
}
.has-js.motion-ready .cover-map .map-continent,
.has-js.motion-ready .cover-map .map-mediterranean,
.has-js.motion-ready .cover-map .map-nile{opacity:0;animation:cover-map-node 800ms var(--ease-out-quint) 160ms forwards}
.has-js.motion-ready .cover-map .map-routes path{
  stroke-dasharray:520;
  stroke-dashoffset:520;
  animation:cover-map-route 1400ms var(--ease-out-quint) 420ms forwards;
}
.has-js.motion-ready .cover-map .map-nodes,
.has-js.motion-ready .cover-map .map-alexandria{opacity:0;animation:cover-map-node 420ms var(--ease-out-expo) 1180ms forwards}
@keyframes cover-map-route{to{stroke-dashoffset:0}}
@keyframes cover-map-node{to{opacity:1}}

.region-map{
  position:absolute;
  right:clamp(-10rem,-8vw,-3rem);
  top:4%;
  z-index:-1;
  width:min(76vw,78rem);
  height:88%;
  overflow:visible;
  pointer-events:none;
}
.atlas-chapter h2,.atlas-chapter .chapter-copy{position:relative;z-index:1}
.region-land{fill:rgba(247,239,227,.035);stroke:rgba(247,239,227,.26);stroke-width:1.4}
.region-coast,.region-grid{fill:none;stroke:rgba(247,239,227,.20);stroke-width:1.1}
.region-route{fill:none;stroke:var(--orange);stroke-width:2;stroke-linecap:round}
.region-nodes circle{fill:var(--paper);opacity:.64}
.region-beacon circle:first-child{fill:var(--orange)}
.region-beacon circle:last-child{fill:none;stroke:var(--orange);stroke-width:1.5;opacity:.62}
.has-js.motion-ready .atlas-chapter .region-land,
.has-js.motion-ready .atlas-chapter .region-coast,
.has-js.motion-ready .atlas-chapter .region-grid,
.has-js.motion-ready .atlas-chapter .region-nodes{opacity:0;transition:opacity 720ms var(--ease-out-quint)}
.has-js.motion-ready .atlas-chapter .region-route{stroke-dasharray:1300;stroke-dashoffset:1300;transition:stroke-dashoffset 1300ms var(--ease-out-quint) 180ms}
.has-js.motion-ready .atlas-chapter.is-present .region-land,
.has-js.motion-ready .atlas-chapter.is-present .region-coast,
.has-js.motion-ready .atlas-chapter.is-present .region-grid,
.has-js.motion-ready .atlas-chapter.is-present .region-nodes{opacity:1}
.has-js.motion-ready .atlas-chapter.is-present .region-route{stroke-dashoffset:0}

.atlas-crossing{
  position:relative;
  isolation:isolate;
  min-height:82dvh;
  display:grid;
  align-items:center;
  overflow:hidden;
  padding:clamp(6rem,10vw,11rem) var(--page-pad);
  color:var(--paper);
  background:
    radial-gradient(circle at 72% 44%,rgba(198,96,28,.16),transparent 34%),
    var(--brown-deep);
  contain:layout paint style;
}
.crossing-copy{
  position:relative;
  z-index:2;
  width:min(35rem,48%);
  display:grid;
  gap:clamp(2rem,6vh,4rem);
}
.crossing-copy p{
  display:flex;
  align-items:baseline;
  gap:1rem;
  margin:0;
  color:var(--orange);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.crossing-copy p span{color:rgba(247,239,227,.7);font-size:.68rem;letter-spacing:.08em}
.crossing-copy strong{
  max-width:12ch;
  font:400 clamp(3.4rem,6.8vw,7rem)/.9 "Atlas Serif",serif;
  letter-spacing:-.045em;
}
.crossing-map{
  position:absolute;
  right:-5%;
  top:3%;
  z-index:1;
  width:min(70vw,70rem);
  height:94%;
  overflow:visible;
}
.crossing-land{fill:rgba(247,239,227,.025);stroke:rgba(247,239,227,.28);stroke-width:1.35}
.crossing-route{fill:none;stroke:var(--orange);stroke-width:2.2;stroke-linecap:round}
.crossing-nodes circle{fill:var(--paper)}
.crossing-nodes circle:first-child,.crossing-nodes circle:last-child{fill:var(--orange)}
.crossing-latitudes{fill:none;stroke:rgba(247,239,227,.14);stroke-width:1}
.has-js.motion-ready .atlas-crossing .crossing-copy,
.has-js.motion-ready .atlas-crossing .crossing-land,
.has-js.motion-ready .atlas-crossing .crossing-latitudes,
.has-js.motion-ready .atlas-crossing .crossing-nodes{opacity:0;transform:translateY(12px);transition:opacity 700ms var(--ease-out-quint),transform 700ms var(--ease-out-quint)}
.has-js.motion-ready .atlas-crossing .crossing-route{stroke-dasharray:1300;stroke-dashoffset:1300;transition:stroke-dashoffset 1400ms var(--ease-out-quint) 180ms}
.has-js.motion-ready .atlas-crossing.is-present .crossing-copy,
.has-js.motion-ready .atlas-crossing.is-present .crossing-land,
.has-js.motion-ready .atlas-crossing.is-present .crossing-latitudes,
.has-js.motion-ready .atlas-crossing.is-present .crossing-nodes{opacity:1;transform:none}
.has-js.motion-ready .atlas-crossing.is-present .crossing-route{stroke-dashoffset:0}

@media(max-width:760px){
  .cover-map{right:-25%;top:5%;width:178vw;height:78%;opacity:.38}
  .cover-map .map-alexandria text{font-size:13px;letter-spacing:2px}
  .region-map{right:-24%;top:12%;width:172vw;height:72%;opacity:.82}
  .region-map--ssa{right:-20%;top:7%;width:162vw;height:82%}
  .atlas-crossing{min-height:76dvh;padding-block:5.5rem}
  .crossing-copy{width:100%;min-height:58dvh;align-content:space-between}
  .crossing-copy strong{max-width:9ch;font-size:clamp(3.3rem,15vw,5rem)}
  .crossing-map{right:-25%;top:7%;width:185vw;height:82%;opacity:.72}
}
@media(prefers-reduced-motion:reduce){
  .cover-map *,
  .region-map *,
  .atlas-crossing *{animation:none!important;transition:none!important;opacity:1!important;transform:none!important;stroke-dashoffset:0!important}
}

/* V9 drawn cartography: a visible editorial chart, not a geographic watermark. */
.cover-map{
  right:-2%;
  top:2%;
  z-index:0;
  width:min(74vw,78rem);
  height:94%;
  opacity:.82;
}
.cover-currents{opacity:.32}
.cover-map .map-graticule,
.crossing-graticule{
  fill:none;
  stroke:rgba(247,239,227,.13);
  stroke-width:1;
  stroke-dasharray:2 8;
}
.cover-map .map-region-mena{fill:rgba(242,134,39,.15)}
.cover-map .map-region-ssa{fill:rgba(247,239,227,.045)}
.cover-map .map-hatch{color:rgba(247,239,227,.1);opacity:.4}
.cover-map .map-continent{
  fill:none;
  stroke:rgba(247,239,227,.68);
  stroke-width:2.2;
  stroke-linejoin:round;
}
.cover-map .map-mediterranean{stroke:rgba(247,239,227,.46);stroke-width:1.5;stroke-dasharray:4 7}
.cover-map .map-nile{stroke:rgba(242,134,39,.72);stroke-width:2}
.map-contours,
.region-contours,
.crossing-contours{
  fill:none;
  stroke:rgba(247,239,227,.3);
  stroke-width:1.15;
}
.cover-map .map-routes{stroke:rgba(242,134,39,.9);stroke-width:1.8;stroke-dasharray:4 7}
.cover-map .map-nodes circle{fill:var(--paper);stroke:var(--brown);stroke-width:1.5}
.cover-map .map-alexandria circle:first-child{fill:var(--orange);stroke:var(--paper);stroke-width:2}
.cover-map .map-alexandria circle:nth-child(2){stroke-width:2}
.map-compass circle,
.crossing-compass circle{fill:none;stroke:rgba(247,239,227,.42);stroke-width:1.2}
.map-compass path,
.crossing-compass path{fill:rgba(247,239,227,.72)}
.map-compass .compass-axis,
.crossing-compass .compass-axis{fill:none;stroke:rgba(247,239,227,.34);stroke-width:1}
.map-compass text,
.crossing-compass text{fill:var(--paper);font:900 14px/1 Mulish,sans-serif;text-anchor:middle;letter-spacing:2px}
.map-scale{fill:none;stroke:rgba(247,239,227,.52);stroke-width:1.1}
.map-scale text,
.cover-map .map-label,
.crossing-map-label,
.region-label,
.region-note{
  fill:rgba(247,239,227,.78);
  stroke:none;
  font:900 12px/1 Mulish,sans-serif;
  letter-spacing:2.3px;
}
.cover-map .map-label{font-size:14px;letter-spacing:3px}
.cover-map .map-label-ssa{fill:rgba(247,239,227,.62)}

/* SANAD program chrome. The Atlas is content inside the main SANAD site,
   so its navigation and footer use the same identity and information model. */
.shell{
  width:min(1240px,calc(100% - 2 * clamp(1.25rem,5vw,4.5rem)));
  margin-inline:auto;
}
.site-header{
  position:sticky;
  top:0;
  z-index:44;
  min-height:0;
  display:block;
  padding:0;
  color:#5C2607;
  background:#FBEEDD;
  border-bottom:1px solid transparent;
  transition:transform 220ms var(--ease-out-expo),border-color 180ms ease,box-shadow 180ms ease;
}
.site-header.is-stuck{
  border-bottom-color:rgba(92,38,7,.16);
  box-shadow:0 1px 0 rgba(92,38,7,.04);
}
.site-header.is-hidden{transform:translateY(-100%)}
.site-header.menu-open{transform:none}
.site-header__inner{
  min-height:4.5rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding-block:.9rem;
}
.brand{
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
  text-decoration:none;
}
.brand img{
  display:block;
  width:clamp(9.5rem,20vw,13.5rem);
  height:auto;
}
.nav-toggle{
  display:inline-block;
  padding:.55rem .95rem;
  color:#5C2607;
  background:transparent;
  border:2px solid rgba(92,38,7,.32);
  border-radius:4px;
  font:900 .9375rem/1.4 "Mulish",sans-serif;
  letter-spacing:.02em;
  cursor:pointer;
}
.site-header .site-nav{display:none;width:100%;white-space:normal}
.site-header .site-nav.is-open{display:block}
.site-header .site-nav ul{margin:0;padding:0 0 .75rem;list-style:none}
.site-header .site-nav li+li{border-top:1px solid rgba(92,38,7,.16)}
.site-header .site-nav a{
  display:block;
  padding:.85rem;
  color:#5C2607;
  font:900 .9375rem/1.35 "Mulish",sans-serif;
  letter-spacing:-.005em;
  text-decoration:none;
}
.site-header .site-nav a:hover,
.site-header .site-nav a[aria-current="page"]{background:rgba(242,134,39,.12)}
.site-footer{
  position:relative;
  z-index:2;
  min-height:0;
  display:block;
  grid-template-columns:none;
  gap:0;
  align-items:initial;
  padding:clamp(3rem,6vw,4.5rem) 0 2rem;
  color:#5C2607;
  background:#FBEEDD;
  border-top:4px solid #5C2607;
  font-family:"Mulish",sans-serif;
}
.site-footer p{
  margin:0;
  font:400 1rem/1.7 "Mulish",sans-serif;
  letter-spacing:normal;
  text-transform:none;
}
.site-footer img{
  width:auto;
  padding:0;
  background:transparent;
}
.site-footer__top{display:grid;gap:clamp(2rem,4vw,3.5rem)}
.stack{display:grid;gap:1rem;max-width:42rem}
.site-footer p.h3{margin:0;font:900 clamp(1.2rem,1.05rem + .7vw,1.55rem)/1.2 "Mulish",sans-serif;letter-spacing:-.01em;text-transform:none}
.site-footer .note{margin:0;max-width:58ch;color:#6B3F1E;line-height:1.7}
.site-footer .lockup{margin:0}
.site-footer .lockup img{display:block;width:clamp(15rem,34vw,24rem);height:auto}
.footer-nav h2{
  margin:0 0 1rem;
  color:#A94C0B;
  font:900 .75rem/1.2 "Mulish",sans-serif;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.footer-nav ul{display:grid;gap:.55rem;margin:0;padding:0;list-style:none}
.footer-nav a{color:#5C2607;font-weight:900;text-decoration:none;border-bottom:2px solid transparent}
.footer-nav a:hover,
.footer-nav a[aria-current="page"]{border-bottom-color:#F28627}
.site-footer__bottom{
  margin-top:clamp(2.5rem,5vw,3.5rem);
  padding-top:1.25rem;
  border-top:1px solid rgba(92,38,7,.16);
  display:flex;
  flex-wrap:wrap;
  gap:.5rem 1.75rem;
  justify-content:space-between;
  color:#6B3F1E;
  font-size:.8125rem;
}
.site-footer .site-footer__bottom p{margin:0;font:400 .8125rem/1.55 "Mulish",sans-serif;letter-spacing:normal;text-transform:none}
.site-footer__bottom a{color:#6B3F1E}
.site-footer__bottom .seedstars-link{color:#0865AC;text-decoration-color:#0865AC;font-weight:900}
@media(min-width:54.0625rem){
  .nav-toggle{display:none}
  .site-header .site-nav{display:block;width:auto}
  .site-header .site-nav ul{display:flex;align-items:center;gap:.35rem 1.6rem;padding:0}
  .site-header .site-nav li+li{border-top:0}
  .site-header .site-nav a{display:inline-block;padding:.35rem 0;border-bottom:3px solid transparent}
  .site-header .site-nav a:hover{background:transparent;border-bottom-color:#F28627}
  .site-header .site-nav a[aria-current="page"]{background:transparent;border-bottom-color:#5C2607}
}
@media(max-width:54rem){
  .site-header__inner{flex-wrap:wrap}
  .site-header .site-nav{flex-basis:100%;align-items:stretch;gap:0}
}
@media(min-width:52rem){
  .site-footer__top{grid-template-columns:minmax(0,6fr) minmax(0,5fr);align-items:start}
}
@media(max-width:42rem){
  .event-alert__inner{align-items:flex-start;flex-direction:column}
}

.region-map{
  right:clamp(-7rem,-4vw,-2rem);
  top:2%;
  z-index:0;
  width:min(72vw,76rem);
  height:93%;
  opacity:.94;
}
.region-grid{stroke:rgba(247,239,227,.13);stroke-dasharray:2 8}
.region-land{fill:rgba(247,239,227,.035);stroke:rgba(247,239,227,.62);stroke-width:2;stroke-linejoin:round}
.region-hatch{color:rgba(247,239,227,.11);opacity:.44;stroke:none}
.region-coast{stroke:rgba(247,239,227,.42);stroke-width:1.5;stroke-dasharray:4 7}
.region-nile{fill:none;stroke:rgba(242,134,39,.8);stroke-width:2}
.region-route{stroke-width:2.4;stroke-dasharray:5 8}
.region-nodes circle{fill:var(--paper);stroke:var(--brown);stroke-width:1.5;opacity:.94}
.region-beacon circle:first-child{stroke:var(--paper);stroke-width:2}
.region-beacon circle:last-child{stroke-width:2}
.region-note{fill:rgba(247,239,227,.54);font-size:11px}

.atlas-crossing{
  min-height:94dvh;
  background:
    radial-gradient(circle at 68% 43%,rgba(198,96,28,.18),transparent 38%),
    var(--brown-deep);
}
.crossing-copy{width:min(34rem,42%)}
.crossing-map{
  right:1%;
  top:2%;
  width:min(66vw,72rem);
  height:96%;
  opacity:.98;
}
.crossing-mena{fill:rgba(242,134,39,.2)}
.crossing-ssa{fill:rgba(247,239,227,.045)}
.crossing-hatch{color:rgba(247,239,227,.11);opacity:.44}
.crossing-land{fill:none;stroke:rgba(247,239,227,.68);stroke-width:2.2;stroke-linejoin:round}
.crossing-route{stroke-width:2.6;stroke-dasharray:5 8}
.crossing-contours{stroke:rgba(247,239,227,.3)}
.crossing-nodes circle{stroke:var(--brown-deep);stroke-width:1.5}
.crossing-beacon circle{fill:none;stroke:var(--orange);stroke-width:2}
.crossing-beacon text{fill:var(--paper);font:900 12px/1 Mulish,sans-serif;letter-spacing:2.3px}

@media(max-width:760px){
  .cover-map{right:-35%;top:7%;width:155vw;height:auto;opacity:.8}
  .cover-currents{opacity:.22}
  .cover-map .map-compass,.cover-map .map-scale{display:none}
  .cover-map .map-label{font-size:12px}
  .region-map{right:-22%;top:18%;width:145vw;height:auto;opacity:.92}
  .region-map--mena{right:-22%;top:21%}
  .region-map--ssa{right:-22%;top:18%;width:142vw;height:auto}
  .region-label{font-size:10px;letter-spacing:1.7px}
  .region-note{display:none}
  .atlas-crossing{min-height:88dvh}
  .crossing-copy{width:100%;min-height:68dvh}
  .crossing-map{right:-23%;top:18%;width:145vw;height:auto;opacity:.88}
  .crossing-compass{display:none}
  .crossing-map-label{font-size:10px}
}

/* V10 archival finish: worn ink, paper fibres and marginal notation. */
.cover{
  background:
    radial-gradient(ellipse at 78% 18%,rgba(247,239,227,.07),transparent 27%),
    radial-gradient(ellipse at 22% 76%,rgba(44,14,3,.22),transparent 38%),
    linear-gradient(101deg,rgba(247,239,227,.022),transparent 17% 78%,rgba(28,8,1,.16)),
    #5c2607;
  box-shadow:inset 0 0 8rem rgba(31,8,1,.28);
}
.cover-title{background:transparent!important;text-shadow:0 1px 0 rgba(31,8,1,.2)}
.cover::before,
.atlas-chapter::before,
.atlas-crossing::before{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  content:"";
  opacity:.52;
  background-image:
    radial-gradient(circle at 9% 17%,rgba(247,239,227,.12) 0 .55px,transparent .8px),
    radial-gradient(circle at 73% 23%,rgba(40,12,2,.2) 0 .7px,transparent 1.1px),
    repeating-linear-gradient(87deg,transparent 0 8px,rgba(247,239,227,.022) 9px,transparent 11px),
    repeating-linear-gradient(3deg,transparent 0 13px,rgba(39,11,2,.065) 14px,transparent 16px);
  background-size:5px 5px,7px 7px,auto,auto;
  mix-blend-mode:soft-light;
}
.cover::after{
  position:absolute;
  inset:clamp(.8rem,2vw,1.8rem);
  z-index:1;
  pointer-events:none;
  content:"";
  opacity:.46;
  border:1px solid rgba(247,239,227,.19);
  clip-path:polygon(0 .8%,27% 0,51% .55%,76% 0,100% .9%,99.4% 27%,100% 53%,99.3% 78%,100% 100%,72% 99.35%,48% 100%,22% 99.45%,0 100%,.55% 74%,0 49%,.6% 23%);
}
.atlas-chapter,
.atlas-crossing{
  box-shadow:inset 0 0 7rem rgba(31,8,1,.24);
}
.atlas-chapter::before,.atlas-crossing::before{z-index:2;opacity:.38}
.atlas-chapter h2,.atlas-chapter .chapter-copy,.atlas-chapter .chapter-count,.crossing-copy{z-index:3}

.cover-map .map-continent,
.region-land,
.crossing-land{
  stroke-dasharray:238 2 131 1 76 2;
  filter:drop-shadow(.8px .55px 0 rgba(30,8,1,.22));
}
.map-contours path:nth-child(2n),
.region-contours path:nth-child(2n),
.crossing-contours path:nth-child(2n){
  stroke-dasharray:3 2 29 1;
  opacity:.72;
}
.map-graticule path:nth-child(2),
.region-grid path:nth-child(2),
.crossing-graticule path:nth-child(2){opacity:.72;stroke-dasharray:1 7}
.map-marginalia text,
.crossing-marginalia text{
  fill:rgba(247,239,227,.58);
  font:400 italic 12px/1 "Atlas Serif",serif;
  letter-spacing:1.4px;
}
.map-marginalia path,
.crossing-marginalia path{fill:none;stroke:rgba(247,239,227,.32);stroke-width:1}
.cover-map .map-region-mena,
.crossing-mena{filter:drop-shadow(0 5px 8px rgba(33,8,1,.1))}
.cover-map .map-hatch,
.region-hatch,
.crossing-hatch{
  mask-image:linear-gradient(112deg,rgba(0,0,0,.45),#000 36%,rgba(0,0,0,.62) 73%,rgba(0,0,0,.25));
}
.opening{
  background:
    radial-gradient(circle at 15% 24%,rgba(92,38,7,.045) 0 1px,transparent 1.5px),
    linear-gradient(97deg,rgba(92,38,7,.035),transparent 19% 82%,rgba(92,38,7,.025)),
    var(--paper);
  background-size:9px 9px,auto,auto;
  box-shadow:inset 0 0 6rem rgba(92,38,7,.055);
}
.opening-mark::after{
  position:absolute;
  inset:-8% -3%;
  z-index:-1;
  content:"";
  opacity:.42;
  border:1px solid rgba(92,38,7,.2);
  transform:rotate(-.7deg);
}
.has-js.motion-ready .cover-map .map-marginalia{opacity:0;animation:cover-map-node 620ms var(--ease-out-quint) 1050ms forwards}

@media(max-width:760px){
  .cover::before{opacity:.42}
  .cover::after{inset:.7rem;opacity:.34}
  .atlas-chapter::before,.atlas-crossing::before{opacity:.32}
  .map-marginalia{display:none}
}
@media(prefers-reduced-motion:reduce){
  .map-marginalia{animation:none!important;opacity:1!important}
}

/* V11 editorial families experiment
   Six visual rhythms share one type system and route language, but vary scale,
   balance, paper treatment and cartographic notation. */
.atlas-entry{
  --family-ink:#3e1a06;
  --family-paper:#f7efe3;
  --family-rule:rgba(92,38,7,.19);
  isolation:isolate;
  scroll-margin-top:5.75rem;
}
.atlas-entry.tone-dark{
  --family-ink:#f7efe3;
  --family-paper:#5c2607;
  --family-rule:rgba(247,239,227,.2);
}
.atlas-entry .editorial-pair{
  min-height:min(66rem,72vh);
}
.atlas-entry .identity-page,
.atlas-entry .work-story{
  z-index:2;
}
.atlas-entry .identity-page::before{
  position:absolute;
  z-index:-1;
  content:"";
  pointer-events:none;
}
.atlas-entry .illustration-window{
  transition:transform .55s var(--ease-out-quint),filter .55s var(--ease-out-quint);
}
.atlas-entry .illustration-window img{
  filter:saturate(.94) contrast(1.015);
}
.atlas-entry .founder-heading h3{
  text-wrap:balance;
}

/* 01 / Field note: an offset archival plate with a measured caption column. */
.composition-1 .editorial-pair{
  grid-template-columns:minmax(24rem,46%) minmax(0,54%)!important;
  gap:clamp(2.5rem,5vw,6rem)!important;
}
.composition-1 .identity-page{
  padding:clamp(1rem,2vw,2rem) clamp(2rem,4vw,4.5rem) clamp(2rem,4vw,4rem) 0!important;
}
.composition-1 .identity-page::before{
  inset:0 2rem 0 -7vw;
  border:1px solid var(--family-rule);
  background:
    linear-gradient(91deg,rgba(198,96,28,.08),transparent 32%),
    repeating-linear-gradient(0deg,transparent 0 4.8rem,var(--family-rule) 4.85rem 4.9rem);
  transform:rotate(-.45deg);
}
.composition-1 .work-story{
  padding-top:clamp(3rem,8vh,7rem)!important;
}
.composition-1 .founder-heading{
  margin-left:clamp(-3rem,-3vw,-1rem);
}
.composition-1 .entry-route{left:45%}

/* 02 / Monumental: the portrait becomes the field; the writing sits as a
   restrained museum label rather than mirroring the first profile. */
.composition-2{
  background:
    linear-gradient(90deg,rgba(198,96,28,.1),transparent 31%),
    var(--family-paper)!important;
}
.composition-2 .editorial-pair{
  grid-template-columns:minmax(0,42%) minmax(27rem,58%)!important;
  grid-template-areas:"story identity"!important;
  gap:clamp(2rem,5vw,6rem)!important;
  align-items:center!important;
}
.composition-2 .identity-page{
  padding:0!important;
  justify-content:flex-end!important;
}
.composition-2 .identity-page::before{
  inset:-3rem -8vw 4rem 22%;
  background:
    radial-gradient(circle at 14% 20%,transparent 0 5rem,var(--family-rule) 5.05rem 5.12rem,transparent 5.17rem),
    linear-gradient(135deg,transparent 0 54%,rgba(198,96,28,.13) 54.2% 54.8%,transparent 55%);
}
.composition-2 .identity-page .illustration-window{
  width:min(100%,44rem)!important;
  max-width:44rem!important;
  margin-left:auto!important;
  transform:translateX(clamp(1.5rem,4vw,5rem))!important;
}
.composition-2 .work-story{
  padding:clamp(2rem,5vw,5rem) 0 3rem!important;
}
.composition-2 .founder-heading h3{
  font-size:clamp(3.5rem,7vw,7.6rem);
}
.composition-2 .entry-route{left:39%}

/* 03 / Archive folio: tall portrait, annotation block and off-centre rule. */
.composition-3{
  background:
    linear-gradient(112deg,transparent 0 66%,rgba(198,96,28,.07) 66.1% 100%),
    var(--family-paper)!important;
}
.composition-3>header{
  width:min(72rem,86%);
}
.composition-3 .editorial-pair{
  grid-template-columns:minmax(22rem,37%) minmax(0,63%)!important;
  gap:clamp(4rem,9vw,11rem)!important;
  align-items:end!important;
}
.composition-3 .identity-page{
  padding:0 0 clamp(3rem,8vh,7rem)!important;
}
.composition-3 .identity-page::before{
  inset:10% -2rem 2rem -3vw;
  border-left:clamp(.55rem,1vw,1rem) solid rgba(198,96,28,.58);
  border-bottom:1px solid var(--family-rule);
  background:linear-gradient(102deg,rgba(92,38,7,.055),transparent 62%);
  transform:rotate(.65deg);
}
.composition-3 .identity-page .illustration-window{
  width:min(100%,30rem)!important;
  max-width:30rem!important;
}
.composition-3 .work-story{
  max-width:54rem;
  padding:0 0 clamp(2rem,5vh,5rem)!important;
}
.composition-3 .founder-heading h3{
  font-size:clamp(4.5rem,9vw,10rem);
  line-height:.8;
}
.composition-3 .copy{
  margin-left:clamp(2rem,7vw,8rem);
}
.composition-3 .entry-route{left:34%}

/* 04 / Night plate: dark gallery wall, luminous route and portrait as object. */
.composition-4{
  --family-paper:#4b1d05;
  background:
    radial-gradient(circle at 75% 50%,rgba(242,134,39,.13),transparent 34%),
    linear-gradient(115deg,#3b1504,#642807 62%,#4a1b04)!important;
  color:#f7efe3!important;
}
.composition-4>header{
  margin-left:clamp(0rem,7vw,8rem)!important;
}
.composition-4 .editorial-pair{
  grid-template-columns:minmax(22rem,48%) minmax(0,52%)!important;
  grid-template-areas:"story identity"!important;
  gap:clamp(3rem,7vw,9rem)!important;
}
.composition-4 .identity-page{
  padding:clamp(1rem,4vw,4rem) 0 0!important;
  justify-content:flex-end!important;
}
.composition-4 .identity-page::before{
  inset:0 -7vw -5rem 20%;
  border:1px solid rgba(247,239,227,.16);
  background:
    repeating-radial-gradient(ellipse at 70% 52%,transparent 0 2.1rem,rgba(247,239,227,.055) 2.15rem 2.2rem),
    linear-gradient(145deg,rgba(242,134,39,.11),transparent 58%);
  transform:rotate(-1deg);
}
.composition-4 .identity-page .illustration-window{
  width:min(100%,39rem)!important;
  max-width:39rem!important;
}
.composition-4 .work-story{
  padding:clamp(4rem,10vh,9rem) 0 3rem!important;
}
.composition-4 .founder-heading h3{font-size:clamp(3.6rem,7.2vw,8rem)}
.composition-4 .copy p{color:#f7efe3!important}
.composition-4 .entry-route{left:52%;box-shadow:0 0 2rem rgba(242,134,39,.24)}

/* 05 / Cartographer: wide breathing room, topographic field, compact portrait. */
.composition-5{
  background:
    repeating-radial-gradient(ellipse at 13% 78%,transparent 0 2.8rem,rgba(92,38,7,.045) 2.85rem 2.9rem),
    var(--family-paper)!important;
}
.composition-5>header{
  padding-left:clamp(2rem,10vw,12rem)!important;
}
.composition-5 .editorial-pair{
  grid-template-columns:minmax(0,59%) minmax(22rem,41%)!important;
  grid-template-areas:"story identity"!important;
  gap:clamp(3rem,8vw,10rem)!important;
  align-items:center!important;
}
.composition-5 .identity-page{
  padding:clamp(4rem,8vh,8rem) 0 0!important;
}
.composition-5 .identity-page::before{
  left:-4rem;
  top:0;
  width:clamp(9rem,16vw,17rem);
  aspect-ratio:1;
  border:1px solid var(--family-rule);
  border-radius:50%;
  box-shadow:0 0 0 2rem rgba(198,96,28,.04),0 0 0 4rem rgba(92,38,7,.025);
}
.composition-5 .identity-page .illustration-window{
  width:min(100%,30rem)!important;
  max-width:30rem!important;
  margin-left:auto!important;
}
.composition-5 .work-story{
  max-width:58rem;
  padding:clamp(1rem,5vh,4rem) 0 2rem clamp(2rem,8vw,10rem)!important;
}
.composition-5 .founder-heading h3{font-size:clamp(4.5rem,9vw,10rem)}
.composition-5 .copy{max-width:36rem!important}
.composition-5 .entry-route{left:15%}

/* 06 / Foldout: a broad image plate with the story tucked into the lower edge. */
.composition-6{
  background:
    linear-gradient(0deg,rgba(92,38,7,.055),transparent 44%),
    var(--family-paper)!important;
}
.composition-6>header{
  width:min(64rem,76%);
  margin-left:auto!important;
}
.composition-6 .editorial-pair{
  grid-template-columns:minmax(28rem,63%) minmax(20rem,37%)!important;
  gap:0!important;
  align-items:end!important;
}
.composition-6 .identity-page{
  padding:0 clamp(2rem,6vw,7rem) clamp(2rem,4vw,4rem) 0!important;
}
.composition-6 .identity-page::before{
  inset:auto -3rem 0 -7vw;
  height:48%;
  border-top:1px solid var(--family-rule);
  background:
    linear-gradient(120deg,rgba(198,96,28,.12),transparent 48%),
    repeating-linear-gradient(90deg,transparent 0 5.9rem,var(--family-rule) 5.95rem 6rem);
  transform:rotate(-.35deg);
}
.composition-6 .identity-page .illustration-window{
  width:min(100%,46rem)!important;
  max-width:46rem!important;
}
.composition-6 .work-story{
  margin-left:clamp(-5rem,-4vw,-2rem);
  padding:clamp(2rem,5vw,5rem)!important;
  border-top:1px solid var(--family-rule);
  background:color-mix(in srgb,var(--family-paper) 91%,transparent);
  backdrop-filter:blur(4px);
}
.composition-6 .founder-heading h3{font-size:clamp(3.6rem,7vw,7.6rem)}
.composition-6 .entry-route{left:62%}

@media(max-width:760px){
  .atlas-entry{scroll-margin-top:5rem}
  .atlas-entry .editorial-pair{
    min-height:0;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-areas:"identity" "story"!important;
    gap:0!important;
  }
  .atlas-entry .identity-page,
  .atlas-entry .work-story{
    margin:0!important;
  }
  .atlas-entry .identity-page{
    padding:0 0 0 2.25rem!important;
    justify-content:flex-start!important;
  }
  .atlas-entry .identity-page .illustration-window{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    transform:none!important;
  }
  .atlas-entry .work-story{
    max-width:none!important;
    padding:2.5rem 0 0 2.25rem!important;
    border:0;
    background:transparent;
    backdrop-filter:none;
  }
  .atlas-entry .founder-heading{
    margin-left:0!important;
  }
  .atlas-entry .founder-heading h3{
    font-size:clamp(3.3rem,15vw,5rem);
    line-height:.86;
  }
  .atlas-entry .copy{
    max-width:none!important;
    margin-left:0!important;
  }
  .composition-1 .identity-page::before{inset:-.7rem -.7rem 1rem 1.25rem}
  .composition-2 .identity-page::before{inset:-1rem -1.25rem 20% 28%}
  .composition-3 .identity-page::before{inset:12% -.75rem 1rem 1.15rem}
  .composition-4 .identity-page::before{inset:-.5rem -1rem -1rem 20%}
  .composition-5 .identity-page::before{left:0;top:-1rem;width:9rem}
  .composition-6 .identity-page::before{inset:auto -.75rem -.75rem 1.25rem;height:44%}
  .composition-1 .entry-route,
  .composition-2 .entry-route,
  .composition-3 .entry-route,
  .composition-4 .entry-route,
  .composition-5 .entry-route,
  .composition-6 .entry-route{left:1.25rem}
}
