/* Chantal — live-source editorial preview */
#chantal {
    --ch-ink: #0a0a09;
    --ch-paper: #f0eee8;
    --ch-field: #535545;
    --ch-line: rgba(83, 85, 69, .34);
    --ch-sans: "IBM Plex Sans", Arial, sans-serif;
    --ch-serif: "Cormorant Garamond", Georgia, serif;
    background: var(--ch-paper);
    color: var(--ch-ink);
  }

  #chantal .ch-article,
  #chantal .ch-article * {
    box-sizing: border-box;
  }

  #chantal .ch-article {
    overflow: hidden;
    background: var(--ch-paper);
    font-family: var(--ch-sans);
  }

  #chantal .ch-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 56%) minmax(360px, 44%);
    min-height: min(860px, calc(100vh - 62px));
    background: #050505;
    color: #fff;
  }

  #chantal .ch-hero-figure {
    position: relative;
    min-height: 700px;
    margin: 0;
    overflow: hidden;
  }

  #chantal .ch-hero-figure::after {
    position: absolute;
    inset: 0;
    content: "";
    background: linear-gradient(90deg, transparent 63%, #050505 100%);
    pointer-events: none;
  }

  #chantal .ch-hero-figure img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 64%;
  }

  #chantal .ch-hero-caption {
    position: absolute;
    z-index: 2;
    right: clamp(22px, 3vw, 52px);
    bottom: 28px;
    left: clamp(22px, 3vw, 52px);
    display: flex;
    gap: 14px;
    align-items: baseline;
    max-width: 540px;
    margin: 0;
    color: rgba(255, 255, 255, .82);
    font: 400 11px/1.45 var(--ch-sans);
    letter-spacing: .08em;
  }

  #chantal .ch-hero-caption span {
    flex: 0 0 auto;
    color: #fff;
    font-weight: 600;
    letter-spacing: .16em;
  }

  #chantal .ch-hero-copy {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: clamp(70px, 8vw, 134px) clamp(34px, 7vw, 116px) clamp(70px, 8vw, 134px) clamp(24px, 4vw, 72px);
  }

  #chantal .ch-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 9px 16px;
    align-items: center;
    margin: 0 0 30px;
    color: rgba(255, 255, 255, .68);
    font: 500 11px/1.3 var(--ch-sans);
    letter-spacing: .15em;
    text-transform: uppercase;
  }

  #chantal .ch-meta a {
    color: inherit;
    text-decoration: none;
  }

  #chantal .ch-meta a:hover,
  #chantal .ch-meta a:focus-visible {
    color: #fff;
  }

  #chantal .ch-meta span:last-child::before {
    margin-right: 16px;
    content: "/";
    color: rgba(255, 255, 255, .35);
  }

  #chantal .ch-title {
    max-width: 7ch;
    margin: 0;
    font: 500 clamp(76px, 9.2vw, 158px)/.78 var(--ch-serif);
    letter-spacing: -.055em;
  }

  #chantal .ch-lead {
    max-width: 31rem;
    margin: clamp(34px, 5vw, 68px) 0 0;
    color: rgba(255, 255, 255, .86);
    font: 400 clamp(18px, 1.55vw, 25px)/1.52 var(--ch-sans);
  }

  #chantal .ch-opening {
    display: grid;
    grid-template-columns: minmax(210px, .75fr) minmax(0, 1.25fr);
    gap: clamp(36px, 8vw, 140px);
    max-width: 1260px;
    margin: 0 auto;
    padding: clamp(92px, 11vw, 170px) clamp(24px, 6vw, 92px);
    border-bottom: 1px solid var(--ch-line);
  }

  #chantal .ch-opening-mark {
    margin: 0;
    color: var(--ch-field);
    font: 500 11px/1.3 var(--ch-sans);
    letter-spacing: .18em;
    text-transform: uppercase;
  }

  #chantal .ch-opening-copy {
    max-width: 790px;
    margin: 0;
    font: 500 clamp(32px, 3.6vw, 58px)/1.08 var(--ch-serif);
    letter-spacing: -.025em;
  }

  #chantal .ch-timeline {
    position: relative;
    max-width: 1260px;
    margin: 0 auto;
    padding: clamp(80px, 10vw, 150px) clamp(24px, 6vw, 92px);
  }

  #chantal .ch-timeline::before {
    position: absolute;
    top: clamp(80px, 10vw, 150px);
    bottom: clamp(80px, 10vw, 150px);
    left: calc(clamp(24px, 6vw, 92px) + 155px);
    width: 1px;
    content: "";
    background: var(--ch-line);
  }

  #chantal .ch-era {
    position: relative;
    display: grid;
    grid-template-columns: 155px minmax(0, 1fr);
    gap: clamp(42px, 7vw, 112px);
    padding: 0 0 clamp(74px, 8vw, 126px);
  }

  #chantal .ch-era:last-child {
    padding-bottom: 0;
  }

  #chantal .ch-era time {
    position: relative;
    display: block;
    padding: 5px 30px 0 0;
    color: var(--ch-field);
    font: 500 12px/1.45 var(--ch-sans);
    letter-spacing: .1em;
    text-align: right;
    text-transform: uppercase;
  }

  #chantal .ch-era time::after {
    position: absolute;
    top: 8px;
    right: -5px;
    z-index: 1;
    width: 9px;
    height: 9px;
    border: 2px solid var(--ch-paper);
    border-radius: 50%;
    content: "";
    background: var(--ch-field);
  }

  #chantal .ch-era-copy {
    max-width: 715px;
  }

  #chantal .ch-era-copy p {
    margin: 0 0 1.25em;
    font: 400 clamp(17px, 1.35vw, 21px)/1.72 var(--ch-sans);
  }

  #chantal .ch-era-copy p:last-child {
    margin-bottom: 0;
  }

  #chantal .ch-era-copy .ch-emphasis {
    max-width: 19ch;
    margin: clamp(34px, 4vw, 60px) 0;
    color: var(--ch-field);
    font: 500 clamp(34px, 4vw, 60px)/1.02 var(--ch-serif);
    letter-spacing: -.025em;
  }

  #chantal .ch-turn {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 520px);
    gap: clamp(50px, 9vw, 150px);
    align-items: end;
    padding: clamp(100px, 12vw, 190px) clamp(24px, 9vw, 150px);
    background: var(--ch-field);
    color: #fff;
  }

  #chantal .ch-turn p {
    max-width: 13ch;
    margin: 0;
    font: 500 clamp(58px, 7.5vw, 126px)/.9 var(--ch-serif);
    letter-spacing: -.045em;
  }

  #chantal .ch-turn time {
    display: block;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(255, 255, 255, .45);
    font: 500 12px/1.4 var(--ch-sans);
    letter-spacing: .13em;
    text-transform: uppercase;
  }

  #chantal .ch-life {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, .82fr);
    max-width: 1260px;
    margin: 0 auto;
    padding: clamp(95px, 11vw, 170px) clamp(24px, 6vw, 92px);
    gap: clamp(55px, 9vw, 145px);
    align-items: start;
  }

  #chantal .ch-life-copy p {
    max-width: 680px;
    margin: 0 0 1.25em;
    font: 400 clamp(17px, 1.35vw, 21px)/1.72 var(--ch-sans);
  }

  #chantal .ch-life-copy p:last-child {
    margin-bottom: 0;
  }

  #chantal .ch-life-copy .ch-life-last {
    margin-top: clamp(45px, 6vw, 86px);
    color: var(--ch-field);
    font: 500 clamp(34px, 3.8vw, 57px)/1.08 var(--ch-serif);
    letter-spacing: -.02em;
  }

  #chantal .ch-evening {
    position: sticky;
    top: 88px;
    margin: 0;
  }

  #chantal .ch-evening img {
    display: block;
    width: 100%;
    aspect-ratio: 3 / 4;
    object-fit: cover;
  }

  #chantal .ch-evening figcaption {
    display: grid;
    grid-template-columns: 26px 1fr;
    gap: 14px;
    padding-top: 16px;
    color: rgba(10, 10, 9, .66);
    font: 400 11px/1.5 var(--ch-sans);
    letter-spacing: .055em;
  }

  #chantal .ch-evening figcaption span {
    color: var(--ch-ink);
    font-weight: 600;
    letter-spacing: .14em;
  }

  #chantal .ch-closing {
    padding: clamp(105px, 13vw, 220px) clamp(24px, 9vw, 150px);
    background: var(--ch-ink);
    color: #fff;
  }

  #chantal .ch-closing-inner {
    display: grid;
    grid-template-columns: minmax(250px, .8fr) minmax(0, 1.2fr);
    gap: clamp(50px, 10vw, 160px);
    align-items: start;
    max-width: 1180px;
    margin: 0 auto;
  }

  #chantal .ch-closing-title {
    margin: 0;
    font: 500 clamp(62px, 7.5vw, 120px)/.86 var(--ch-serif);
    letter-spacing: -.045em;
  }

  #chantal .ch-closing-copy p {
    max-width: 670px;
    margin: 0 0 1.25em;
    color: rgba(255, 255, 255, .78);
    font: 400 clamp(17px, 1.35vw, 21px)/1.72 var(--ch-sans);
  }

  #chantal .ch-closing-copy p:last-child {
    margin-bottom: 0;
    color: #fff;
  }

  #chantal .ch-instagram {
    display: grid;
    grid-template-columns: minmax(180px, .55fr) minmax(0, 1fr) auto;
    gap: 36px;
    align-items: center;
    padding: clamp(42px, 5vw, 72px) clamp(24px, 7vw, 110px);
    border-top: 1px solid rgba(255, 255, 255, .14);
    background: var(--ch-ink);
    color: #fff;
  }

  #chantal .ch-instagram span {
    font: 500 11px/1.3 var(--ch-sans);
    letter-spacing: .16em;
    text-transform: uppercase;
  }

  #chantal .ch-instagram p {
    max-width: 650px;
    margin: 0;
    color: rgba(255, 255, 255, .62);
    font: 400 14px/1.55 var(--ch-sans);
  }

  #chantal .ch-instagram a {
    display: inline-block;
    padding: 13px 20px;
    border: 1px solid rgba(255, 255, 255, .48);
    color: #fff;
    font: 500 11px/1 var(--ch-sans);
    letter-spacing: .09em;
    text-decoration: none;
    text-transform: uppercase;
    transition: background-color .2s ease, color .2s ease;
  }

  #chantal .ch-instagram a:hover,
  #chantal .ch-instagram a:focus-visible {
    background: #fff;
    color: var(--ch-ink);
  }

  @media (max-width: 900px) {
    #chantal .ch-hero {
      display: flex;
      flex-direction: column;
      min-height: 0;
    }

    #chantal .ch-hero-figure {
      min-height: 0;
      aspect-ratio: 4 / 5;
    }

    #chantal .ch-hero-figure::after {
      background: linear-gradient(180deg, transparent 68%, #050505 100%);
    }

    #chantal .ch-hero-copy {
      padding: 42px 24px 72px;
    }

    #chantal .ch-opening {
      grid-template-columns: 1fr;
      gap: 30px;
    }

    #chantal .ch-turn {
      grid-template-columns: 1fr;
      gap: 55px;
    }

    #chantal .ch-life {
      grid-template-columns: 1fr;
    }

    #chantal .ch-evening {
      position: static;
      grid-row: 1;
      width: min(100%, 560px);
    }

    #chantal .ch-life-copy {
      grid-row: 2;
    }

    #chantal .ch-closing-inner {
      grid-template-columns: 1fr;
    }

    #chantal .ch-instagram {
      grid-template-columns: 1fr;
      gap: 18px;
    }

    #chantal .ch-instagram a {
      justify-self: start;
    }
  }

  @media (max-width: 620px) {
    #chantal .ch-hero-caption {
      right: 18px;
      bottom: 18px;
      left: 18px;
    }

    #chantal .ch-title {
      font-size: clamp(68px, 24vw, 104px);
    }

    #chantal .ch-meta span:last-child::before {
      margin-right: 9px;
    }

    #chantal .ch-timeline::before {
      left: 28px;
    }

    #chantal .ch-era {
      grid-template-columns: 1fr;
      gap: 22px;
      padding-left: 34px;
    }

    #chantal .ch-era time {
      padding: 0;
      text-align: left;
    }

    #chantal .ch-era time::after {
      top: 4px;
      right: auto;
      left: -39px;
    }

    #chantal .ch-turn p {
      font-size: clamp(54px, 18vw, 84px);
    }

    #chantal .ch-closing-title {
      font-size: clamp(58px, 19vw, 88px);
    }
  }

