/*
  MiniMoto Gallery — restrained editorial home
  Smaller headings and intentional, native disclosure.
*/

.current-program {
  padding-bottom: clamp(28px, 4vw, 52px);
}

.current-program-main {
  grid-template-columns: minmax(0, 1fr) minmax(250px, 360px);
  align-items: end;
  padding-top: clamp(28px, 5vw, 72px);
}

.current-program-copy h1 {
  max-width: 17ch;
  margin: 15px 0 17px;
  font-size: clamp(40px, 5.2vw, 82px);
  font-weight: 530;
  font-stretch: 96%;
  line-height: .94;
  letter-spacing: -.045em;
  text-transform: none;
  text-wrap: balance;
}

.current-program-label,
.current-program-meta {
  letter-spacing: .02em;
}

.current-program-actions {
  gap: 10px;
}

.current-program-actions a,
.current-program-actions button {
  min-height: 37px;
  padding: 0 0 7px;
  border: 0;
  border-bottom: 1px solid currentColor;
  background: transparent !important;
  color: inherit !important;
}

.current-program-actions a:hover,
.current-program-actions button:hover {
  border-color: var(--red);
  color: var(--red) !important;
}

.current-program-details {
  max-width: 760px;
  margin: clamp(28px, 4vw, 48px) 0 0;
  border-top: 1px solid rgba(15,15,15,.45);
}

.current-program-details summary {
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  cursor: pointer;
  list-style: none;
  font: 9px/1.2 var(--font-mono);
  text-transform: uppercase;
}

.current-program-details summary::-webkit-details-marker {
  display: none;
}

.current-program-details summary::after {
  content: "+";
  color: var(--red);
  font-size: 14px;
}

.current-program-details[open] summary::after {
  content: "−";
}

.current-program-details p {
  max-width: 690px;
  margin: 0;
  padding: 2px 0 22px;
  font-size: clamp(14px, 1.08vw, 18px);
  line-height: 1.35;
}

.battle-header {
  min-height: 166px;
}

.battle-title-block {
  justify-content: center;
}

.battle-title-block h2 {
  max-width: none;
  margin: 13px 0 0;
  font-size: clamp(38px, 4.4vw, 68px);
  font-weight: 520;
  font-stretch: 98%;
  line-height: 1;
  letter-spacing: -.038em;
  text-transform: none;
}

.battle-subtitle {
  max-width: 560px;
  margin-top: 13px;
}

.battle-about > p:not(.section-number) {
  max-width: 460px;
  font-size: clamp(14px, 1.1vw, 18px);
  line-height: 1.25;
  text-transform: none;
}

.gallery-framework {
  padding-top: clamp(54px, 7vw, 96px);
}

.gallery-framework-head h2 {
  max-width: none;
  font-size: clamp(38px, 4.8vw, 72px);
  font-weight: 520;
  font-stretch: 98%;
  line-height: 1;
  letter-spacing: -.04em;
}

.gallery-framework-head > div > p {
  max-width: 660px;
  margin-top: 22px;
  font-size: clamp(16px, 1.25vw, 21px);
  line-height: 1.3;
}

.gallery-framework-grid {
  align-items: start;
}

.gallery-framework-item {
  min-height: 132px;
  border-right: 1px solid var(--black);
}

.gallery-framework-item:last-child {
  border-right: 0;
}

.gallery-framework-item summary {
  min-height: 132px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: start;
  gap: 18px;
  padding: 22px;
  cursor: pointer;
  list-style: none;
}

.gallery-framework-item summary::-webkit-details-marker {
  display: none;
}

.gallery-framework-number,
.gallery-framework-marker {
  color: var(--red);
  font: 10px/1.2 var(--font-mono);
}

.gallery-framework-item h3 {
  margin: 0;
  font-size: clamp(24px, 2.2vw, 38px);
  font-weight: 540;
  font-stretch: 98%;
  line-height: .95;
  letter-spacing: -.035em;
}

.gallery-framework-marker {
  font-size: 16px;
}

.gallery-framework-item[open] .gallery-framework-marker {
  font-size: 0;
}

.gallery-framework-item[open] .gallery-framework-marker::after {
  content: "−";
  font-size: 16px;
}

.gallery-framework-item > p {
  max-width: 420px;
  margin: 0;
  padding: 0 22px 26px 58px;
  font-size: 14px;
  line-height: 1.4;
}

@media (max-width: 1080px) {
  .current-program-main {
    grid-template-columns: 1fr;
  }

  .current-program-actions {
    max-width: 560px;
    margin-top: 30px;
  }

  .gallery-framework-grid {
    grid-template-columns: 1fr;
  }

  .gallery-framework-item {
    border-right: 0;
    border-bottom: 1px solid var(--black);
  }

  .gallery-framework-item:last-child {
    border-bottom: 0;
  }
}

@media (max-width: 720px) {
  .current-program-copy h1 {
    font-size: clamp(40px, 12.5vw, 70px);
    line-height: .96;
  }

  .current-program-actions {
    margin-top: 25px;
  }

  .battle-header {
    min-height: auto;
  }

  .battle-title-block h2,
  .gallery-framework-head h2 {
    font-size: clamp(38px, 11vw, 58px);
  }

  .gallery-framework-item summary {
    min-height: 105px;
    padding: 20px 0;
  }

  .gallery-framework-item > p {
    padding: 0 0 24px 36px;
  }
}

html[lang="zh-CN"] .current-program-copy h1,
html[lang="zh-CN"] .battle-title-block h2,
html[lang="zh-CN"] .gallery-framework-head h2,
html[lang="zh-CN"] .gallery-framework-item h3 {
  font-stretch: 100%;
  letter-spacing: -.018em;
}
