.case-page--hikari {
  --hikari-green: #6f836f;
  --hikari-deep-green: #183029;
  --hikari-pink: #aa6f7c;
  --hikari-red: #a65f5d;
  --hikari-gold: #bd9664;
  background: #f6f2ec;
}

.case-page--hikari .case-hero {
  width: 100vw;
  margin: -2rem calc((100vw - var(--shell)) / -2) 0;
  padding: clamp(3rem, 5vw, 5.5rem) calc((100vw - var(--shell)) / 2);
  background:
    radial-gradient(circle at 88% 18%, rgba(190, 111, 129, .22), transparent 30%),
    linear-gradient(118deg, #e4ebe1, #eadfe0 52%, #efd9dc);
}
.case-page--hikari .case-intro .eyebrow { margin-bottom: .8rem; color: var(--hikari-green); }
.case-page--hikari .case-intro h1 { color: #9a626d; }
.case-page--hikari .case-facts { padding-top: 0; border-top: 0; }
.case-page--hikari .case-facts > div { grid-template-columns: 5.2rem minmax(0, 1fr); gap: 1rem; }
.case-page--hikari .case-facts dt { color: #6f806d; font-weight: 500; }
.hikari-featured { aspect-ratio: 16 / 9; }
.hikari-featured .case-play img { width: 100%; height: 100%; object-fit: cover; }

.hikari-premise {
  display: grid;
  grid-template-columns: minmax(14rem, .72fr) minmax(0, 1.28fr);
  gap: clamp(3rem, 6vw, 6rem);
  width: 100vw;
  margin: 0 calc((100vw - var(--shell)) / -2);
  padding: clamp(3rem, 5vw, 4.8rem) calc((100vw - var(--shell)) / 2 + clamp(2.5rem, 6vw, 6rem));
  background: linear-gradient(110deg, #e5ebe1, #ebe1e2 55%, #eedcdf);
}
.hikari-premise h2,
.hikari-season-copy h2 {
  margin: 0;
  font: 300 clamp(2rem, 3.25vw, 3.5rem)/1 var(--serif);
  letter-spacing: -.035em;
}
.hikari-premise > p,
.hikari-season-copy > p:not(.eyebrow) {
  max-width: 60ch;
  margin: 0;
  color: var(--muted);
  font-size: .98rem;
  line-height: 1.8;
}
.hikari-premise > p { padding-top: 1.15rem; }

.hikari-season {
  padding: clamp(3.4rem, 6vw, 6rem) clamp(2.5rem, 6vw, 6rem);
  border-top: 1px solid var(--line);
}
.hikari-season-copy {
  display: grid;
  grid-template-columns: minmax(14rem, .72fr) minmax(0, 1.28fr);
  column-gap: clamp(3rem, 6vw, 6rem);
  margin-bottom: clamp(2.2rem, 4vw, 3.6rem);
}
.hikari-season-copy .eyebrow,
.hikari-season-copy h2 { grid-column: 1; }
.hikari-season-copy > p:not(.eyebrow) { grid-column: 2; grid-row: 1 / span 2; padding-top: 1.15rem; }
.hikari-season--christmas {
  background: linear-gradient(118deg, #f7f2ed, #f1e7e8 58%, #e9eee6);
}
.hikari-season--christmas .eyebrow { color: var(--hikari-green); }
.hikari-season--newyear {
  width: 100vw;
  margin-inline: calc((100vw - var(--shell)) / -2);
  padding-inline: calc((100vw - var(--shell)) / 2 + clamp(2.5rem, 6vw, 6rem));
  border: 0;
  background:
    radial-gradient(circle at 78% 18%, rgba(178, 86, 108, .18), transparent 30%),
    var(--hikari-deep-green);
  color: #f8f4ed;
}
.hikari-season--newyear .eyebrow { color: #d5ae75; }
.hikari-season--newyear .hikari-season-copy > p { color: rgba(248,244,237,.69); }
.hikari-season--comingofage {
  background:
    radial-gradient(circle at 80% 25%, rgba(185, 103, 126, .17), transparent 30%),
    linear-gradient(115deg, #f7f1ed, #f0e1e4 58%, #e8eee5);
}
.hikari-season--comingofage .eyebrow { color: var(--hikari-pink); }
.hikari-season--celebration {
  width: 100vw;
  margin-inline: calc((100vw - var(--shell)) / -2);
  padding-inline: calc((100vw - var(--shell)) / 2 + clamp(2.5rem, 6vw, 6rem));
  border: 0;
  background: linear-gradient(115deg, #eedcde, #e9e5df 52%, #dfe9de);
}
.hikari-season--celebration .eyebrow { color: var(--hikari-red); }

.hikari-video-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.5rem); }
.hikari-video-grid--single { grid-template-columns: minmax(0, 1fr); }
.hikari-video-grid--single .hikari-video-card { width: min(100%, 48rem); }
.hikari-video-card { min-width: 0; }
.hikari-video-card small { display: block; margin-bottom: .7rem; color: var(--muted); font-size: .66rem; letter-spacing: .09em; text-transform: uppercase; }
.hikari-season--newyear .hikari-video-card small { color: rgba(248,244,237,.58); }
.hikari-embed { aspect-ratio: 16 / 9; overflow: hidden; border-radius: .32rem; background: #050506; box-shadow: 0 .8rem 2rem rgba(39,31,33,.08); }
.hikari-embed iframe { display: block; width: 100%; height: 100%; border: 0; }
.hikari-video-card > a { display: inline-block; margin-top: .65rem; color: inherit; font-size: .72rem; text-underline-offset: .2rem; }

.case-page--hikari .case-contribution { margin-block: clamp(2rem, 4vw, 3rem); }
.hikari-reflection {
  grid-template-columns: minmax(14rem, .72fr) minmax(0, 1.28fr);
  gap: clamp(3rem, 6vw, 6rem);
  padding: clamp(1.75rem, 3vw, 2.65rem) clamp(2.5rem, 6vw, 6rem);
  border: 0;
  border-radius: .4rem;
  background: linear-gradient(110deg, #e1e9df, #eadfe1 56%, #efdadd);
}
.hikari-reflection h2 { color: #8f626b; }

@media (max-width: 800px) {
  .case-page--hikari .case-intro h1 { font-size: clamp(2.35rem, 6vw, 2.9rem); }
  .case-page--hikari .case-lead { max-width: none; }
  .hikari-premise,
  .hikari-season-copy,
  .hikari-reflection { grid-template-columns: 1fr; }
  .hikari-premise { gap: .8rem; }
  .hikari-premise h2,
  .hikari-season-copy h2 { font-size: clamp(1.55rem, 3.6vw, 1.8rem); }
  .hikari-premise > p,
  .hikari-season-copy > p:not(.eyebrow) { max-width: none; padding-top: 0; }
  .hikari-season { padding-inline: 0; }
  .hikari-season--newyear,
  .hikari-season--celebration { padding-inline: calc((100vw - var(--shell)) / 2); }
  .hikari-season-copy .eyebrow,
  .hikari-season-copy h2,
  .hikari-season-copy > p:not(.eyebrow) { grid-column: 1; grid-row: auto; }
}

@media (max-width: 520px) {
  .hikari-premise,
  .hikari-season { padding-block: 2.8rem; }
  .hikari-video-grid { grid-template-columns: 1fr; gap: 2rem; }
  .hikari-video-grid--single .hikari-video-card { width: 100%; }
}
