@font-face{font-family:Didot;src:local('Didot');font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:#fff;color:#141414;font-family:Didot,'Bodoni MT','Times New Roman',serif;font-size:18px;line-height:1.6}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}a:focus-visible,summary:focus-visible,button:focus-visible{outline:2px solid #111;outline-offset:6px}img{display:block;width:100%;height:auto;filter:grayscale(1)}figure{margin:0}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400}h1,h2{font-size:clamp(42px,5.2vw,76px);line-height:1.08;letter-spacing:-.035em;margin-bottom:30px}h3{font-size:34px;line-height:1.2;margin-bottom:16px}p{margin-bottom:22px}.header{height:90px;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #181818;background:#fff;gap:25px}.home{font-size:22px}.header nav{display:flex;gap:36px;font-size:16px}.edition,.eyebrow,.small-note,.section-marker,.role,figcaption,.contact-label{font-size:14px}.edition,.eyebrow{text-transform:uppercase;letter-spacing:.12em}.eyebrow{display:block;margin-bottom:25px}.hero{padding:64px 5.5% 0}.hero-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:48px;gap:40px}.logo-wrap{width:min(44%,465px)}.brand-logo{width:100%;height:auto;overflow:visible;display:block}.brand-logo .logo-letter{animation:letter-in .2s both}.brand-logo .note-first{animation:letter-in .35s both}.hero-note{padding-right:6%;padding-bottom:8px}.hero-note p{font-size:clamp(26px,3.5vw,48px);line-height:1.16;margin:0}.hero-note .eyebrow{margin-bottom:18px}.hero-image img{height:clamp(330px,44vw,640px);object-fit:cover;object-position:center 41%}figcaption{display:flex;justify-content:space-between;padding-top:12px;font-style:italic}.section{margin:0 5.5%;padding:110px 0;border-bottom:1px solid #333}.intro{max-width:100%;padding-left:15%;padding-right:15%}.lead{font-size:clamp(24px,2.4vw,32px);line-height:1.4}.strand-links{display:grid;grid-template-columns:1fr 1fr;margin-top:55px;border-top:1px solid #222}.strand-links a{padding:18px 0;font-size:20px}.strand-links span{font-size:14px;margin-right:22px}.strand{display:grid;grid-template-columns:100px 1fr 1fr;gap:5%}.section-marker{display:flex;flex-direction:column;gap:25px;line-height:1.4}.section-marker>span:first-child{font-size:34px;font-style:italic}.strand-content h2{font-size:clamp(38px,4vw,61px)}.strand-image{align-self:center}.strand-image img{aspect-ratio:4/5;object-fit:cover;object-position:55% center}.section-top{display:flex;align-items:center;justify-content:space-between;gap:25px}.small-note{font-style:italic}.production-feature{display:grid;grid-template-columns:1.6fr 1fr;gap:7%;align-items:center;margin:25px 0 55px}.production-feature img{aspect-ratio:3/2;object-fit:cover}.production-feature h3{font-size:54px}.production-description{font-style:italic;max-width:320px}.repertoire{border-top:1px solid #222}.repertoire>div{display:grid;grid-template-columns:55px 1.15fr 1fr;align-items:baseline;gap:20px;border-bottom:1px solid #bbb;padding:24px 0}.repertoire h3{font-size:28px;margin:0}.repertoire p{margin:0}.repertoire small{display:block;font-size:14px;line-height:1.5;margin-top:10px;max-width:340px}.repertoire>div>span{font-size:14px}.photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:55px}.photo-pair img{height:310px;object-fit:cover}.embodied{border-bottom:0}.programme{padding-top:10px}.programme figure{margin-bottom:32px}.programme img{aspect-ratio:4/3;object-fit:cover}.programme h3{font-size:30px}.practice-list{list-style:none;padding:0;margin:32px 0 0;font-size:17px}.practice-list li{padding:10px 0;border-top:1px solid #b9b9b9}.founders{border-top:1px solid #222}.founder-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;margin-top:45px}.founder-grid img{aspect-ratio:3/2;object-fit:cover;margin-bottom:30px}.founder-grid h3{font-size:39px}.role{font-style:italic;min-height:44px;line-height:1.5}details{border-top:1px solid #999;margin-top:30px}summary{font-size:16px;padding:16px 0;cursor:pointer}details>div{padding-top:12px}.closing-image{margin:70px 5.5%}.closing-image img{height:420px;object-fit:cover;object-position:center 40%}footer{padding:50px 5.5% 65px;border-top:1px solid #222;display:grid;grid-template-columns:1fr 3fr auto;gap:30px;align-items:start}.contact-label{text-transform:uppercase;letter-spacing:.12em}.contact-details{display:flex;flex-direction:column;gap:6px;font-size:clamp(20px,2.5vw,32px)}.instagram{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center}.instagram svg{width:24px;height:24px}.skip{position:absolute;left:20px;top:-100px;padding:10px;background:white;z-index:2}.skip:focus{top:20px}@keyframes letter-in{from{opacity:0}to{opacity:1}}@media(min-width:1600px){body{max-width:1600px;margin:auto}}@media(max-width:900px){.edition{display:none}.strand{grid-template-columns:55px 1fr;gap:6%}.strand-image,.programme{grid-column:2}.strand-image img{aspect-ratio:3/2}.intro{padding-left:8%;padding-right:8%}.hero-note{padding-right:0}.hero-note .eyebrow{font-size:12px}.section{padding-top:75px;padding-bottom:75px}.photo-pair img{height:230px}}@media(max-width:600px){body{font-size:17px}.header{height:auto;min-height:90px;padding-top:15px;padding-bottom:15px;flex-wrap:wrap;gap:10px}.home{font-size:20px}.header nav{width:100%;font-size:14px;gap:28px}.hero{padding-top:38px}.hero-heading{display:block;margin-bottom:32px}.logo-wrap{width:80%;max-width:340px}.hero-note{margin-top:30px}.hero-note p{font-size:29px}.hero-note p br{display:none}.hero-note .eyebrow{font-size:12px;margin-bottom:12px}.hero-image img{height:330px;object-position:54% center}figcaption{font-size:12px}.intro{padding-left:0;padding-right:0}.strand-links{grid-template-columns:1fr;margin-top:35px}.strand-links a{border-bottom:1px solid #ccc}.strand{grid-template-columns:1fr;gap:20px}.section-marker{flex-direction:row;align-items:center;gap:20px}.section-marker>span:first-child{font-size:25px}.strand-image,.programme{grid-column:1}.section-top{display:block}.small-note{display:block;margin-bottom:25px}.production-feature{grid-template-columns:1fr;gap:25px;margin-bottom:35px}.production-feature h3{font-size:40px}.production-feature .eyebrow{margin-bottom:12px}.production-description{max-width:none}.repertoire>div{grid-template-columns:28px 1fr;gap:8px 12px;padding:20px 0}.repertoire h3{font-size:26px}.repertoire p{grid-column:2;font-size:16px}.photo-pair{gap:12px;margin-top:35px}.photo-pair img{height:200px}.founder-grid{grid-template-columns:1fr;gap:60px}.role{min-height:0}.closing-image{margin-top:45px;margin-bottom:45px}.closing-image img{height:270px}footer{grid-template-columns:1fr auto;gap:20px}.contact-label{grid-column:1/-1}.contact-details{font-size:19px;overflow-wrap:anywhere}.section{padding-top:60px;padding-bottom:60px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.brand-logo .logo-letter,.brand-logo .note-first{animation:none}}

/* 60–30–10 palette: white space, black content, mustard emphasis.
   Treat these proportions as a visual balance across the page. */
:root {
  --paper: #fff;
  --ink: #141414;
  --mustard: #b79528;
  --mustard-ink: #806000;
}
body { background: var(--paper); color: var(--ink); text-align: left; }
.header { justify-content: flex-start; gap: 64px; }
.header nav { gap: 32px; }
.edition { margin-left: 24px; }
.hero { padding-top: clamp(72px, 9vw, 144px); }
.hero-heading {
  display: block;
  padding-bottom: clamp(36px, 5vw, 80px);
  margin-bottom: 0;
}
.logo-wrap {
  width: min(57%, 560px);
  margin: 0 0 clamp(46px, 6vw, 88px);
}
.hero-note { padding: 0; max-width: 580px; }
.hero-note .eyebrow { margin-bottom: 16px; }
.hero-note .eyebrow::before {
  content: '';
  display: block;
  width: 72px;
  height: 3px;
  background: var(--mustard);
  margin-bottom: 24px;
}
.hero-note p { font-size: clamp(25px, 3vw, 38px); }
.hero-note p br { display: none; }
.hero-image img { height: clamp(300px, 37vw, 540px); }
figcaption { justify-content: flex-start; flex-wrap: wrap; gap: 12px 36px; }
.section { padding-top: 120px; padding-bottom: 120px; }
.intro { padding-left: 0; padding-right: 0; }
.intro h1 { font-size: clamp(48px, 6vw, 88px); max-width: 900px; }
.intro > .lead { max-width: 780px; }
.lead { font-size: clamp(23px, 2vw, 28px); }
.strand-links { max-width: 850px; gap: 32px; border-top: 0; margin-top: 52px; }
.strand-links a { border-top: 1px solid var(--ink); padding: 20px 0; font-size: 20px; }
.strand-links span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  background: var(--mustard);
  color: var(--ink);
  margin-right: 14px;
}
.strand { grid-template-columns: 1fr 1fr; gap: 36px 8%; }
.section-marker {
  grid-column: 1 / -1;
  flex-direction: row;
  align-items: center;
  gap: 18px;
  margin-bottom: 8px;
}
.section-marker > span:first-child {
  display: inline-flex;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  background: var(--mustard);
  color: var(--ink);
  font-size: 25px;
}
/* Two medium anchors for the two core strands; secondary headings stay quiet. */
.strand-content h2 { font-size: clamp(39px, 4vw, 58px); }
.productions h2, .founders h2 { font-size: clamp(32px, 3vw, 42px); }
.section-top { display: block; }
.section-top h2 { margin-bottom: 18px; }
.small-note { display: block; margin-bottom: 36px; }
.production-feature { align-items: start; }
.production-feature h3 { font-size: clamp(30px, 3vw, 42px); }
.production-feature .eyebrow {
  color: var(--mustard-ink);
  border-left: 3px solid var(--mustard);
  padding-left: 14px;
}
.repertoire h3 { font-size: 25px; }
.repertoire > div > span { color: var(--mustard-ink); }
.founder-grid h3 { font-size: 32px; }
.programme h3 { font-size: 28px; }
.strand-image { align-self: start; }
.programme { padding-top: 0; }
.practice-list li:first-child { border-top: 3px solid var(--mustard); }
summary::marker { color: var(--mustard-ink); }
a:hover { text-decoration-color: var(--mustard-ink); }
a:focus-visible, summary:focus-visible, button:focus-visible {
  outline-color: var(--mustard-ink);
}
footer { grid-template-columns: 1fr auto; gap: 24px 40px; }
.contact-label {
  grid-column: 1 / -1;
  width: fit-content;
  padding: 5px 14px;
  background: var(--mustard);
  color: var(--ink);
}
.contact-details { font-size: clamp(20px, 2.2vw, 30px); }
@media(max-width:900px) {
  .header { gap: 36px; }
  .section { padding-top: 88px; padding-bottom: 88px; }
  .intro { padding-left: 0; padding-right: 0; }
  .strand { grid-template-columns: 1fr 1fr; gap: 28px 6%; }
  .strand-image, .programme { grid-column: 2; }
  .strand-image img { aspect-ratio: 4/5; }
  .logo-wrap { width: min(68%, 500px); }
}
@media(max-width:600px) {
  .header { gap: 12px; }
  .header nav { gap: 28px; }
  .hero { padding-top: 64px; }
  .hero-heading { display: block; padding-bottom: 42px; }
  .logo-wrap { width: 88%; max-width: 360px; margin-bottom: 52px; }
  .hero-note { margin-top: 0; }
  .hero-note p { font-size: 26px; }
  .hero-image img { height: 300px; }
  .section { padding-top: 70px; padding-bottom: 70px; }
  .strand-links { gap: 0; margin-top: 36px; }
  .strand-links a { font-size: 19px; }
  .strand { grid-template-columns: 1fr; gap: 24px; }
  .section-marker { grid-column: 1; margin-bottom: 8px; }
  .strand-image, .programme { grid-column: 1; }
  .strand-image img { aspect-ratio: 3/2; }
  .strand-content h2 { font-size: 40px; }
  .repertoire h3 { font-size: 25px; }
  .contact-details { font-size: 19px; }
}

