
:root {
  --ink: #292a28;
  --ink-soft: #50524f;
  --muted: #777873;
  --paper: #fffdf9;
  --sage: #6f9a8d;
  --coral: #c97370;
  --blue: #678c9b;
  --plum: #8e6d84;
  --sand: #b38b66;
  --line: #e6e4de;
  --max-width: 1180px;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(circle at 13% 0%, rgba(203,228,214,.28), transparent 24%),
    radial-gradient(circle at 90% 9%, rgba(244,210,208,.25), transparent 25%),
    var(--paper);
  font-family: "DM Sans", Aptos, "Segoe UI", Arial, sans-serif;
  line-height: 1.62;
  -webkit-font-smoothing: antialiased;
}

a { color: inherit; }

.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 1000;
}

.skip-link:focus {
  left: 1rem;
  top: 1rem;
  padding: .75rem 1rem;
  background: #fff;
  border: 2px solid #222;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  border-bottom: 1px solid rgba(70,70,66,.08);
  background: rgba(255,253,249,.92);
  backdrop-filter: blur(18px);
}

.header-inner {
  width: min(var(--max-width), calc(100% - 2.8rem));
  min-height: 74px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 2rem;
}

.site-name {
  text-decoration: none;
  font-weight: 700;
  letter-spacing: -.025em;
  font-size: 1.18rem;
}

.primary-nav { margin-left: auto; }

.primary-nav ul,
.site-footer ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.primary-nav ul {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1.35rem;
}

.primary-nav a {
  text-decoration: none;
  font-size: .92rem;
  font-weight: 500;
  color: var(--ink-soft);
  padding: .42rem 0;
  border-bottom: 1px solid transparent;
}

.primary-nav a:hover,
.primary-nav a:focus-visible {
  color: var(--ink);
  border-color: currentColor;
}

.menu-toggle {
  display: none;
  margin-left: auto;
  font: inherit;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.86);
  color: var(--ink);
  padding: .45rem .72rem;
  border-radius: 999px;
}

.hero {
  width: min(var(--max-width), calc(100% - 2.8rem));
  margin: 0 auto;
  padding: 5rem 0 3.7rem;
  display: grid;
  grid-template-columns: minmax(280px,.85fr) minmax(400px,1.15fr);
  gap: 3.3rem;
  align-items: center;
}

