.band--opening { padding-top: calc(var(--band-pad) * 0.62); }
.svc-opening-title { margin-bottom: var(--space-3); }
.svc-opening > .lead { margin-bottom: var(--space-3); }
.svc-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-3);
  margin: 0 0 var(--space-5);
  max-width: none;
}
.svc-secondary {
  font-family: var(--font-body);
  font-weight: var(--weight-bold);
  color: var(--color-blue);
}
.band-blue .svc-secondary { color: var(--color-on-blue); }
.svc-figure {
  margin: var(--space-5) 0 0;
  max-width: none;
}
.svc-eyebrow {
  font-family: var(--font-body);
  font-weight: var(--weight-bold);
  font-size: var(--type-small);
  letter-spacing: var(--track-wide);
  text-transform: uppercase;
  color: var(--color-ink-soft);
  margin: 0 0 var(--space-2);
  max-width: none;
}
.svc-eyebrow.is-after { color: var(--color-blue-deep); }
.svc-arrow {
  align-self: center;
  color: var(--color-rule-strong);
  flex: 0 0 auto;
}
.svc-fill {
  display: flex;
  align-items: stretch;
  gap: var(--space-4);
}
.svc-fill-side { display: flex; flex-direction: column; }
.svc-fill-side:first-child { flex: 0 0 auto; }
.svc-fill-side:last-child { flex: 1 1 auto; min-width: 0; }
.svc-form {
  background: var(--color-white);
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
  padding: var(--space-3);
  width: 15.5rem;
  max-width: 100%;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}