/* Princess Grace — live-source editorial preview */
.pg-page {
    --pg-ink: #181512;
    --pg-paper: #f2eee6;
    --pg-paper-deep: #e8dfd3;
    --pg-wine: #5a171b;
    --pg-wine-deep: #2a0b0d;
    --pg-rule: rgba(24, 21, 18, .2);
    background: var(--pg-paper);
    color: var(--pg-ink);
    overflow: clip;
  }

  .pg-page,
  .pg-page p,
  .pg-page a,
  .pg-page span {
    font-family: "IBM Plex Sans", Arial, sans-serif;
  }

  .pg-page h1,
  .pg-page h2,
  .pg-page h3,
  .pg-page blockquote {
    font-family: "Cormorant Garamond", Georgia, serif;
  }

  .pg-hero {
    min-height: clamp(660px, calc(100vh - 74px), 940px);
    display: grid;
    grid-template-columns: minmax(0, 56fr) minmax(390px, 44fr);
    background: var(--pg-wine-deep);
  }

  .pg-hero-media {
    position: relative;
    min-height: 660px;
    margin: 0;
    overflow: hidden;
    background: #b7a78f;
  }

  .pg-hero-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
      linear-gradient(90deg, transparent 62%, rgba(42, 11, 13, .68) 100%),
      linear-gradient(0deg, rgba(10, 7, 5, .38), transparent 35%);
    pointer-events: none;
  }

  .pg-hero-media img {
    width: 100%;
    height: 100%;
    min-height: 660px;
    display: block;
    object-fit: cover;
    object-position: center 48%;
  }

  .pg-hero-media figcaption {
    position: absolute;
    z-index: 1;
    left: clamp(24px, 4vw, 68px);
    bottom: clamp(24px, 4vw, 52px);
    max-width: 410px;
    color: rgba(255, 255, 255, .9);
    font-size: 12px;
    line-height: 1.5;
    letter-spacing: .035em;
  }

  .pg-hero-media figcaption span,
  .pg-media figcaption span {
    display: block;
    margin-bottom: 8px;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .22em;
  }

  .pg-hero-copy {
    align-self: center;
    padding: clamp(54px, 7vw, 112px) clamp(34px, 6vw, 96px);
    color: #fff;
  }

  .pg-kicker {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 0 0 30px;
    color: rgba(255, 255, 255, .65);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .2em;
    text-transform: uppercase;
  }

  .pg-kicker::before {
    content: "";
    width: 34px;
    height: 1px;
    background: currentColor;
  }

  .pg-hero-copy h1 {
    margin: 0;
    color: #fff;
    font-size: clamp(72px, 9.4vw, 148px);
    font-weight: 400;
    line-height: .73;
    letter-spacing: -.055em;
  }

  .pg-hero-copy h1 span {
    display: block;
    margin-left: .52em;
    color: inherit;
    font: inherit;
  }

  .pg-hero-lead {
    max-width: 450px;
    margin: clamp(42px, 6vw, 76px) 0 0;
    color: rgba(255, 255, 255, .86);
    font-size: clamp(17px, 1.35vw, 22px);
    line-height: 1.58;
  }

  .pg-opening {
    display: grid;
    grid-template-columns: minmax(160px, .7fr) minmax(0, 1.55fr);
    gap: clamp(38px, 8vw, 126px);
    max-width: 1260px;
    margin: 0 auto;
    padding: clamp(90px, 12vw, 176px) clamp(24px, 5vw, 72px);
    border-bottom: 1px solid var(--pg-rule);
  }

  .pg-opening-mark {
    padding-top: 10px;
    color: var(--pg-wine);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .2em;
    text-transform: uppercase;
  }

  .pg-opening p {
    max-width: 850px;
    margin: 0;
    font-size: clamp(26px, 3.2vw, 48px);
    font-weight: 300;
    line-height: 1.24;
    letter-spacing: -.025em;
  }

  .pg-story {
    padding: clamp(72px, 10vw, 148px) 0;
  }

  .pg-scene {
    width: min(1320px, calc(100% - 48px));
    margin: 0 auto clamp(92px, 14vw, 190px);
    display: grid;
    grid-template-columns: minmax(0, 1.06fr) minmax(330px, .94fr);
    align-items: center;
    gap: clamp(50px, 8vw, 132px);
  }

  .pg-scene:last-child {
    margin-bottom: 0;
  }

  .pg-scene--reverse .pg-media {
    grid-column: 2;
    grid-row: 1;
  }

  .pg-scene--reverse .pg-copy {
    grid-column: 1;
    grid-row: 1;
  }

  .pg-media {
    margin: 0;
  }

  .pg-media img {
    width: 100%;
    aspect-ratio: 2 / 3;
    display: block;
    object-fit: cover;
  }

  .pg-media figcaption {
    max-width: 510px;
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid var(--pg-rule);
    color: rgba(24, 21, 18, .68);
    font-size: 12px;
    line-height: 1.55;
  }

  .pg-media figcaption span {
    color: var(--pg-wine);
  }

  .pg-copy {
    max-width: 570px;
  }

  .pg-copy p {
    margin: 0 0 1.45em;
    font-size: clamp(17px, 1.25vw, 20px);
    font-weight: 400;
    line-height: 1.72;
  }

  .pg-copy p:last-child {
    margin-bottom: 0;
  }

  .pg-copy-rule {
    width: 42px;
    height: 1px;
    margin: 0 0 34px;
    background: var(--pg-wine);
  }

  .pg-finale {
    background: var(--pg-wine);
    color: #fff;
  }

  .pg-finale-inner {
    max-width: 980px;
    margin: 0 auto;
    padding: clamp(96px, 13vw, 190px) clamp(24px, 6vw, 80px);
    text-align: center;
  }

  .pg-finale-inner p {
    margin: 0 0 1.2em;
    font-size: clamp(19px, 1.8vw, 27px);
    font-weight: 300;
    line-height: 1.62;
  }

  .pg-finale-inner p:last-child {
    margin-bottom: 0;
    font-size: clamp(26px, 3.5vw, 52px);
    line-height: 1.28;
    letter-spacing: -.02em;
  }

  .pg-curriculum {
    padding: clamp(88px, 11vw, 156px) clamp(24px, 5vw, 72px);
    background: #171513;
    color: #fff;
  }

  .pg-curriculum-inner {
    max-width: 1200px;
    margin: 0 auto;
  }

  .pg-curriculum-head {
    display: grid;
    grid-template-columns: 1fr 2fr;
    align-items: end;
    gap: 40px;
    margin-bottom: clamp(52px, 7vw, 90px);
  }

  .pg-curriculum-head span {
    color: rgba(255, 255, 255, .55);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .22em;
    text-transform: uppercase;
  }

  .pg-curriculum-head h2 {
    margin: 0;
    font-size: clamp(48px, 7vw, 94px);
    font-weight: 400;
    line-height: .92;
    letter-spacing: -.045em;
  }

  .pg-events {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 52px;
  }

  .pg-event {
    min-height: 390px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    color: #fff;
    text-decoration: none;
    border-top: 1px solid rgba(255, 255, 255, .24);
    border-bottom: 1px solid rgba(255, 255, 255, .24);
  }

  .pg-event-media {
    min-height: 388px;
    height: 388px;
    margin: 0;
    overflow: hidden;
    background: var(--pg-wine-deep);
  }

  .pg-event-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: none;
    transition: none;
  }

  .pg-event-copy {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: clamp(28px, 4vw, 52px);
  }

  .pg-event + .pg-event {
    border-left: 0;
  }

  .pg-event:nth-child(even) .pg-event-media {
    grid-column: 2;
    grid-row: 1;
  }

  .pg-event:nth-child(even) .pg-event-copy {
    grid-column: 1;
    grid-row: 1;
  }

  .pg-event-date {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
    opacity: .65;
  }

  .pg-event h3 {
    margin: 28px 0 22px;
    color: inherit;
    font-size: clamp(38px, 4vw, 62px);
    font-weight: 400;
    line-height: .92;
    letter-spacing: -.035em;
  }

  .pg-event p {
    max-width: 450px;
    margin: 0;
    color: inherit;
    font-size: 14px;
    line-height: 1.65;
    opacity: .78;
  }

  .pg-event-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 105px;
    min-width: 105px;
    height: 31px;
    min-height: 31px;
    margin-top: auto;
    padding: 0;
    color: #fff;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
    border: 1px solid rgba(255, 255, 255, .72);
    transition: background-color .2s ease, color .2s ease;
  }

  .pg-event:hover .pg-event-more,
  .pg-event:focus-visible .pg-event-more {
    background: #fff;
    color: #171513;
  }

  .pg-instagram {
    display: grid;
    grid-template-columns: 1fr minmax(0, 2fr) auto;
    align-items: center;
    gap: clamp(28px, 5vw, 80px);
    max-width: 1200px;
    margin: 0 auto;
    padding: clamp(62px, 8vw, 104px) clamp(24px, 5vw, 72px);
  }

  .pg-instagram > span {
    color: var(--pg-wine);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .2em;
    text-transform: uppercase;
  }

  .pg-instagram p {
    margin: 0;
    font-size: 15px;
    line-height: 1.65;
  }

  .pg-instagram a {
    padding-bottom: 7px;
    color: var(--pg-ink);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .14em;
    text-decoration: none;
    text-transform: uppercase;
    border-bottom: 1px solid currentColor;
  }

  @media (max-width: 920px) {
    .pg-hero {
      min-height: auto;
      grid-template-columns: 1fr;
    }

    .pg-hero-media,
    .pg-hero-media img {
      min-height: 0;
    }

    .pg-hero-media {
      aspect-ratio: 4 / 5;
    }

    .pg-hero-media::after {
      background: linear-gradient(0deg, rgba(42, 11, 13, .62), transparent 42%);
    }

    .pg-hero-copy {
      padding: 52px 28px 72px;
    }

    .pg-hero-copy h1 {
      font-size: clamp(70px, 22vw, 118px);
      line-height: .77;
    }

    .pg-opening {
      grid-template-columns: 1fr;
      gap: 26px;
    }

    .pg-scene {
      width: min(100% - 40px, 660px);
      grid-template-columns: 1fr;
      gap: 38px;
    }

    .pg-scene--reverse .pg-media,
    .pg-scene--reverse .pg-copy {
      grid-column: 1;
    }

    .pg-scene--reverse .pg-media {
      grid-row: 1;
    }

    .pg-scene--reverse .pg-copy {
      grid-row: 2;
    }

    .pg-copy {
      max-width: none;
    }

    .pg-curriculum-head {
      grid-template-columns: 1fr;
      gap: 22px;
    }

    .pg-events {
      grid-template-columns: 1fr;
      gap: 52px;
    }

    .pg-event {
      display: flex;
      flex-direction: column;
      min-height: 0;
    }

    .pg-event-media {
      width: 100%;
      min-height: 0;
      height: auto;
      aspect-ratio: 4 / 3;
      order: 1;
    }

    .pg-event-copy,
    .pg-event:nth-child(even) .pg-event-copy {
      width: 100%;
      min-height: 300px;
      order: 2;
    }

    .pg-instagram {
      grid-template-columns: 1fr;
      gap: 22px;
    }

    .pg-instagram a {
      justify-self: start;
    }
  }

  @media (max-width: 520px) {
    .pg-hero-media {
      aspect-ratio: 4 / 5.35;
    }

    .pg-hero-media figcaption {
      left: 20px;
      right: 20px;
      bottom: 20px;
    }

    .pg-hero-copy {
      padding: 44px 20px 62px;
    }

    .pg-kicker {
      align-items: flex-start;
      line-height: 1.55;
    }

    .pg-opening {
      padding: 72px 20px;
    }

    .pg-opening p {
      font-size: clamp(25px, 8vw, 36px);
    }

    .pg-story {
      padding: 68px 0 84px;
    }

    .pg-scene {
      width: calc(100% - 40px);
      margin-bottom: 90px;
      gap: 30px;
    }

    .pg-copy p {
      font-size: 16px;
      line-height: 1.72;
    }

    .pg-finale-inner {
      padding: 84px 20px;
      text-align: left;
    }

    .pg-curriculum {
      padding: 80px 20px;
    }

    .pg-event-copy { min-height: 300px; padding: 32px 0; }

    .pg-instagram {
      padding: 64px 20px;
    }
  }