.eyebrow {
  margin: 0 0 .8rem;
  color: var(--muted);
  font-size: .73rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.eyebrow.coral { color: var(--coral); }

.hero h1 {
  margin: 0 0 1.3rem;
  font-size: clamp(2.9rem, 5.7vw, 5.9rem);
  font-weight: 500;
  letter-spacing: -.055em;
  line-height: .96;
}

.hero-intro {
  max-width: 39rem;
  margin: 0;
  color: var(--ink-soft);
  font-size: 1.08rem;
}

.hero-note {
  max-width: 34rem;
  margin-top: 1.4rem;
  color: var(--muted);
  font-size: .9rem;
}

.mandala-column { min-width: 0; }

.mandala-wrap {
  min-height: 610px;
  display: grid;
  place-items: center;
}

.mandala {
  width: min(580px, 89vw);
  aspect-ratio: 1 / 1;
  overflow: visible;
}

.petal {
  cursor: pointer;
  outline: none;
  transform-box: fill-box;
  transform-origin: center;
  transition: transform .5s cubic-bezier(.18,.75,.22,1), filter .3s ease;
}

.petal-shape {
  stroke: rgba(255,255,255,.78);
  stroke-width: 3;
  vector-effect: non-scaling-stroke;
  filter: url(#petal-shadow);
}

.petal-highlight {
  fill: rgba(255,255,255,.14);
  pointer-events: none;
}

.petal-label {
  fill: #fff;
  font-size: 18px;
  font-weight: 600;
  text-anchor: middle;
  pointer-events: none;
}

.petal-caption {
  fill: rgba(255,255,255,.78);
  font-size: 8.5px;
  font-weight: 600;
  letter-spacing: .14em;
  text-anchor: middle;
  pointer-events: none;
}

.petal:hover,
.petal:focus-visible,
.petal.is-open {
  filter: saturate(1.05) brightness(1.035);
}

.petal-top:hover,
.petal-top:focus-visible,
.petal-top.is-open {
  transform: translateY(-18px) scale(1.025);
}

.petal-right:hover,
.petal-right:focus-visible,
.petal-right.is-open {
  transform: translateX(18px) scale(1.025);
}

.petal-bottom:hover,
.petal-bottom:focus-visible,
.petal-bottom.is-open {
  transform: translateY(18px) scale(1.025);
}

.petal-left:hover,
.petal-left:focus-visible,
.petal-left.is-open {
  transform: translateX(-18px) scale(1.025);
}

.centre-link {
  cursor: pointer;
  outline: none;
  transform-box: fill-box;
  transform-origin: center;
  transition: transform .35s ease;
}

.centre-link:hover,
.centre-link:focus-visible {
  transform: scale(1.045);
}

.centre-ring {
  fill: rgba(255,255,255,.38);
  stroke: rgba(255,255,255,.72);
  stroke-width: 7;
}

.centre-disc {
  fill: url(#grad-centre);
  stroke: #e4ded4;
  stroke-width: 1.5;
  filter: url(#centre-shadow);
}

.centre-kicker {
  fill: var(--muted);
  font-size: 8.5px;
  font-weight: 700;
  letter-spacing: .14em;
  text-anchor: middle;
}

.centre-main {
  fill: var(--ink);
  font-size: 16px;
  font-weight: 650;
  text-anchor: middle;
  letter-spacing: -.02em;
}

.centre-arrow {
  fill: var(--coral);
  font-size: 18px;
  text-anchor: middle;
}

/* Sue and Andy section */
.people-intro {
  width: min(var(--max-width), calc(100% - 2.8rem));
  margin: 0 auto 4rem;
  padding: 1.2rem;
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  gap: 2.8rem;
  align-items: center;
  background: linear-gradient(135deg, #fff8f5 0%, #f7fbf8 100%);
  border: 1px solid rgba(164,137,120,.10);
  border-radius: 30px;
  box-shadow: 0 22px 48px rgba(71,67,59,.06);
}

.people-photo-wrap { margin: 0; }

.people-photo {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  object-position: center 38%;
  border-radius: 22px;
}

.photo-caption {
  margin: .55rem .2rem 0;
  color: var(--muted);
  font-size: .82rem;
}

.people-copy {
  padding: 1.2rem 1.8rem 1.2rem .5rem;
}

.people-copy h2 {
  margin: 0 0 .9rem;
  font-size: clamp(2rem, 4vw, 3.15rem);
  font-weight: 500;
  letter-spacing: -.045em;
  line-height: 1.04;
}

.people-copy p:not(.eyebrow) {
  color: var(--ink-soft);
}

/* Utility area */
.discovery-tools {
  width: min(880px, calc(100% - 2.8rem));
  margin: 0 auto 5rem;
  padding: 1.2rem;
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 1rem;
  background: rgba(255,255,255,.60);
  border: 1px solid rgba(90,90,84,.08);
  border-radius: 24px;
}

.search-box,
.surprise-box {
  padding: 1.1rem;
}

.search-box label,
.utility-label {
  display: block;
  margin: 0 0 .6rem;
  color: var(--ink);
  font-size: .92rem;
  font-weight: 600;
}

.search-row {
  display: flex;
  gap: .55rem;
}

.search-row input {
  flex: 1;
  min-width: 0;
  padding: .78rem .9rem;
  font: inherit;
  color: var(--ink);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 999px;
  outline: none;
}

.search-row input:focus {
  border-color: var(--sage);
  box-shadow: 0 0 0 3px rgba(111,154,141,.12);
}

.search-row button,
.surprise-button {
  border: 0;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
  border-radius: 999px;
}

.search-row button {
  padding: .78rem 1.05rem;
  color: #fff;
  background: var(--sage);
}

.surprise-button {
  padding: .78rem 1.1rem;
  color: #fff;
  background: var(--plum);
}

.search-results,
.surprise-result {
  margin-top: .8rem;
  color: var(--muted);
  font-size: .87rem;
}

.search-results ul {
  margin: .5rem 0 0;
  padding-left: 1.1rem;
}

.search-results li {
  margin: .18rem 0;
}

.surprise-result p {
  margin: .65rem 0 0;
}

.surprise-result strong {
  color: var(--ink);
}

.surprise-result img {
  width: 100%;
  max-width: 280px;
  margin-top: .7rem;
  border-radius: 14px;
}

.site-footer {
  width: min(var(--max-width), calc(100% - 2.8rem));
  margin: 0 auto;
  padding: 3.2rem 0 4rem;
  color: var(--muted);
  border-top: 1px solid rgba(70,70,66,.08);
  font-size: .9rem;
}

.site-footer ul {
  display: flex;
  flex-wrap: wrap;
  gap: .8rem 1.1rem;
  margin-bottom: 1.1rem;
}

.site-footer a {
  text-decoration: none;
  border-bottom: 1px solid transparent;
}

.site-footer a:hover,
.site-footer a:focus-visible {
  border-color: currentColor;
}

.site-footer p { max-width: 48rem; }

@media (max-width: 900px) {
  .hero {
    grid-template-columns: 1fr;
    gap: 1rem;
    padding-top: 3.3rem;
  }

  .hero-copy {
    max-width: 46rem;
    margin: 0 auto;
    text-align: center;
  }

  .hero-intro,
  .hero-note {
    margin-left: auto;
    margin-right: auto;
  }

  .mandala-wrap { min-height: 550px; }

  .people-intro {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .people-copy { padding: 1.2rem; }

  .discovery-tools {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .site-header { position: relative; }

  .header-inner {
    min-height: 64px;
    flex-wrap: wrap;
    padding: .8rem 0;
  }

  .menu-toggle { display: inline-block; }

  .primary-nav {
    width: 100%;
    margin-left: 0;
    display: none;
  }

  .primary-nav.is-open { display: block; }

  .primary-nav ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .25rem 1rem;
    padding: .5rem 0 .4rem;
  }

  .primary-nav li:last-child { grid-column: 1 / -1; }
  .primary-nav a { padding: .55rem 0; }

  .hero,
  .site-footer,
  .header-inner,
  .people-intro,
  .discovery-tools {
    width: min(100% - 2rem, var(--max-width));
  }

  .mandala-wrap { min-height: 420px; }
  .petal-label { font-size: 20px; }
  .petal-caption { display: none; }
  .centre-main { font-size: 18px; }

  .people-photo { aspect-ratio: 4 / 3; }

  .search-row {
    flex-direction: column;
  }

  .search-row button {
    align-self: flex-start;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .petal,
  .centre-link { transition: none; }
}


/* Sue and Andy inner page */

.primary-nav a[aria-current="page"] {
  color: var(--ink);
  border-color: var(--coral);
}

.inner-hero {
  width: min(var(--max-width), calc(100% - 2.8rem));
  margin: 0 auto;
  padding: 5.3rem 0 4.5rem;
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 4rem;
  align-items: center;
}

.inner-hero-copy {
  max-width: 530px;
}

.inner-hero h1 {
  margin: 0 0 1.4rem;
  font-size: clamp(3rem, 5.8vw, 5.7rem);
  font-weight: 500;
  letter-spacing: -.055em;
  line-height: .97;
}

.inner-intro {
  color: var(--ink-soft);
  font-size: 1.06rem;
}

.inner-hero-figure {
  margin: 0;
}

.inner-hero-figure img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  object-position: center center;
  border-radius: 28px;
  box-shadow: 0 24px 52px rgba(60,55,51,.10);
}

.inner-hero-figure figcaption,
.project-tab-content figcaption {
  margin: .55rem .2rem 0;
  color: var(--muted);
  font-size: .8rem;
}

.collaboration-section {
  width: min(900px, calc(100% - 2.8rem));
  margin: 0 auto;
  padding: 3rem 0 4rem;
}

.collaboration-heading {
  max-width: 630px;
  margin-bottom: 2rem;
}

.collaboration-heading h2 {
  margin: 0 0 .8rem;
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 500;
  letter-spacing: -.04em;
}

.collaboration-heading p:not(.eyebrow) {
  color: var(--ink-soft);
}

.project-tabs {
  display: grid;
  gap: .75rem;
}

.project-tab {
  border: 0;
  border-radius: 18px;
  overflow: hidden;
  background: rgba(255,255,255,.88);
  box-shadow: 0 7px 18px rgba(55,55,50,.045);
}

.project-tab summary {
  list-style: none;
  cursor: pointer;
  padding: 1.05rem 1.2rem;
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 1rem;
  align-items: center;
  font-weight: 600;
}

.project-tab summary::-webkit-details-marker {
  display: none;
}

.project-tab summary::after {
  content: "+";
  color: rgba(45,45,42,.56);
  font-size: 1.35rem;
  font-weight: 400;
  line-height: 1;
}

.project-tab[open] summary::after {
  content: "×";
}

.tab-note {
  color: rgba(45,45,42,.58);
  font-size: .84rem;
  font-weight: 400;
}

.project-tab-content {
  padding: .25rem 1.3rem 1.4rem;
  color: var(--ink-soft);
}

.project-tab-content p {
  max-width: 700px;
  margin: .8rem 0;
}

.project-tab-with-image {
  display: grid;
  grid-template-columns: 1fr 270px;
  gap: 1.5rem;
  align-items: start;
}

.project-tab-with-image figure {
  margin: .4rem 0 0;
}

.project-tab-with-image img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 14px;
}

.temiar-tab {
  border-left: 5px solid var(--sage);
}

.temiar-tab summary {
  background: #eff6f2;
}

.podcast-tab {
  border-left: 5px solid var(--blue);
}

.podcast-tab summary {
  background: #eef5f7;
}

.jungle-tab {
  border-left: 5px solid var(--coral);
}

.jungle-tab summary {
  background: #fbeeed;
}

.romania-tab {
  border-left: 5px solid var(--plum);
}

.romania-tab summary {
  background: #f4eef3;
}

.transform-tab {
  border-left: 5px solid var(--sand);
}

.transform-tab summary {
  background: #faf3ea;
}

.writing-tab {
  border-left: 5px solid #8d9b85;
}

.writing-tab summary {
  background: #f1f5ef;
}

.quiet-note {
  width: min(720px, calc(100% - 2.8rem));
  margin: 0 auto 4.5rem;
  padding: 1.15rem 1.35rem;
  color: var(--muted);
  background: rgba(255,255,255,.54);
  border-radius: 18px;
  text-align: center;
}

.quiet-note p {
  margin: 0;
}

@media (max-width: 900px) {
  .inner-hero {
    grid-template-columns: 1fr;
    gap: 2rem;
    padding-top: 3.4rem;
  }

  .inner-hero-copy {
    max-width: 700px;
  }

  .project-tab-with-image {
    grid-template-columns: 1fr;
  }

  .project-tab-with-image figure {
    max-width: 420px;
  }

  .andy-theatre-pair {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .inner-hero,
  .collaboration-section,
  .quiet-note {
    width: min(100% - 2rem, var(--max-width));
  }

  .project-tab summary {
    grid-template-columns: 1fr auto;
  }

  .tab-note {
    grid-column: 1 / -1;
    margin-top: -.35rem;
  }

  .project-tab summary::after {
    grid-column: 2;
    grid-row: 1;
  }
}


/* Sue and Andy v8 refinements */

.joint-inner-hero .inner-hero-copy {
  max-width: 570px;
}

.joint-inner-hero h1 {
  max-width: 620px;
}

.international-tab {
  border-left: 5px solid var(--blue);
}

.international-tab summary {
  background: #eef5f7;
}

.performance-tab {
  border-left: 5px solid var(--plum);
}

.performance-tab summary {
  background: #f4eef3;
}

.events-tab {
  border-left: 5px solid var(--sand);
}

.events-tab summary {
  background: #faf3ea;
}


/* v10 homepage image and text pairings */

.home-story {
  width: min(var(--max-width), calc(100% - 2.8rem));
  margin: 0 auto 4.8rem;
  display: grid;
  gap: 2.4rem;
}

.story-row {
  display: grid;
  grid-template-columns: 1.04fr .96fr;
  gap: 3rem;
  align-items: center;
  padding: 1.15rem;
  border-radius: 30px;
}

.story-row-first {
  background: linear-gradient(135deg, #fff8f5 0%, #f7fbf8 100%);
}

.story-row-second {
  background: linear-gradient(135deg, #f4f7f5 0%, #fbf5f1 100%);
}

.story-image {
  margin: 0;
}

.story-image img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  border-radius: 22px;
  display: block;
}

.story-image figcaption {
  margin: .55rem .2rem 0;
  color: var(--muted);
  font-size: .82rem;
}

.story-copy {
  padding: 1rem 1.5rem;
}

.story-copy p:not(.eyebrow) {
  margin: 0;
  color: var(--ink-soft);
  font-size: 1.02rem;
}

/* v10 Sue and Andy photo treatment */

.joint-photo-pair {
  position: relative;
  min-height: 540px;
}

.joint-photo {
  margin: 0;
}

.joint-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.joint-photo-main {
  position: absolute;
  inset: 0 14% 13% 0;
}

.joint-photo-main img {
  border-radius: 28px;
  box-shadow: 0 24px 52px rgba(60,55,51,.10);
}

.joint-photo-secondary {
  position: absolute;
  width: 48%;
  height: 43%;
  right: 0;
  bottom: 0;
  padding: 8px;
  background: var(--paper);
  border-radius: 22px;
  box-shadow: 0 18px 38px rgba(60,55,51,.13);
}

.joint-photo-secondary img {
  border-radius: 16px;
}

@media (max-width: 900px) {
  .story-row {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .story-row-second .story-copy {
    order: 2;
  }

  .story-row-second .story-image {
    order: 1;
  }

  .joint-photo-pair {
    min-height: 500px;
  }
}

@media (max-width: 720px) {
  .home-story {
    width: min(100% - 2rem, var(--max-width));
  }

  .story-row {
    padding: .8rem;
  }

  .story-copy {
    padding: .85rem .7rem 1rem;
  }

  .joint-photo-pair {
    min-height: 410px;
  }

  .joint-photo-main {
    inset: 0 8% 17% 0;
  }

  .joint-photo-secondary {
    width: 52%;
    height: 42%;
  }
}


/* v11 Sue and Andy single project image */

.joint-single-photo img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  object-position: center;
  border-radius: 28px;
  box-shadow: 0 24px 52px rgba(60,55,51,.10);
  display: block;
}


/* v12 homepage and inner navigation refinements */

.home-story-single {
  margin-bottom: 4.8rem;
}

.hero .hero-intro {
  margin-top: 0;
  margin-bottom: 1.25rem;
}

.home-link {
  font-weight: 600;
}


/* v16 homepage stacked hero */

.hero-stacked {
  display: block;
  padding-top: 2.6rem;
}

.hero-stacked .mandala-column-top {
  width: 100%;
}

.hero-stacked .mandala-wrap {
  min-height: 560px;
  margin: 0 auto 1rem;
}

.hero-stacked .mandala {
  width: min(540px, 82vw);
}

.hero-copy-wide {
  width: 100%;
  max-width: none;
  text-align: left;
  margin: 0;
}

.hero-copy-wide .eyebrow {
  margin-bottom: .8rem;
}

.hero-copy-wide h1 {
  max-width: 100%;
  margin-bottom: 1.25rem;
}

.hero-copy-wide .hero-intro {
  max-width: none;
  width: 100%;
  margin: 0;
  font-size: 1.08rem;
}

.hero-copy-wide .hero-note {
  max-width: none;
  margin-top: 1.35rem;
}

@media (max-width: 900px) {
  .hero-stacked .hero-copy {
    max-width: none;
    text-align: left;
  }

  .hero-stacked .hero-intro,
  .hero-stacked .hero-note {
    margin-left: 0;
    margin-right: 0;
  }
}

@media (max-width: 720px) {
  .hero-stacked {
    padding-top: 1.8rem;
  }

  .hero-stacked .mandala-wrap {
    min-height: 410px;
    margin-bottom: .4rem;
  }
}


/* v17 Temiar strand */

.temiar-content > p {
  max-width: none;
}

.temiar-image-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-top: 1.2rem;
}

.temiar-image-pair figure {
  margin: 0;
}

.temiar-image-pair img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 14px;
  display: block;
}

.temiar-image-pair figcaption {
  margin: .5rem .15rem 0;
  color: var(--muted);
  font-size: .8rem;
}

@media (max-width: 720px) {
  .temiar-image-pair {
    grid-template-columns: 1fr;
  }
}


/* v19 Temiar 2026 image crop adjustment */

.temiar-image-pair {
  align-items: start;
}

.temiar-image-full {
  object-fit: cover !important;
  object-position: center bottom !important;
}


/* v21 International strand */

.international-content > p {
  max-width: none;
}

.international-image-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-top: 1.2rem;
  align-items: start;
}

.international-image-pair figure {
  margin: 0;
}

.international-image-pair img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 14px;
  display: block;
}

.international-image-pair figcaption {
  margin: .5rem .15rem 0;
  color: var(--muted);
  font-size: .8rem;
}

@media (max-width: 720px) {
  .international-image-pair {
    grid-template-columns: 1fr;
  }
}


/* v22 Writing and Publications strand */

.writing-content > p {
  max-width: none;
}

.writing-cover-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.6rem;
  margin-top: 1.35rem;
  align-items: start;
}

.writing-cover-pair figure {
  margin: 0;
  text-align: center;
}

.writing-cover-pair img {
  width: auto;
  max-width: 100%;
  height: 330px;
  object-fit: contain;
  border-radius: 8px;
  box-shadow: 0 12px 26px rgba(60,55,51,.12);
  background: #fff;
}

.writing-cover-pair figcaption {
  margin: .55rem auto 0;
  color: var(--muted);
  font-size: .8rem;
  max-width: 300px;
}

@media (max-width: 720px) {
  .writing-cover-pair {
    grid-template-columns: 1fr;
  }

  .writing-cover-pair img {
    height: 300px;
  }
}


/* v23 Podcast strand */

.podcast-content > p {
  max-width: none;
}

.podcast-feature {
  display: block;
  margin-top: 1.3rem;
  color: inherit;
  text-decoration: none;
}

.podcast-feature figure {
  display: grid;
  grid-template-columns: minmax(260px, 0.95fr) minmax(260px, 1.05fr);
  gap: 1.25rem;
  align-items: center;
  margin: 0;
  padding: 1rem;
  border-radius: 16px;
  background: rgba(255,255,255,.55);
}

.podcast-feature img {
  width: 100%;
  display: block;
  border-radius: 12px;
}

.podcast-feature figcaption {
  display: flex;
  flex-direction: column;
  gap: .6rem;
  color: var(--text);
}

.podcast-feature figcaption strong {
  font-size: 1rem;
}

.podcast-feature figcaption span {
  line-height: 1.55;
}

.podcast-feature .watch-link {
  width: fit-content;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.podcast-feature:hover .watch-link,
.podcast-feature:focus-visible .watch-link {
  text-decoration-thickness: 2px;
}

@media (max-width: 720px) {
  .podcast-feature figure {
    grid-template-columns: 1fr;
  }
}


/* v24 Performance and Theatre */

.performance-content > p,
.events-content > p {
  max-width: none;
}

.performance-feature-image {
  margin: 1.3rem 0 0;
}

.performance-feature-image img {
  width: 100%;
  max-height: 520px;
  object-fit: cover;
  border-radius: 14px;
  display: block;
}

.performance-feature-image figcaption {
  margin: .5rem .15rem 0;
  color: var(--muted);
  font-size: .8rem;
}

/* v24 Events and Training */

.events-image-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-top: 1.2rem;
  align-items: start;
}

.events-image-pair figure {
  margin: 0;
}

.events-image-pair img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 14px;
  display: block;
}

.events-image-pair figcaption {
  margin: .5rem .15rem 0;
  color: var(--muted);
  font-size: .8rem;
}

@media (max-width: 720px) {
  .events-image-pair {
    grid-template-columns: 1fr;
  }
}


/* v25 Performance and Theatre image correction */
.performance-feature-image img {
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
}


/* v27 Sue Jennings page */

.sue-inner-hero {
  grid-template-columns: 1.08fr .72fr;
  gap: 4.4rem;
}

.sue-inner-hero .inner-hero-copy {
  max-width: 680px;
}

.sue-inner-hero h1 {
  max-width: 760px;
}

.sue-hero-photo {
  max-width: 430px;
  justify-self: end;
}

.sue-hero-photo img {
  aspect-ratio: 2 / 3;
  object-position: center top;
}

.sue-section {
  width: min(940px, calc(100% - 2.8rem));
  margin: 0 auto;
  padding: 2.2rem 0 4.8rem;
}

.sue-strand-content > p,
.sue-writing-content > p {
  max-width: none;
}

.sue-strand-image {
  margin: 1.35rem 0 0;
}

.sue-strand-image img {
  width: min(100%, 720px);
  max-height: 520px;
  object-fit: contain;
  object-position: left center;
  display: block;
  border-radius: 14px;
  background: rgba(255,255,255,.48);
}

.sue-performance-image img {
  width: auto;
  max-width: 100%;
  max-height: 560px;
}

.sue-international-image img {
  width: 100%;
  max-width: 760px;
  height: auto;
}

.sue-performance-tab {
  border-left: 5px solid var(--plum);
}

.sue-performance-tab summary {
  background: #f4eef3;
}

.sue-play-tab {
  border-left: 5px solid var(--blue);
}

.sue-play-tab summary {
  background: #eef5f7;
}

.sue-temiar-tab {
  border-left: 5px solid var(--sage);
}

.sue-temiar-tab summary {
  background: #eff6f2;
}

.sue-methods-tab {
  border-left: 5px solid var(--coral);
}

.sue-methods-tab summary {
  background: #fbeeed;
}

.sue-writing-tab {
  border-left: 5px solid #8d9b85;
}

.sue-writing-tab summary {
  background: #f1f5ef;
}

.sue-international-tab {
  border-left: 5px solid var(--sand);
}

.sue-international-tab summary {
  background: #faf3ea;
}

.sue-cover-grid {
  margin-top: 1.6rem;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem 1.2rem;
  align-items: start;
}

.sue-cover-grid figure {
  margin: 0;
  text-align: center;
}

.sue-cover-grid img {
  width: auto;
  max-width: 100%;
  height: 250px;
  object-fit: contain;
  display: block;
  margin: 0 auto;
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 12px 26px rgba(60,55,51,.12);
}

.sue-cover-grid figcaption {
  max-width: 250px;
  margin: .6rem auto 0;
  line-height: 1.4;
}

.sue-publication-list {
  margin-top: 2rem;
  padding: 1.25rem 1.3rem 1.1rem;
  background: rgba(255,255,255,.52);
  border-radius: 16px;
}

.sue-publication-list h3 {
  margin: 0 0 1rem;
  color: var(--ink);
  font-size: 1.15rem;
  font-weight: 600;
}

.publication-columns {
  column-count: 2;
  column-gap: 2.4rem;
}

.publication-columns p {
  break-inside: avoid;
  max-width: none;
  margin: 0 0 .72rem;
  line-height: 1.45;
  font-size: .92rem;
}

.publication-columns p span {
  display: inline-block;
  min-width: 3.2rem;
  margin-right: .35rem;
  color: var(--muted);
  font-size: .82rem;
  font-variant-numeric: tabular-nums;
}

@media (max-width: 900px) {
  .sue-inner-hero {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .sue-hero-photo {
    max-width: 420px;
    justify-self: start;
  }

  .sue-cover-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .sue-section {
    width: min(100% - 2rem, var(--max-width));
  }

  .sue-cover-grid {
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem .8rem;
  }

  .sue-cover-grid img {
    height: 210px;
  }

  .publication-columns {
    column-count: 1;
  }
}

@media (max-width: 440px) {
  .sue-cover-grid {
    grid-template-columns: 1fr;
  }

  .sue-cover-grid img {
    height: 260px;
  }
}


/* v30 Andy Hickson page */

.andy-inner-hero {
  grid-template-columns: .92fr 1.08fr;
  gap: 4rem;
}

.andy-inner-hero .inner-hero-copy {
  max-width: 620px;
}

.andy-inner-hero h1 {
  max-width: 720px;
}

.andy-hero-photo {
  max-width: 650px;
  justify-self: end;
}

.andy-hero-photo img {
  aspect-ratio: 3 / 2;
  object-position: center center;
}

.andy-section {
  width: min(940px, calc(100% - 2.8rem));
  margin: 0 auto;
  padding: 2.2rem 0 4.8rem;
}

.andy-strand-content > p,
.andy-writing-content > p {
  max-width: none;
}

.andy-strand-image {
  margin: 1.35rem 0 0;
}

.andy-strand-image img {
  width: min(100%, 760px);
  max-height: 560px;
  object-fit: contain;
  object-position: left center;
  display: block;
  border-radius: 14px;
  background: rgba(255,255,255,.48);
}

.andy-theatre-image img {
  width: auto;
  max-width: 100%;
  max-height: 600px;
}

.andy-education-image img {
  width: 100%;
  max-width: 800px;
  height: auto;
}

.andy-social-tab {
  border-left: 5px solid var(--coral);
}

.andy-social-tab summary {
  background: #fbeeed;
}

.andy-bullying-tab {
  border-left: 5px solid var(--blue);
}

.andy-bullying-tab summary {
  background: #eef5f7;
}

.andy-theatre-tab {
  border-left: 5px solid var(--plum);
}

.andy-theatre-tab summary {
  background: #f4eef3;
}

.andy-education-tab {
  border-left: 5px solid var(--sand);
}

.andy-education-tab summary {
  background: #faf3ea;
}

.andy-anthropology-tab {
  border-left: 5px solid var(--sage);
}

.andy-anthropology-tab summary {
  background: #eff6f2;
}

.andy-writing-tab {
  border-left: 5px solid #8d9b85;
}

.andy-writing-tab summary {
  background: #f1f5ef;
}

.andy-cover-grid {
  margin-top: 1.7rem;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.55rem 1.2rem;
  align-items: start;
}

.andy-cover-grid figure {
  margin: 0;
  text-align: center;
}

.andy-cover-grid img {
  width: auto;
  max-width: 100%;
  height: 265px;
  object-fit: contain;
  display: block;
  margin: 0 auto;
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 12px 26px rgba(60,55,51,.12);
}

.andy-cover-grid figcaption {
  max-width: 260px;
  margin: .6rem auto 0;
  line-height: 1.4;
}

.andy-theatre-pair {
  margin-top: 1.7rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.2rem;
  align-items: start;
}

.andy-theatre-card {
  margin: 0;
}

.andy-theatre-card img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center;
  display: block;
  border-radius: 8px;
  box-shadow: 0 12px 26px rgba(60,55,51,.12);
}

.andy-theatre-card figcaption {
  margin-top: .6rem;
}

.andy-publication-list {
  margin-top: 2rem;
  padding: 1.3rem 1.4rem 1.15rem;
  background: rgba(255,255,255,.52);
  border-radius: 16px;
}

.andy-publication-list h3 {
  margin: 0 0 1rem;
  color: var(--ink);
  font-size: 1.15rem;
  font-weight: 600;
}

.andy-publications p {
  max-width: none;
  margin: 0 0 .9rem;
  padding-left: 4rem;
  position: relative;
  line-height: 1.5;
  font-size: .93rem;
}

.andy-publications p span {
  position: absolute;
  left: 0;
  top: .05rem;
  min-width: 3.2rem;
  color: var(--muted);
  font-size: .82rem;
  font-variant-numeric: tabular-nums;
}

.andy-publications a {
  color: var(--ink);
  text-decoration-color: var(--coral);
  text-underline-offset: .18em;
}

.andy-publications a:hover,
.andy-publications a:focus-visible {
  color: var(--coral);
}

@media (max-width: 900px) {
  .andy-inner-hero {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .andy-hero-photo {
    max-width: 620px;
    justify-self: start;
  }

  .andy-cover-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .andy-section {
    width: min(100% - 2rem, var(--max-width));
  }

  .andy-cover-grid {
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem .8rem;
  }

  .andy-cover-grid img {
    height: 220px;
  }
}

@media (max-width: 520px) {
  .andy-publications p {
    padding-left: 0;
  }

  .andy-publications p span {
    position: static;
    display: block;
    margin-bottom: .2rem;
  }
}

@media (max-width: 440px) {
  .andy-cover-grid {
    grid-template-columns: 1fr;
  }

  .andy-cover-grid img {
    height: 275px;
  }
}

/* A quiet site-wide copyright notice, added in v78. */
.site-footer .site-copyright {
  max-width: 900px;
  margin: .7rem auto 0;
  padding: 0 .5rem;
  color: var(--muted, #777873);
  font-size: .77rem;
  line-height: 1.55;
  text-align: center;
}
/* Image drag deterrent only; text and keyboard interaction remain available. */
img { -webkit-user-drag: none; }