/* Centered composition with warm, naturally diffused image shadows. */
body { text-align: center; }
.header { justify-content: center; }
.header nav { justify-content: center; }
.edition { margin-left: 0; }
.logo-wrap { margin-left: auto; margin-right: auto; }
.hero-note { margin-left: auto; margin-right: auto; }
.hero-note .eyebrow::before {
  margin-left: auto;
  margin-right: auto;
}
figcaption { justify-content: center; padding-top: 22px; }
.intro h1, .intro > .lead, .strand-links {
  margin-left: auto;
  margin-right: auto;
}
.section-marker { justify-content: center; }
.production-feature { align-items: center; }
.production-description, .repertoire small {
  margin-left: auto;
  margin-right: auto;
}
.production-feature .eyebrow {
  border-left: 0;
  padding-left: 0;
}
.production-feature .eyebrow::after {
  content: '';
  display: block;
  width: 48px;
  height: 3px;
  margin: 16px auto 0;
  background: var(--mustard);
}
/* Photos are already monochrome. Avoid a grayscale filter on the warm shadow. */
img {
  filter: none;
  box-shadow:
    0 5px 12px -6px rgb(20 20 20 / 18%),
    0 22px 38px -18px rgb(183 149 40 / 23%),
    0 48px 74px -28px rgb(183 149 40 / 20%);
}
.programme figure { margin-bottom: 48px; }
.founder-grid img { margin-bottom: 46px; }
.photo-pair { gap: 40px; }
footer {
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
  gap: 24px;
}
.contact-label { grid-column: 1; }
.contact-details { align-items: center; min-width: 0; max-width: 100%; }
@media(max-width:600px) {
  .header nav { justify-content: center; }
  .section-marker { justify-content: center; }
  .photo-pair { gap: 18px; }
  img {
    box-shadow:
      0 4px 10px -5px rgb(20 20 20 / 16%),
      0 18px 30px -14px rgb(183 149 40 / 23%),
      0 34px 48px -20px rgb(183 149 40 / 20%);
  }
}