/* Daisy — live-source editorial preview */
.dy-page {
      --dy-ink: #11110f;
      --dy-paper: #f1eee6;
      --dy-paper-warm: #e9e3d6;
      --dy-yellow: #e8af1e;
      --dy-line: rgba(17, 17, 15, .18);
      background: var(--dy-paper);
      color: var(--dy-ink);
      overflow: hidden;
    }
    .dy-page,
    .dy-page * { box-sizing: border-box; }
    .dy-page img { display: block; height: 100%; width: 100%; }
    .dy-page h1,
    .dy-page h2,
    .dy-page h3,
    .dy-page p,
    .dy-page figure,
    .dy-page blockquote { margin: 0; }
    .dy-page p,
    .dy-page blockquote {
      font-family: var(--sans, "IBM Plex Sans", Arial, sans-serif);
      font-size: clamp(1rem, 1.08vw, 1.2rem);
      font-weight: 400;
      line-height: 1.72;
    }
    .dy-hero {
      background: #070807;
      color: #fff;
      display: grid;
      grid-template-columns: minmax(19rem, .82fr) minmax(34rem, 1.18fr);
      min-height: calc(100svh - 4.8rem);
      position: relative;
    }
    .dy-hero-media {
      grid-column: 2;
      grid-row: 1;
      min-height: calc(100svh - 4.8rem);
      position: relative;
    }
    .dy-hero-media::after {
      background: linear-gradient(90deg, #070807 0%, rgba(7, 8, 7, .8) 9%, rgba(7, 8, 7, 0) 42%);
      content: "";
      inset: 0;
      pointer-events: none;
      position: absolute;
    }
    .dy-hero-media img {
      object-fit: cover;
      object-position: 50% 70%;
    }
    .dy-hero-media figcaption,
    .dy-figure figcaption {
      align-items: baseline;
      display: flex;
      font-family: var(--sans, "IBM Plex Sans", Arial, sans-serif);
      font-size: .68rem;
      font-weight: 500;
      gap: .8rem;
      letter-spacing: .05em;
      line-height: 1.45;
    }
    .dy-hero-media figcaption {
      bottom: 1.25rem;
      color: rgba(255, 255, 255, .78);
      max-width: 26rem;
      position: absolute;
      right: clamp(1.1rem, 3vw, 3rem);
      z-index: 2;
    }
    .dy-hero-media figcaption span,
    .dy-figure figcaption span {
      font-weight: 700;
      letter-spacing: .18em;
    }
    .dy-hero-copy {
      align-self: end;
      grid-column: 1;
      grid-row: 1;
      padding: clamp(3rem, 7vw, 8rem) clamp(1.4rem, 4.5vw, 5.5rem) clamp(3rem, 6vw, 6.5rem);
      position: relative;
      z-index: 3;
    }
    .dy-meta,
    .dy-kicker,
    .dy-instagram > div > span,
    .dy-curriculum-head > span {
      display: block;
      font-family: var(--sans, "IBM Plex Sans", Arial, sans-serif);
      font-size: .68rem;
      font-weight: 600;
      letter-spacing: .18em;
      text-transform: uppercase;
    }
    .dy-meta { color: rgba(255, 255, 255, .65); }
    .dy-hero h1 {
      font-family: var(--serif, "Cormorant Garamond", Georgia, serif);
      font-size: clamp(5.4rem, 10.8vw, 11rem);
      font-weight: 500;
      letter-spacing: -.055em;
      line-height: .73;
      margin: .55rem 0 1.8rem;
    }
    .dy-lead {
      color: rgba(255, 255, 255, .84);
      font-size: clamp(1.05rem, 1.28vw, 1.34rem) !important;
      line-height: 1.52 !important;
      max-width: 29rem;
    }
    .dy-opening {
      background: var(--dy-paper);
      display: grid;
      gap: clamp(2rem, 6vw, 8rem);
      grid-template-columns: minmax(10rem, .6fr) minmax(28rem, 1.4fr);
      padding: clamp(5.5rem, 10vw, 11rem) clamp(1.4rem, 8vw, 10rem);
    }
    .dy-opening-mark {
      align-self: start;
      border-top: 1px solid var(--dy-line);
      color: #aa7d0c;
      font-family: var(--serif, "Cormorant Garamond", Georgia, serif);
      font-size: clamp(4.6rem, 9vw, 9.8rem);
      font-weight: 500;
      letter-spacing: -.06em;
      line-height: .82;
      padding-top: 1rem;
    }
    .dy-opening-copy {
      max-width: 53rem;
    }
    .dy-opening-copy .dy-opening-line {
      font-size: clamp(1.55rem, 2.5vw, 2.7rem);
      line-height: 1.32;
      margin-bottom: 2.3rem;
    }
    .dy-opening-copy p + p,
    .dy-copy p + p { margin-top: 1.35rem; }
    .dy-pair {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      min-height: min(58rem, 86vw);
    }
    .dy-figure {
      background: #151513;
      min-height: 42rem;
      position: relative;
    }
    .dy-figure img { object-fit: cover; }
    .dy-figure figcaption {
      background: rgba(8, 8, 7, .84);
      bottom: 0;
      color: rgba(255, 255, 255, .78);
      left: 0;
      max-width: 31rem;
      padding: 1rem 1.25rem;
      position: absolute;
    }
    .dy-copy {
      align-content: center;
      display: grid;
      padding: clamp(3.3rem, 7vw, 8rem);
    }
    .dy-copy-inner { max-width: 38rem; }
    .dy-kicker {
      color: #a57705;
      margin-bottom: 2.2rem;
    }
    .dy-origin { background: #e6dfd1; }
    .dy-origin .dy-figure img { object-position: 49% 46%; }
    .dy-turn { background: #171816; color: rgba(255, 255, 255, .84); }
    .dy-turn .dy-figure {
      grid-column: 2;
      grid-row: 1;
    }
    .dy-turn .dy-copy {
      grid-column: 1;
      grid-row: 1;
    }
    .dy-turn .dy-figure img { object-position: 52% 54%; }
    .dy-turn .dy-kicker { color: var(--dy-yellow); }
    .dy-letter {
      background: var(--dy-paper-warm);
      display: grid;
      gap: clamp(2.5rem, 8vw, 10rem);
      grid-template-columns: minmax(12rem, .54fr) minmax(28rem, 1.46fr);
      padding: clamp(5rem, 10vw, 11rem) clamp(1.4rem, 8vw, 10rem);
    }
    .dy-letter-date {
      color: #987006;
      font-family: var(--serif, "Cormorant Garamond", Georgia, serif);
      font-size: clamp(3.8rem, 7.8vw, 8.2rem);
      font-weight: 500;
      letter-spacing: -.055em;
      line-height: .78;
    }
    .dy-letter-copy { max-width: 52rem; }
    .dy-quote {
      border-bottom: 1px solid var(--dy-line);
      border-top: 1px solid var(--dy-line);
      font-size: clamp(1.65rem, 2.7vw, 3rem);
      font-weight: 400;
      line-height: 1.32;
      margin: 2.8rem 0 1.8rem;
      padding: 2.3rem 0 2.5rem;
    }
    .dy-portrait { background: #efebe3; }
    .dy-portrait .dy-figure {
      grid-column: 2;
      grid-row: 1;
    }
    .dy-portrait .dy-copy {
      grid-column: 1;
      grid-row: 1;
    }
    .dy-portrait .dy-figure img { object-position: center 51%; }
    .dy-emphasis {
      color: #8e6807;
      font-size: clamp(1.55rem, 2.25vw, 2.6rem) !important;
      line-height: 1.33 !important;
      margin: 2.1rem 0 !important;
    }
    .dy-family {
      background: #e7af22;
      color: #15140f;
      min-height: min(54rem, 78vw);
    }
    .dy-family .dy-figure img { object-position: 48% 42%; }
    .dy-family .dy-kicker { color: rgba(21, 20, 15, .58); }
    .dy-curriculum {
      background: #10110f;
      color: #fff;
      display: grid;
      gap: clamp(3rem, 7vw, 8rem);
      grid-template-columns: minmax(15rem, .72fr) minmax(28rem, 1.28fr);
      padding: clamp(5rem, 9vw, 9rem) clamp(1.4rem, 8vw, 10rem);
    }
    .dy-curriculum-head > span { color: var(--dy-yellow); }
    .dy-curriculum h2 {
      font-family: var(--serif, "Cormorant Garamond", Georgia, serif);
      font-size: clamp(3.2rem, 6.4vw, 7rem);
      font-weight: 500;
      letter-spacing: -.045em;
      line-height: .84;
      margin-top: 1.1rem;
    }
    .dy-event-card {
      border-bottom: 1px solid rgba(255, 255, 255, .25);
      color: inherit;
      display: grid;
      grid-template-columns: minmax(12rem, .82fr) minmax(16rem, 1.18fr);
      text-decoration: none;
    }
    .dy-event-media { min-height: 24rem; overflow: hidden; }
    .dy-event-media img {
      object-fit: cover;
      object-position: center;
      transition: transform .7s ease;
    }
    .dy-event-card:hover .dy-event-media img { transform: scale(1.025); }
    .dy-event-copy {
      align-content: end;
      display: grid;
      padding: clamp(1.8rem, 4vw, 4rem);
    }
    .dy-event-copy > span {
      color: rgba(255, 255, 255, .58);
      font-family: var(--sans, "IBM Plex Sans", Arial, sans-serif);
      font-size: .7rem;
      font-weight: 600;
      letter-spacing: .14em;
      text-transform: uppercase;
    }
    .dy-event-copy h3 {
      font-family: var(--serif, "Cormorant Garamond", Georgia, serif);
      font-size: clamp(2.4rem, 4vw, 4.8rem);
      font-weight: 500;
      letter-spacing: -.04em;
      line-height: .9;
      margin: .8rem 0 1.2rem;
    }
    .dy-event-copy p {
      color: rgba(255, 255, 255, .74);
      font-size: .9rem;
      line-height: 1.55;
    }
    .dy-event-copy .dy-read-more {
      color: #fff;
      margin-top: 1.7rem;
    }
    .dy-instagram {
      align-items: end;
      background: var(--dy-paper);
      display: grid;
      gap: 2rem;
      grid-template-columns: 1fr auto;
      padding: clamp(4rem, 8vw, 8rem) clamp(1.4rem, 8vw, 10rem);
    }
    .dy-instagram > div { max-width: 49rem; }
    .dy-instagram > div > span { color: #967007; }
    .dy-instagram p { margin-top: 1.2rem; }
    .dy-instagram a {
      border-bottom: 1px solid currentColor;
      color: inherit;
      font-family: var(--sans, "IBM Plex Sans", Arial, sans-serif);
      font-size: .72rem;
      font-weight: 600;
      letter-spacing: .13em;
      padding-bottom: .35rem;
      text-decoration: none;
      text-transform: uppercase;
    }
    @media (max-width: 980px) {
      .dy-hero { grid-template-columns: minmax(16rem, .72fr) minmax(25rem, 1.28fr); }
      .dy-opening,
      .dy-letter,
      .dy-curriculum { gap: 3rem; }
      .dy-pair { min-height: 48rem; }
      .dy-copy { padding: clamp(2.6rem, 5vw, 4.5rem); }
    }
    @media (max-width: 760px) {
      .dy-page p,
      .dy-page blockquote { font-size: 1rem; line-height: 1.68; }
      .dy-hero { display: flex; flex-direction: column; min-height: 0; }
      .dy-hero-media {
        min-height: 67svh;
        order: 1;
        width: 100%;
      }
      .dy-hero-media::after {
        background: linear-gradient(0deg, #070807 0%, rgba(7, 8, 7, 0) 34%);
      }
      .dy-hero-media img { object-position: 50% 75%; }
      .dy-hero-media figcaption {
        bottom: .85rem;
        left: 1rem;
        max-width: calc(100% - 2rem);
        right: auto;
      }
      .dy-hero-copy {
        order: 2;
        padding: 2.6rem 1.25rem 4rem;
      }
      .dy-hero h1 {
        font-size: clamp(5rem, 27vw, 8rem);
        margin-bottom: 1.35rem;
      }
      .dy-opening,
      .dy-letter,
      .dy-curriculum,
      .dy-instagram {
        display: block;
        padding: 4.5rem 1.25rem;
      }
      .dy-opening-mark,
      .dy-letter-date {
        border-top: 1px solid var(--dy-line);
        font-size: 4.6rem;
        margin-bottom: 3rem;
        padding-top: .8rem;
      }
      .dy-opening-copy .dy-opening-line { font-size: 1.55rem; }
      .dy-pair {
        display: flex;
        flex-direction: column;
        min-height: 0;
      }
      .dy-pair .dy-figure,
      .dy-pair .dy-copy {
        grid-column: auto;
        grid-row: auto;
      }
      .dy-figure {
        min-height: 0;
        order: 1;
      }
      .dy-figure img {
        aspect-ratio: 3 / 4;
        object-fit: cover;
      }
      .dy-copy {
        order: 2;
        padding: 3.6rem 1.25rem 4.5rem;
      }
      .dy-figure figcaption {
        max-width: calc(100% - 1rem);
        padding: .8rem 1rem;
      }
      .dy-letter-copy { max-width: none; }
      .dy-quote { font-size: 1.5rem; margin: 2.2rem 0 1.5rem; }
      .dy-curriculum-head { margin-bottom: 3rem; }
      .dy-event-card { display: block; }
      .dy-event-media { min-height: 0; }
      .dy-event-media img { aspect-ratio: 4 / 3; }
      .dy-event-copy { padding: 2rem 0 1rem; }
      .dy-instagram a {
        display: inline-block;
        margin-top: 2rem;
      }
    }

/* Abeba — live-source editorial preview */
#abeba.ab-page{
    --ab-black:#090a08;
    --ab-paper:#eee9df;
    --ab-sand:#c5a873;
    --ab-brick:#793d2a;
    --ab-blue:#273d62;
    background:var(--ab-black);
    color:var(--ab-paper);
    overflow:hidden;
  }
  #abeba .ab-hero{
    min-height:min(920px,calc(100svh - 58px));
    position:relative;
  }
  #abeba .ab-hero-media{
    inset:0;
    margin:0;
    position:absolute;
  }
  #abeba .ab-hero-media::after{
    background:linear-gradient(90deg,rgba(9,10,8,0) 36%,rgba(9,10,8,.36) 57%,var(--ab-black) 84%);
    content:"";
    inset:0;
    pointer-events:none;
    position:absolute;
  }
  #abeba .ab-hero-media img{
    height:100%;
    object-fit:cover;
    object-position:center 62%;
    width:72%;
  }
  #abeba .ab-hero-caption{
    bottom:24px;
    color:rgba(238,233,223,.82);
    display:grid;
    font-family:var(--sans,"IBM Plex Sans",sans-serif);
    font-size:.65rem;
    gap:18px;
    grid-template-columns:24px minmax(0,360px);
    left:clamp(24px,4vw,64px);
    letter-spacing:.08em;
    line-height:1.45;
    position:absolute;
    z-index:1;
  }
  #abeba .ab-hero-caption span{
    color:var(--ab-sand);
    font-weight:600;
    letter-spacing:.15em;
  }
  #abeba .ab-hero-copy{
    align-items:flex-start;
    display:flex;
    flex-direction:column;
    justify-content:center;
    margin-left:auto;
    min-height:min(920px,calc(100svh - 58px));
    padding:clamp(78px,9vw,146px) clamp(26px,6vw,100px) clamp(62px,8vw,120px) 48px;
    position:relative;
    width:min(48%,700px);
    z-index:1;
  }
  #abeba .ab-meta,
  #abeba .ab-caption,
  #abeba .ab-instagram-kicker{
    font-family:var(--sans,"IBM Plex Sans",sans-serif);
    font-size:.67rem;
    font-weight:600;
    letter-spacing:.17em;
    line-height:1.45;
    text-transform:uppercase;
  }
  #abeba .ab-meta{
    color:var(--ab-sand);
    margin:0 0 clamp(26px,4vw,52px);
  }
  #abeba .ab-meta a{
    border-bottom:1px solid currentColor;
    color:inherit;
    text-decoration:none;
  }
  #abeba .ab-title{
    color:var(--ab-paper);
    font-family:var(--serif,"Cormorant Garamond",serif);
    font-size:clamp(5.2rem,10vw,10.5rem);
    font-weight:500;
    letter-spacing:-.045em;
    line-height:.72;
    margin:0;
  }
  #abeba .ab-lead{
    color:#d6d0c7;
    font-family:var(--sans,"IBM Plex Sans",sans-serif);
    font-size:clamp(1.05rem,1.45vw,1.42rem);
    line-height:1.45;
    margin:clamp(34px,5vw,68px) 0 0;
    max-width:480px;
  }
  #abeba .ab-opening{
    background:var(--ab-paper);
    color:var(--ab-black);
    display:grid;
    gap:clamp(34px,8vw,140px);
    grid-template-columns:minmax(0,1.06fr) minmax(280px,.7fr);
    padding:clamp(64px,10vw,150px) max(24px,calc((100vw - 1440px)/2));
  }
  #abeba .ab-opening > p:first-child{
    font-family:var(--serif,"Cormorant Garamond",serif);
    font-size:clamp(2.7rem,5.3vw,6.6rem);
    font-weight:500;
    letter-spacing:-.028em;
    line-height:.91;
    margin:0;
  }
  #abeba .ab-opening-body,
  #abeba .ab-copy{
    font-family:var(--sans,"IBM Plex Sans",sans-serif);
    font-size:clamp(.98rem,1.15vw,1.16rem);
    line-height:1.72;
  }
  #abeba .ab-opening-body p,
  #abeba .ab-copy p{
    margin:0 0 1.15em;
  }
  #abeba .ab-opening-body p:last-child,
  #abeba .ab-copy p:last-child{
    margin-bottom:0;
  }
  #abeba .ab-credo{
    border-bottom:1px solid rgba(9,10,8,.23);
    border-top:1px solid rgba(9,10,8,.23);
    color:var(--ab-brick);
    font-family:var(--serif,"Cormorant Garamond",serif);
    font-size:clamp(2.1rem,3.75vw,4.9rem);
    font-weight:500;
    letter-spacing:-.025em;
    line-height:.92;
    margin:clamp(34px,5vw,70px) 0;
    padding:clamp(28px,4vw,55px) 0;
  }
  #abeba .ab-essay{
    margin:0 auto;
    max-width:1440px;
    padding:clamp(82px,11vw,170px) clamp(24px,5.5vw,88px);
  }
  #abeba .ab-chapter{
    align-items:center;
    display:grid;
    gap:clamp(42px,8vw,128px);
    grid-template-columns:minmax(300px,.84fr) minmax(280px,.64fr);
    margin:0 auto clamp(110px,15vw,230px);
    max-width:1210px;
  }
  #abeba .ab-chapter:last-of-type{
    margin-bottom:clamp(84px,11vw,160px);
  }
  #abeba .ab-chapter--reverse{
    grid-template-columns:minmax(280px,.64fr) minmax(300px,.84fr);
  }
  #abeba .ab-chapter--reverse .ab-photo{
    grid-column:2;
    grid-row:1;
  }
  #abeba .ab-chapter--reverse .ab-copy{
    grid-column:1;
    grid-row:1;
  }
  #abeba .ab-photo{
    margin:0;
    position:relative;
  }
  #abeba .ab-photo::before{
    background:var(--ab-sand);
    content:"";
    height:1px;
    left:-22px;
    position:absolute;
    top:-22px;
    width:76px;
  }
  #abeba .ab-photo img{
    aspect-ratio:2/3;
    height:auto;
    object-fit:cover;
    width:100%;
  }
  #abeba .ab-caption{
    align-items:flex-start;
    color:#aca69c;
    display:grid;
    gap:18px;
    grid-template-columns:24px 1fr;
    letter-spacing:.1em;
    margin-top:14px;
    text-transform:none;
  }
  #abeba .ab-caption span{
    color:var(--ab-sand);
    letter-spacing:.15em;
  }
  #abeba .ab-copy{
    color:#d8d2c8;
    max-width:520px;
  }
  #abeba .ab-copy .ab-display{
    color:var(--ab-paper);
    font-family:var(--serif,"Cormorant Garamond",serif);
    font-size:clamp(2.75rem,5vw,6rem);
    font-weight:500;
    letter-spacing:-.03em;
    line-height:.86;
    margin:0 0 clamp(30px,4vw,56px);
  }
  #abeba .ab-copy .ab-blue{
    color:#a9b7ca;
  }
  #abeba .ab-closing{
    border-bottom:1px solid rgba(238,233,223,.2);
    border-top:1px solid rgba(238,233,223,.2);
    margin:0 auto;
    max-width:1120px;
    padding:clamp(62px,9vw,120px) 0;
  }
  #abeba .ab-closing p{
    color:var(--ab-paper);
    font-family:var(--serif,"Cormorant Garamond",serif);
    font-size:clamp(2.25rem,4.4vw,5.4rem);
    font-weight:500;
    letter-spacing:-.028em;
    line-height:.94;
    margin:0 0 .55em;
  }
  #abeba .ab-closing p:last-child{
    color:var(--ab-sand);
    margin-bottom:0;
  }
  #abeba .ab-instagram{
    background:var(--ab-brick);
    color:#f3eee6;
    display:grid;
    gap:26px clamp(30px,7vw,110px);
    grid-template-columns:minmax(140px,.35fr) minmax(280px,.8fr) auto;
    padding:clamp(54px,7vw,92px) max(24px,calc((100vw - 1320px)/2));
  }
  #abeba .ab-instagram-kicker{
    color:#e0c9a3;
  }
  #abeba .ab-instagram p{
    font-family:var(--sans,"IBM Plex Sans",sans-serif);
    font-size:clamp(.98rem,1.2vw,1.16rem);
    line-height:1.65;
    margin:0;
    max-width:600px;
  }
  #abeba .ab-instagram a{
    align-self:start;
    border:1px solid currentColor;
    color:inherit;
    font-family:var(--sans,"IBM Plex Sans",sans-serif);
    font-size:.69rem;
    font-weight:600;
    letter-spacing:.14em;
    padding:15px 18px;
    text-decoration:none;
    text-transform:uppercase;
  }
  @media (max-width:760px){
    #abeba .ab-hero{
      min-height:0;
    }
    #abeba .ab-hero-media{
      height:66svh;
      min-height:470px;
      position:relative;
    }
    #abeba .ab-hero-media::after{
      background:linear-gradient(180deg,rgba(9,10,8,0) 48%,rgba(9,10,8,.42) 76%,var(--ab-black) 100%);
    }
    #abeba .ab-hero-media img{
      height:100%;
      object-position:center 64%;
      width:100%;
    }
    #abeba .ab-hero-caption{
      bottom:22px;
      left:24px;
      right:24px;
    }
    #abeba .ab-hero-copy{
      min-height:0;
      padding:8px 24px 72px;
      width:auto;
    }
    #abeba .ab-meta{
      margin-bottom:26px;
    }
    #abeba .ab-title{
      font-size:clamp(4.8rem,26vw,7.5rem);
    }
    #abeba .ab-lead{
      font-size:1rem;
      margin-top:30px;
    }
    #abeba .ab-opening{
      display:block;
      padding:70px 24px 78px;
    }
    #abeba .ab-opening-body{
      margin-top:40px;
    }
    #abeba .ab-credo{
      margin:36px 0;
      padding:30px 0;
    }
    #abeba .ab-essay{
      padding:92px 24px 110px;
    }
    #abeba .ab-chapter,
    #abeba .ab-chapter--reverse{
      display:flex;
      flex-direction:column;
      gap:34px;
      margin-bottom:112px;
    }
    #abeba .ab-chapter--reverse .ab-photo,
    #abeba .ab-chapter--reverse .ab-copy{
      grid-column:auto;
      grid-row:auto;
    }
    #abeba .ab-photo,
    #abeba .ab-copy{
      width:100%;
    }
    #abeba .ab-photo::before{
      left:0;
      top:-16px;
    }
    #abeba .ab-copy .ab-display{
      margin-bottom:30px;
    }
    #abeba .ab-closing{
      padding:64px 0;
    }
    #abeba .ab-instagram{
      display:block;
      padding:60px 24px 66px;
    }
    #abeba .ab-instagram p{
      margin:22px 0 30px;
    }
    #abeba .ab-instagram a{
      display:inline-flex;
    }
  }

