/* Gladioz — Classes */
.tracks { padding: 60px 0 100px; }
.track-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.track { padding: 56px 48px; border-right: 1px solid var(--rule); transition: background 0.5s; }
.track:last-child { border-right: 0; }
.track:hover { background: var(--paper-2); }
.t-num { color: var(--maroon); display: block; margin-bottom: 24px; }
.track h2 {
  font-size: clamp(2.2rem, 5vw, 4rem);
  font-weight: 300;
  line-height: 1;
  margin-bottom: 24px;
  font-variation-settings: 'opsz' 144, 'SOFT' 50, 'WONK' 1;
}
.track h2 em { font-style: italic; color: var(--maroon); }
.t-lede { font-family: var(--serif); font-size: 1.2rem; font-weight: 300; color: var(--ink-2); margin-bottom: 32px; max-width: 40ch; line-height: 1.55; }
.t-list { list-style: none; border-top: 1px solid var(--rule); }
.t-list li { padding: 14px 0; border-bottom: 1px solid var(--rule); display: grid; grid-template-columns: 140px 1fr; gap: 16px; font-size: 0.95rem; color: var(--ink-2); }
.t-list .mono-sm { color: var(--ink-3); padding-top: 4px; }
@media (max-width: 720px) {
  .track-grid { grid-template-columns: 1fr; }
  .track { border-right: 0; border-bottom: 1px solid var(--rule); padding: 40px 24px; }
  .track:last-child { border-bottom: 0; }
}

/* ages */
.ages { padding: 100px 0; background: var(--paper-2); border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.sec-head { margin-bottom: 56px; }
.sec-head .mono { display: block; margin-bottom: 18px; }
.sec-head h2 { font-size: clamp(2.2rem, 5vw, 4.6rem); }
.sec-head h2 em { color: var(--maroon); font-style: italic; }
.sec-head .lede { font-family: var(--serif); font-size: 1.15rem; font-weight: 300; color: var(--ink-2); max-width: 56ch; margin-top: 24px; }

.age-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border-top: 1px solid var(--rule); }
.age { padding: 36px 28px; border-right: 1px solid var(--rule); border-bottom: 1px solid var(--rule); transition: background 0.4s; }
.age:nth-child(4n) { border-right: 0; }
.age:hover { background: var(--paper); }
.age-band { display: inline-block; padding: 4px 10px; border: 1px solid var(--maroon); color: var(--maroon); border-radius: 999px; margin-bottom: 24px; font-size: 0.62rem; }
.age h3 {
  font-size: 1.6rem;
  font-weight: 300;
  margin-bottom: 12px;
  font-variation-settings: 'opsz' 144, 'SOFT' 50, 'WONK' 1;
}
.age p { font-size: 0.95rem; color: var(--ink-2); line-height: 1.55; }
@media (max-width: 860px) { .age-grid { grid-template-columns: 1fr 1fr; } .age:nth-child(2n) { border-right: 0; } }
@media (max-width: 500px) { .age-grid { grid-template-columns: 1fr; } .age { border-right: 0; } }

/* format */
.format { padding: 120px 0; }
.format-grid { display: grid; grid-template-columns: 1fr 1.4fr; gap: 80px; align-items: start; }
.format-grid .mono { display: block; margin-bottom: 18px; }
.fmt-title { font-size: clamp(2.4rem, 5vw, 4.4rem); }
.fmt-title em { color: var(--maroon); font-style: italic; }

.format-list { list-style: none; border-top: 1px solid var(--rule); }
.format-list li { padding: 28px 0; display: grid; grid-template-columns: 80px 1fr; gap: 32px; border-bottom: 1px solid var(--rule); align-items: start; }
.format-list .mono { color: var(--maroon); padding-top: 6px; }
.format-list h3 { font-size: 1.6rem; font-weight: 300; margin-bottom: 6px; font-variation-settings: 'opsz' 144, 'SOFT' 50, 'WONK' 1; }
.format-list p { font-size: 1rem; color: var(--ink-2); line-height: 1.55; max-width: 50ch; }
@media (max-width: 860px) { .format-grid { grid-template-columns: 1fr; gap: 32px; } }

.cta-band { padding: 140px 0; text-align: center; background: var(--paper-2); border-top: 1px solid var(--rule); }
.cta-inner h2 { font-size: clamp(2.5rem, 6vw, 5rem); margin-bottom: 24px; }
.cta-inner h2 em { font-style: italic; color: var(--maroon); }
.cta-inner p { font-size: 1.2rem; font-weight: 300; color: var(--ink-2); max-width: 50ch; margin: 0 auto 36px; font-style: italic; }
.cta-actions { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