/* A quiet leftward bias and a little more air within the centered composition. */
:root { --alignment-nudge: -8px; }
body { letter-spacing: .008em; }
main { position: relative; left: var(--alignment-nudge); }
.header > *, footer > * { position: relative; left: var(--alignment-nudge); }
.header nav { gap: 36px; }
.eyebrow, .edition, .contact-label { letter-spacing: .13em; }
.strand-links { column-gap: 36px; }
@media(max-width:600px) {
  :root { --alignment-nudge: -3px; }
  .header nav { gap: 30px; }
  .strand-links { column-gap: 0; }
}

/* Language control remains in the upper-left corner on every screen size. */
.header { position: relative; height: auto; min-height: 132px; padding-top: 55px; padding-bottom: 25px; }
.header > .language-switch {
  position: absolute;
  top: 12px;
  left: 14px;
  z-index: 5;
  text-align: left;
  letter-spacing: normal;
}
.language-switch button {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 36px;
  padding: 5px 12px;
  border: 1px solid var(--mustard);
  border-radius: 0;
  background: var(--paper);
  color: var(--ink);
  font: inherit;
  font-size: 15px;
  cursor: pointer;
}
.language-switch button:hover, .language-switch button[aria-expanded="true"] { background: var(--mustard); }
.header .language-switch nav {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 145px;
  padding: 6px;
  background: var(--paper);
  border: 1px solid var(--mustard);
  box-shadow: 0 12px 28px -12px rgb(183 149 40 / 30%);
}
.language-switch nav[hidden] { display: none !important; }
.language-switch nav a { display: block; padding: 8px 10px; font-size: 16px; }
.language-switch nav a[aria-current="page"] { background: var(--mustard); }
@media(max-width:600px) {
  .header { min-height: 145px; padding-top: 60px; padding-bottom: 20px; }
  .header > .language-switch { left: 12px; }
}

/* Centered composition with left-aligned reading blocks in every language. */
.intro > .lead,
.strand-content > p,
.programme > p,
.production-feature > div > p,
.founder-grid article > p,
.founder-grid details,
.practice-list {
  text-align: left;
}