/* Madame Claude — live-source editorial preview */
.mc-article{
  --mc-ink:#080a09;
  --mc-paper:#ecebe5;
  --mc-muted:#a9aea9;
  --mc-green:#123327;
  --mc-green-deep:#071b14;
  --mc-yellow:#d5b322;
  background:var(--mc-ink);
  color:var(--mc-paper);
  overflow:hidden;
  font-family:"IBM Plex Sans",Arial,sans-serif;
}
.mc-article *{box-sizing:border-box;}
.mc-hero{
  min-height:clamp(720px,92svh,1040px);
  position:relative;
  display:grid;
  align-items:end;
  isolation:isolate;
  background:#050706;
}
.mc-hero__media{position:absolute;inset:0;margin:0;z-index:-2;}
.mc-hero__media img{
  display:block;
  width:64%;
  height:100%;
  object-fit:cover;
  object-position:50% 61%;
  filter:saturate(.9) contrast(1.03);
}
.mc-hero__media::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,transparent 18%,rgba(5,7,6,.1) 40%,#050706 72%),
    linear-gradient(0deg,rgba(5,7,6,.94),transparent 42%);
}
.mc-hero__content{
  width:min(1400px,calc(100% - 96px));
  margin:0 auto;
  padding:160px 0 88px 54%;
}
.mc-meta,.mc-caption,.mc-scene__year,.mc-instagram__label{
  font-family:"IBM Plex Sans",Arial,sans-serif;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.mc-meta{display:flex;gap:12px;align-items:center;font-size:12px;color:#d3d6d2;}
.mc-meta span:first-child::after{content:"/";margin-left:12px;color:var(--mc-yellow);}
.mc-title{
  margin:25px 0 22px;
  max-width:7ch;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(78px,9vw,148px);
  font-weight:400;
  line-height:.72;
  letter-spacing:-.055em;
}
.mc-title span{display:block;margin-left:.48em;font-style:italic;color:#dfe7df;}
.mc-lead{
  max-width:600px;
  margin:0;
  font-size:clamp(19px,1.7vw,27px);
  line-height:1.42;
  color:#d6dad7;
}
.mc-hero .mc-caption{
  position:absolute;
  left:clamp(24px,4vw,72px);
  bottom:26px;
  max-width:38ch;
  margin:0;
  font-size:10px;
  line-height:1.5;
  color:rgba(255,255,255,.68);
}
.mc-caption__number{color:var(--mc-yellow);margin-right:8px;}
.mc-prologue{
  display:grid;
  grid-template-columns:minmax(220px,.62fr) minmax(500px,1.38fr);
  gap:clamp(60px,9vw,150px);
  width:min(1180px,calc(100% - 96px));
  margin:0 auto;
  padding:clamp(110px,13vw,200px) 0;
  border-bottom:1px solid rgba(255,255,255,.14);
}
.mc-prologue__mark{
  margin:0;
  color:var(--mc-yellow);
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(76px,9vw,136px);
  font-weight:400;
  font-style:italic;
  line-height:.82;
}
.mc-copy{font-size:clamp(17px,1.35vw,21px);line-height:1.73;color:#d7dad7;}
.mc-copy p{margin:0 0 1.35em;}
.mc-copy p:last-child{margin-bottom:0;}
.mc-copy--opening>p:first-child{
  color:#fff;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(34px,3.8vw,58px);
  line-height:1.1;
}
.mc-story{width:min(1400px,calc(100% - 96px));margin:0 auto;padding:72px 0 156px;}
.mc-scene{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.14fr) minmax(360px,.86fr);
  gap:clamp(56px,8vw,130px);
  align-items:center;
  padding:clamp(80px,10vw,150px) 0;
}
.mc-scene+.mc-scene{border-top:1px solid rgba(255,255,255,.12);}
.mc-scene--right{grid-template-columns:minmax(360px,.86fr) minmax(0,1.14fr);}
.mc-scene--right .mc-media{grid-column:2;grid-row:1;}
.mc-scene--right .mc-copy{grid-column:1;grid-row:1;}
.mc-media{margin:0;min-width:0;}
.mc-media img{display:block;width:100%;height:auto;background:#101310;}
.mc-media--cinema img{aspect-ratio:16/10;object-fit:cover;}
.mc-media--portrait img{aspect-ratio:1.08/1;object-fit:cover;}
.mc-caption{margin:14px 0 0;font-size:10px;line-height:1.6;color:var(--mc-muted);}
.mc-scene__year{display:block;margin:0 0 26px;color:var(--mc-yellow);font-size:12px;}
.mc-scene__title{
  margin:0 0 36px;
  max-width:12ch;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(46px,5vw,78px);
  font-weight:400;
  line-height:.98;
  letter-spacing:-.025em;
}
.mc-scene__statement{
  margin:46px 0 0;
  padding:30px 0 0;
  border-top:1px solid rgba(213,179,34,.62);
  color:#fff;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(29px,3vw,46px);
  font-style:italic;
  line-height:1.14;
}
.mc-scene--milestone{
  width:100vw;
  margin-left:calc(50% - 50vw);
  padding:0;
  border:0!important;
  background:var(--mc-paper);
  color:#111;
  grid-template-columns:1.18fr .82fr;
  gap:0;
}
.mc-scene--milestone .mc-media{height:100%;}
.mc-scene--milestone .mc-media img{height:100%;min-height:720px;object-fit:cover;object-position:56% 50%;}
.mc-scene--milestone .mc-copy{padding:clamp(72px,8vw,132px);color:#252925;}
.mc-scene--milestone .mc-scene__title{color:#0b271c;}
.mc-scene--milestone .mc-scene__statement{border-color:#aa8c16;color:#0b271c;}
.mc-name{
  width:100vw;
  margin-left:calc(50% - 50vw);
  padding:clamp(100px,13vw,190px) max(48px,calc((100vw - 1400px)/2));
  background:
    radial-gradient(circle at 78% 30%,rgba(46,109,76,.32),transparent 34%),
    var(--mc-green-deep);
}
.mc-name__header{display:grid;grid-template-columns:.46fr 1.54fr;gap:80px;align-items:end;margin-bottom:80px;}
.mc-name__header .mc-scene__year{margin:0;}
.mc-name__header h2{
  margin:0;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(70px,10vw,158px);
  font-weight:400;
  font-style:italic;
  line-height:.75;
  letter-spacing:-.055em;
}
.mc-name .mc-scene{width:100%;padding:90px 0;border-color:rgba(255,255,255,.14);}
.mc-name .mc-scene:first-of-type{border-top:1px solid rgba(255,255,255,.14);}
.mc-finale{
  position:relative;
  width:100vw;
  margin-left:calc(50% - 50vw);
  min-height:96svh;
  display:grid;
  align-items:end;
  isolation:isolate;
}
.mc-finale .mc-media{position:absolute;inset:0;z-index:-2;}
.mc-finale .mc-media img{width:100%;height:100%;object-fit:cover;object-position:center 58%;}
.mc-finale::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(0deg,#050706 0%,rgba(5,7,6,.93) 28%,rgba(5,7,6,.18) 72%);
}
.mc-finale .mc-caption{position:absolute;top:22px;left:max(24px,calc((100vw - 1400px)/2));color:rgba(255,255,255,.7);}
.mc-finale__copy{
  width:min(920px,calc(100% - 96px));
  margin:0 auto;
  padding:360px 0 92px;
  text-align:center;
}
.mc-finale__copy p{margin:0 auto 24px;font-size:clamp(18px,1.5vw,22px);line-height:1.7;}
.mc-finale__copy p:nth-last-child(-n+2){
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(52px,7vw,104px);
  line-height:.8;
  letter-spacing:-.04em;
}
.mc-finale__copy p:last-child{color:var(--mc-yellow);font-style:italic;}
.mc-instagram{
  display:grid;
  grid-template-columns:.55fr 1.15fr auto;
  gap:48px;
  align-items:center;
  width:min(1180px,calc(100% - 96px));
  margin:0 auto;
  padding:84px 0 100px;
  border-top:1px solid rgba(255,255,255,.15);
}
.mc-instagram__label{font-size:11px;color:var(--mc-yellow);}
.mc-instagram p{margin:0;color:#c9cdca;font-size:16px;line-height:1.55;}
.mc-instagram a{
  display:inline-flex;
  align-items:center;
  min-height:48px;
  padding:0 22px;
  border:1px solid rgba(255,255,255,.42);
  color:#fff;
  font-size:12px;
  letter-spacing:.08em;
  text-decoration:none;
  text-transform:uppercase;
}
.mc-instagram a:hover,.mc-instagram a:focus-visible{background:#fff;color:#071b14;}
@media (max-width:900px){
  .mc-hero{min-height:auto;padding-top:0;display:block;}
  .mc-hero__media{position:relative;height:min(126vw,72svh);}
  .mc-hero__media img{width:100%;height:100%;object-position:50% 58%;}
  .mc-hero__media::after{background:linear-gradient(0deg,#050706 0%,rgba(5,7,6,.75) 25%,transparent 60%);}
  .mc-hero__content{width:calc(100% - 40px);padding:34px 0 62px;}
  .mc-title{font-size:clamp(68px,22vw,104px);line-height:.76;}
  .mc-lead{font-size:18px;}
  .mc-hero .mc-caption{left:20px;right:20px;bottom:auto;top:calc(min(126vw,72svh) - 52px);}
  .mc-prologue{grid-template-columns:1fr;width:calc(100% - 40px);gap:42px;padding:88px 0;}
  .mc-prologue__mark{font-size:92px;}
  .mc-copy{font-size:17px;line-height:1.68;}
  .mc-story{width:calc(100% - 40px);padding:26px 0 100px;}
  .mc-scene,.mc-scene--right{grid-template-columns:1fr;gap:42px;padding:78px 0;}
  .mc-scene--right .mc-media,.mc-scene--right .mc-copy{grid-column:1;}
  .mc-scene--right .mc-media{grid-row:1;}
  .mc-scene--right .mc-copy{grid-row:2;}
  .mc-scene .mc-media{grid-row:1;}
  .mc-scene .mc-copy{grid-row:2;}
  .mc-scene__title{font-size:clamp(44px,13vw,64px);}
  .mc-scene--milestone{width:100vw;margin-left:calc(50% - 50vw);display:grid;grid-template-columns:1fr;}
  .mc-scene--milestone .mc-media{grid-row:1;}
  .mc-scene--milestone .mc-media img{min-height:0;aspect-ratio:1/1.04;object-position:60% 50%;}
  .mc-scene--milestone .mc-copy{grid-row:2;padding:68px 20px 82px;}
  .mc-name{padding:94px 20px 30px;}
  .mc-name__header{grid-template-columns:1fr;gap:20px;margin-bottom:44px;}
  .mc-name__header h2{font-size:clamp(74px,22vw,118px);line-height:.78;}
  .mc-name .mc-scene{padding:72px 0;}
  .mc-finale{min-height:auto;display:flex;flex-direction:column;}
  .mc-finale .mc-media{position:relative;inset:auto;width:100%;height:auto;z-index:auto;order:1;}
  .mc-finale .mc-media img{aspect-ratio:4/3;object-position:center;}
  .mc-finale::after{display:none;}
  .mc-finale .mc-caption{position:absolute;z-index:1;top:calc((100vw * .75) - 42px);left:20px;right:20px;}
  .mc-finale__copy{order:2;width:100%;padding:66px 20px 82px;background:#050706;}
  .mc-finale__copy p:nth-last-child(-n+2){font-size:clamp(54px,17vw,82px);}
  .mc-instagram{grid-template-columns:1fr;width:calc(100% - 40px);gap:20px;padding:64px 0 80px;}
  .mc-instagram a{justify-content:center;margin-top:10px;}
}
@media (prefers-reduced-motion:reduce){.mc-article *{scroll-behavior:auto!important;}}