.svc-form-title {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  font-size: var(--type-body);
  color: var(--color-ink);
  margin: 0;
  max-width: none;
}
.svc-form-rows {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: var(--space-2);
  flex: 1 1 auto;
}
.svc-form-rows > div { display: flex; flex-direction: column; gap: 5px; }
.svc-form-label {
  font-family: var(--font-body);
  font-weight: var(--weight-bold);
  font-size: 0.6875rem;
  letter-spacing: var(--track-wide);
  text-transform: uppercase;
  color: var(--color-ink-soft);
}
.svc-written {
  display: block;
  height: 7px;
  border-radius: 3px;
  background: var(--color-ink);
}
.w-92 { width: 92%; }
.w-78 { width: 78%; }
.w-64 { width: 64%; }
.w-50 { width: 50%; }
.svc-stack {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: var(--space-2);
  flex: 1 1 auto;
  align-content: center;
}
.svc-mini {
  background: var(--color-blue);
  border-radius: var(--radius-sm);
  padding: 9px 9px 11px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  height: 66px;
}
.svc-mini-bar {
  display: block;
  height: 5px;
  width: 58%;
  border-radius: 3px;
  background: color-mix(in srgb, var(--color-on-blue) 92%, transparent);
}
.svc-mini-row {
  display: block;
  height: 3px;
  border-radius: 2px;
  background: color-mix(in srgb, var(--color-on-blue) 52%, transparent);
}
.svc-lede { display: block; }
@media (min-width: 900px) {
  .svc-lede {
    display: grid;
    grid-template-columns: minmax(0, 21rem) minmax(0, 1fr);
    gap: var(--space-4);
    align-items: start;
  }
  .svc-lede > h2 { margin-bottom: 0; text-wrap: balance; }
  .svc-lede-body > :last-child { margin-bottom: 0; }
}
.svc-changes {
  list-style: none;
  margin: var(--space-3) 0 0;
  padding: 0;
  max-width: none;
}
@media (min-width: 900px) {
  .svc-changes { margin-top: 0; }
}
.svc-changes > li {
  display: grid;
  grid-template-columns: 1.75rem 1fr;
  gap: var(--space-2);
  border-top: 1px solid var(--color-rule);
  padding: var(--space-3) 0;
}
.svc-changes > li:first-child { border-top: none; padding-top: 0; }
.svc-changes > li:last-child { padding-bottom: 0; }
.svc-tick {
  width: 1.5rem;
  height: 1.5rem;
  margin-top: 0.2rem;
  color: var(--color-blue);
  flex: 0 0 auto;
}
.svc-changes h3 { margin-bottom: var(--space-1); }
.svc-changes p { margin-bottom: 0; }
.svc-year {
  display: flex;
  align-items: stretch;
  gap: var(--space-3);
}
.svc-year-side { flex: 1 1 0; min-width: 0; }
.svc-months {
  position: relative;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: clamp(3px, 0.6vw, 7px);
  align-items: end;
  height: 132px;
  border-bottom: 2px solid var(--color-rule-strong);
  padding-bottom: 0;
}
.svc-months::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 124px;
  border-top: 1px dashed var(--color-rule-strong);
  opacity: 0.5;
}
.svc-month { display: block; align-self: end; border-radius: 3px 3px 0 0; }
.svc-month--day {
  height: 124px;
  background: color-mix(in srgb, var(--color-rule-strong) 62%, var(--color-white));
  border-top: 3px solid var(--color-ink-soft);
}
.svc-month--run { height: 5px; background: var(--color-blue); }
.svc-month--none { height: 2px; background: var(--color-rule); }
.svc-year-labels {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: clamp(4px, 1vw, 10px);
  margin: var(--space-1) 0 0;
  max-width: none;
}
.svc-year-labels span {
  font-family: var(--font-body);
  font-weight: var(--weight-bold);
  font-size: 0.6875rem;
  letter-spacing: 0.04em;
  color: var(--color-ink-soft);
  text-align: center;
}
.svc-year-line {
  font-family: var(--font-display);
  font-weight: var(--weight-bold);
  font-size: 1.0625rem;
  color: var(--color-ink-soft);
  margin: var(--space-2) 0 0;
  max-width: none;
}
.svc-year-line.is-after {
  font-weight: var(--weight-display);
  font-size: clamp(1.125rem, 0.9rem + 0.9vw, 1.375rem);
  color: var(--color-blue);
}
.svc-quote blockquote {
  margin: 0;
  max-width: 42rem;
  font-family: var(--font-display);
  font-weight: var(--weight-body);
  font-size: var(--type-lead);
  line-height: var(--line-lead);
  color: var(--color-ink);
}
.svc-quote blockquote p {
  color: inherit;
  max-width: none;
  margin: 0;
}
.svc-quote::before {
  content: "";
  display: block;
  width: 48px;
  height: 4px;
  border-radius: 999px;
  background: var(--color-crimson);
  margin: 0 0 var(--space-4);
}
.svc-quote figcaption {
  font-family: var(--font-body);
  font-size: var(--type-small);
  font-weight: var(--weight-bold);
  letter-spacing: var(--track-wide);
  text-transform: uppercase;
  color: var(--color-ink-soft);
  margin-top: var(--space-3);
}
.svc-close h2 { text-wrap: balance; }
.svc-close .svc-actions { margin-bottom: 0; }
@media (max-width: 900px) {
  .svc-fill { flex-direction: column; gap: var(--space-3); }
  .svc-form { width: 100%; }
  .svc-fill > .svc-arrow { transform: rotate(90deg); align-self: center; }
  .svc-stack { grid-template-columns: repeat(4, 1fr); }
  .svc-mini { height: 58px; }
}
@media (max-width: 620px) {
  .svc-year { flex-direction: column; gap: var(--space-2); }
  .svc-year > .svc-arrow { transform: rotate(90deg); }
  .svc-months { height: 104px; }
  .svc-months::before { bottom: 98px; }
  .svc-month--day { height: 98px; }
  .svc-month--run { height: 4px; }
}
@media (max-width: 480px) {
  .svc-year-labels span { font-size: 0.625rem; }
  .svc-stack { grid-template-columns: repeat(3, 1fr); gap: var(--space-1); }
  .svc-mini { padding: 7px 6px 8px; height: 52px; }
  .svc-changes > li { grid-template-columns: 1.35rem 1fr; }
  .svc-tick { width: 1.15rem; height: 1.15rem; }
}
